Advertisement
Guest User

Untitled

a guest
Nov 21st, 2014
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.01 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. typedef struct aluno
  5. {
  6.     char nome[30];
  7.     char matr[10];
  8.     float media;
  9. } Taluno;
  10.  
  11. typedef struct novoaluno
  12. {
  13.     char nome[30];
  14.     char matr[10];
  15.     float media;
  16.     int faltas;
  17. } Tnovoaluno;
  18.  
  19.  
  20. int main()
  21. {
  22.     int resp;
  23.     int teste;
  24.     FILE*arq;
  25.     FILE*arq2;
  26.  
  27.     Taluno aux;
  28.     Taluno AL[10];
  29.     Tnovoaluno aux2;
  30.     Tnovoaluno AL2;
  31.  
  32.     arq=fopen("turmaProgI.dat","wb");
  33.     if(arq==NULL)
  34.         printf("\nErro na criacao do arquivo!");
  35.     else
  36.     {
  37.         do
  38.         {
  39.             printf("\nInforme o nome do aluno: ");
  40.             fgets(AL.nome,29,stdin);fflush(stdin);
  41.             printf("\nInforme a matricula de %s: ",AL.nome);
  42.             fgets(AL.matr,9,stdin);fflush(stdin);
  43.             printf("Informe a media de %s: ",AL.nome);
  44.             scanf("%f",&AL.media);fflush(stdin);
  45.             teste=fwrite(&AL,sizeof(Taluno),1,arq);
  46.  
  47.             if(teste==1)
  48.                 printf("Registro gravado com sucesso!");
  49.             else
  50.             {printf("Erro de gravacao!");break;}
  51.             do
  52.             {
  53.                 printf("Deseja criar outro Registro? ");
  54.                 resp=toupper(getchar());fflush(stdin);
  55.             }
  56.             while(resp!='S'&&resp!='N');
  57.         }
  58.         while(resp=='S');
  59.        fclose(arq);
  60.     }
  61.     arq2=fopen("novoProgI.dat","wb");
  62.     arq=fopen("turmaProgI.dat","rb");
  63.     if(arq2==NULL)
  64.         printf("\nErro na criacao do arquivo!");
  65.     else
  66.     {
  67.         fread(&aux,sizeof(Taluno),1,arq);
  68.         strcpy(AL2.nome,aux.nome);
  69.         strcpy(AL2.matr,aux.matr);
  70.         AL2.media=aux.media;
  71.         AL2.faltas=0;
  72.         fwrite(&AL2,sizeof(Tnovoaluno),1,arq2);
  73.     }
  74.      fclose(arq);
  75.      fclose(arq2);
  76.       arq2=fopen("novoProgI.dat","rb");
  77.      fread(&aux2,sizeof(Tnovoaluno),1,arq2);
  78.  
  79.     printf("%s\n",aux2.nome);
  80.     printf("%s\n",aux2.matr);
  81.     printf("%f\n",aux2.media);
  82.     printf("%d\n",aux2.faltas);
  83.       fclose(arq2);
  84.     return 0;
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement