SlideShare uma empresa Scribd logo
1 de 2
#include <stdio.h>

#include <stdlib.h>



struct aluno{

      int matricula;

      char nome[51];

      float mensalidade;

};

typedef struct aluno Aluno;



Aluno Entrada_dados(){

      Aluno alu;

      printf("Matricula: ");

      scanf("%d", &alu.matricula);

      printf("Nome: ");

      scanf("%s", alu.nome);

      printf("Mensalidade: ");

      scanf("%f", &alu.mensalidade);

      return alu;

}



int Aluno_Inserir(FILE* fp,Aluno alu){

     Aluno aux;

     fseek(fp,-sizeof(Aluno),SEEK_END);

     while(fread(&aux,sizeof(Aluno),1,fp)){

        if (aux.matricula > alu.matricula){

                    fseek(fp, 0, SEEK_CUR);
fwrite(&aux,sizeof(Aluno),1,fp);

                  fseek(fp,-(sizeof(Aluno)*2),SEEK_CUR);

                  if(ftell(fp) == 0) break;

                  fseek(fp,-(sizeof(Aluno)),SEEK_CUR);

                        }

                        else break;

                        }

    fseek(fp, 0, SEEK_CUR);

    fwrite(&alu, sizeof(Aluno), 1, fp);

}



int main(){

    FILE* fp;

    fp = fopen("Arquivo.txt", "rb+");

    if(fp == NULL)

     fp = fopen("Arquivo.txt", "wb+");

    Aluno alu;

    alu = Entrada_dados();

    Aluno_Inserir(fp, alu);

}

Mais conteúdo relacionado

Destaque

Gobierno de Rafael Correa y la revolución ciudadana
Gobierno de Rafael Correa y la revolución ciudadanaGobierno de Rafael Correa y la revolución ciudadana
Gobierno de Rafael Correa y la revolución ciudadanaCristian SC Cevallos
 
Manual de mantenimiento de una pc
Manual de mantenimiento de una pcManual de mantenimiento de una pc
Manual de mantenimiento de una pcFLoresMEjia
 
Mapa conceptual legislacion penal
Mapa conceptual legislacion penalMapa conceptual legislacion penal
Mapa conceptual legislacion penalrafaarmando34
 
Sudhir Resume - Updated
Sudhir Resume - UpdatedSudhir Resume - Updated
Sudhir Resume - UpdatedSudhir Mishra
 
Direito e economia na regulacao serie gv law
Direito e economia na regulacao   serie gv lawDireito e economia na regulacao   serie gv law
Direito e economia na regulacao serie gv lawLuiz Fernandes Vieira
 
Draft presentation for wrenel (bon air)
Draft presentation for wrenel (bon air)Draft presentation for wrenel (bon air)
Draft presentation for wrenel (bon air)dean dundas
 
what is Aapt UX Star Explorer
what is Aapt UX Star Explorerwhat is Aapt UX Star Explorer
what is Aapt UX Star ExplorerChetana Bhole
 

Destaque (10)

Gobierno de Rafael Correa y la revolución ciudadana
Gobierno de Rafael Correa y la revolución ciudadanaGobierno de Rafael Correa y la revolución ciudadana
Gobierno de Rafael Correa y la revolución ciudadana
 
Manual de mantenimiento de una pc
Manual de mantenimiento de una pcManual de mantenimiento de una pc
Manual de mantenimiento de una pc
 
unidad 2 citologia
unidad 2 citologiaunidad 2 citologia
unidad 2 citologia
 
Mapa conceptual legislacion penal
Mapa conceptual legislacion penalMapa conceptual legislacion penal
Mapa conceptual legislacion penal
 
Sudhir Resume - Updated
Sudhir Resume - UpdatedSudhir Resume - Updated
Sudhir Resume - Updated
 
Direito e economia na regulacao serie gv law
Direito e economia na regulacao   serie gv lawDireito e economia na regulacao   serie gv law
Direito e economia na regulacao serie gv law
 
Radionych
RadionychRadionych
Radionych
 
Draft presentation for wrenel (bon air)
Draft presentation for wrenel (bon air)Draft presentation for wrenel (bon air)
Draft presentation for wrenel (bon air)
 
what is Aapt UX Star Explorer
what is Aapt UX Star Explorerwhat is Aapt UX Star Explorer
what is Aapt UX Star Explorer
 
ISO - Support
ISO - SupportISO - Support
ISO - Support
 

Tutorial de uso de arquivo em linguagem c

  • 1. #include <stdio.h> #include <stdlib.h> struct aluno{ int matricula; char nome[51]; float mensalidade; }; typedef struct aluno Aluno; Aluno Entrada_dados(){ Aluno alu; printf("Matricula: "); scanf("%d", &alu.matricula); printf("Nome: "); scanf("%s", alu.nome); printf("Mensalidade: "); scanf("%f", &alu.mensalidade); return alu; } int Aluno_Inserir(FILE* fp,Aluno alu){ Aluno aux; fseek(fp,-sizeof(Aluno),SEEK_END); while(fread(&aux,sizeof(Aluno),1,fp)){ if (aux.matricula > alu.matricula){ fseek(fp, 0, SEEK_CUR);
  • 2. fwrite(&aux,sizeof(Aluno),1,fp); fseek(fp,-(sizeof(Aluno)*2),SEEK_CUR); if(ftell(fp) == 0) break; fseek(fp,-(sizeof(Aluno)),SEEK_CUR); } else break; } fseek(fp, 0, SEEK_CUR); fwrite(&alu, sizeof(Aluno), 1, fp); } int main(){ FILE* fp; fp = fopen("Arquivo.txt", "rb+"); if(fp == NULL) fp = fopen("Arquivo.txt", "wb+"); Aluno alu; alu = Entrada_dados(); Aluno_Inserir(fp, alu); }