Eu tenho uma duvida muito divertida (não pra mim u.u)
Olha só...eu tenho que fazer um programa pra Unicamp que grava alguns dados em TXT...o programa ateh roda qse bonitinho...porque quando pede a nota maxima do vestibular ele fla que o maximo foi excedido, mas se você digitar a mesma nota d novo, ele aceita.
Ele gera o arquivo TXT mas quando abre com o Bloco de Notas, gravou somente parte das informacoes e lixo junto com a parte que intereca. alguém pode me ajudar?
Pergunta
Sephiroth
Bom dia a todos =D
Eu tenho uma duvida muito divertida (não pra mim u.u)
Olha só...eu tenho que fazer um programa pra Unicamp que grava alguns dados em TXT...o programa ateh roda qse bonitinho...porque quando pede a nota maxima do vestibular ele fla que o maximo foi excedido, mas se você digitar a mesma nota d novo, ele aceita.
Ele gera o arquivo TXT mas quando abre com o Bloco de Notas, gravou somente parte das informacoes e lixo junto com a parte que intereca. alguém pode me ajudar?
Algoritimo segue a seguir:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
typedef struct RA
{
int Ra[6];
char nome[40];
char origem[20];
char estado[2];
char exp;
char sexo;
int dia;
int mes;
int ano;
char medio;
int ingresso;
int curso;
int nota;
char cota;
} RA;
RA GetRA();
int main()
{
RA registro_academico;
char resposta;
FILE *fptr;
printf("\t\xC9\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xBB");
printf("\n\t\xBA CADASTRO DE ALUNOS \xBA");
printf("\n\t\xC8\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xBC\n\n\n");
if((fptr = fopen("cadastro_alunos.txt","w+")) == NULL) exit(1);
do{
registro_academico = GetRA();
if(fwrite(®istro_academico,sizeof(registro_academico),1,fptr) != 1) break;
printf("\nMais um RA (S/N)?");
resposta = getche();
system("CLS");
}while(resposta !='N' && resposta !='n');
fclose(fptr);
getch();
}
RA GetRA()
{
RA ra;
FILE *fptr;
printf("\nDigite o RA do aluno: ");
scanf("%d",&ra.Ra);
printf("Digite o nome do aluno: ");
fflush (stdin);
gets(ra.nome);
printf("Digite a cidade de origem de %s: ", ra.nome);
gets(ra.origem);
printf("Digite o estado de origem de %s: ", ra.nome);
gets(ra.estado);
printf("%s possue experiencia previa com informatica?\n");
printf("\tN - nada.\n\tU - como usuario Windows e Internt.\n\tP - Nocoes de programacao.\n\tT - Tecnico ou desenvolvedor na area.\n");
ra.exp = getch();
printf("%s é do sexo M ou F?", ra.nome);
ra.sexo = getch();
printf("\n%s nasceu no dia: ", ra.nome);
scanf("%d", &ra.dia);
printf("do mes: ");
scanf("%d", &ra.mes);
printf("do ano (aaaa): ");
scanf("%d", &ra.ano);
printf("%s cursou o ensino medio em\n", ra.nome);
printf("\tG - 3 anos em escola publica.\n\tP - Escola particular");
ra.medio = getch();
printf("\n%s esta na UNICAMP desde: ", ra.nome);
scanf("%d", &ra.ingresso);
printf("Qual o numero do curso em que %s ingressou? ", ra.nome);
scanf("%d", &ra.curso);
printf("Qual a nota final do vestibular de %s (MAX 96)? ", ra.nome);
scanf("%d", &ra.nota);
if((ra.nota) < 96);
printf("\aNota maxima excedida...tente novamente.");
scanf("%d", &ra.nota);
printf("%s utilizou de alguma cota (S/N)? ", ra.nome);
ra.cota = getche();
rewind(stdin);
return ra;
}
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.