Boa tarde!
Peço desculpas pela ignorância, mas infelizmente C não é minha linguagem dominante, e estou com o seguinte problema para resolver:
-
Criar um arquivo de nome “horoscopo.txt” que deverá ser aberto com a opção “w”.
-
Cada frase deverá ter no máximo 100 caracteres.
-
O programa deverá controlar esse tamanho, não deixando gravar frases maiores que 100 caracteres.
-
O programa deverá acrescentar uma identificação numérica em cada frase, variando de 11 a 22, começando pelo signo de capricórnio, conforme exemplo a seguir:
11cccccccccccccccccccc…ccccccccccccccccccccccccccc //capricórnio
12aaaaaaaaaaaaaaaaaaaa…aaaaaaaaaaaaaaaaaaaaa //aquario
13ppppppppppppppppppp…pppppppppppppppppppp //peixes
…
c, a e p representam respectivamente as frases que devem ser escritas para os signos de capricórnio, aquário e peixes.
- Criar uma estrutura com um campo numérico para as duas posições iniciais e um campo caractere para as 100 posições da frase.
➔ CUIDADO COM O TAMANHO DO CAMPO int PORQUE O NÚMERO DE BYTES DO CAMPO PODE VARIAR DE COMPUTADOR PARA COMPUTADOR.
➔ NÃO ESQUECER DE ACRESCENTAR OS BYTES DE CONTROLE.
-
Criar um array numérico inteiro para identificar os 12 signos (11, 12, 13, …, 20, 21, 22).
-
Criar um array caractere para descrever cada signo e o respectivo período do ano (CAPRICORNIO - 22/12 a 19/01, AQUARIO - 20/01 a 18/02, PEIXES - 19/02 a 20/03, …, LIBRA - 23/09 A 22/10, ESCORPIAO - 23/10 A 21/11, SAGITARIO - 22/11 A 21/12.
-
Gravar a frase.
-
Após ser incluída a última frase, o programa deverá fechar o arquivo.
Até o momento consegui apenas fazer isso:
#include <stdio.h>
#include <strings.h>
#define TAMMAX 100
int main(){
char escreva[12];
FILE *arquivo;
// w para criar arquivo
// se o arquivo já existir, o w faz com que seja criado um novo
arquivo = fopen("horoscopo.txt","w");
printf("O arquivo foi criado!");
arquivo = fopen("horoscopo.txt","w");
printf("\n");
printf("Escreva algo: ");
scanf("%[^\n]", &escreva);
//fgets(escreva, TAMMAX, stdin);
fputs(escreva, arquivo);
fclose(arquivo);
return 0;
}