Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- typedef struct aluno{
- char matr[20];
- char nome[100];
- int faltas;
- float media;
- }Taluno;
- Taluno * criarvetor(int n);
- //void ordenacao(Taluno **turma[],int n);
- int main()
- {
- FILE*arq;
- Taluno al;
- int status;
- Taluno*turma;
- int n=10,i, resp;
- arq=fopen("turma.dat","a+b");
- if(arq==NULL)
- printf("\nErro na criacao do arquivo!");
- else{
- do{
- printf("\nInforme o nome do aluno: ");
- fgets(al.nome,99,stdin);fflush(stdin);
- printf("\nInforme a matricula do aluno: ");
- fgets(al.matr,19,stdin);fflush(stdin);
- printf("\nFaltas do aluno: ");
- scanf("%i",&al.faltas);fflush(stdin);
- printf("\nMedia do aluno: ");
- scanf("%f",&al.media);fflush(stdin);
- status=fwrite(&al,sizeof(Taluno),1,arq);
- if(status==0){
- printf("\nErro na gravacao!");
- break;
- }
- printf("\nDeseja cadastrar outro aluno? ");
- resp=toupper(getchar());fflush(stdin);
- }while(resp=='S');
- turma=criarvetor(n);
- rewind(arq);
- for(i=0;i<n;i++){
- status=fread(&turma[i],sizeof(Taluno),1,arq);
- if(status==0){
- if(feof(arq)==0)
- printf("\nFim do arquivo!");
- else
- printf("\nErro na leitura!");
- }
- }
- int i, j;
- char chave[10];
- for(i=1;i<n;i++){
- strcpy(chave,turma[i].nome);
- j=i-1;
- while(j>=0&&strcmp(turma[j].nome,chave)>0){
- strcpy(turma[j+1].nome,turma[j].nome);
- j=j-1;
- }
- strcpy(turma[j+1].nome,chave);
- }
- }
- return 0;
- }
- Taluno * criarvetor(int n){
- Taluno * vetor;
- vetor=(Taluno *) malloc(n*sizeof(Taluno));
- return vetor;
- }
- /*void ordenacao(Taluno **turma[],int n){
- int i, j;
- char chave[10];
- for(i=1;i<n;i++){
- chave=*turma[i].nome;
- j=i-1;
- while(j>=0&&strcmp(*turma[j].nome,chave)>0){
- turma[j+1].nome=*turma[j].nome;
- j=j-1;
- }
- *turma[j+1].nome=chave;
- }
- }*/
- /* status=fread(&al,sizeof(Taluno),1,arq);
- if(status==0){
- if(feof(arq)==0)
- printf("\nfim de arquivo!");
- else
- printf("\nErro na leitura!");
- }
- else{*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement