Ir para conteúdo
Fórum Script Brasil
  • 0

Gravar Arquivos TXT em C


Sephiroth

Pergunta

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(&registro_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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...