Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #define N 20
- typedef struct schifo{
- char cog_nome[20];
- char matricola;
- int voto;
- }lista;
- int main()
- {
- FILE *punt;
- lista var[N];
- char sel,dato[20],temp[20],temp2[20],nome[20],matricole[20];
- int i=0,j,f,voto,voti,d,h,g;
- for(f=0;f<N;f++)
- {
- var[f].voto=-2;
- }
- while(1)
- {
- printf("inserire lettera per accedere a varie funzioni:\n");
- printf("I per inserire i dati di uno studente\n");
- printf("C per cancellare i dati dello studente con quel nome o per cancellare i dati dello studente con quella matricola.\n");
- printf("V per visualizzare i dati dello studente con quel nome o per visualizzare i dati dello studente con quella matricola.\n");
- printf("P per stampare tutto il data-base. \n");
- printf("L per leggere i dati (già ordinati) dal file con quel nome. \n");
- printf("S per salvare i dati del data-base nel file con quel nome. \n");
- if(sel=='I')
- {
- for(g=0;g<N;g++)
- {
- if(var[g].voto==-3)
- {
- scanf("%s %s %d",var[g].cog_nome,var[g].matricola,&var[g].voto);
- }
- scanf("%s %s %d",var[i].cog_nome,var[i].matricola,&var[i].voto);
- i++;
- }
- if(sel=='C')
- {
- printf("inserisci dato da cancellare");
- scanf("%s",dato);
- if(isdigit(dato[0]))
- {
- for(j=0;j<i;j++)
- {
- if(!strcmp(dato,var[j].matricola))
- {
- var[j].voto==-3;
- }
- }
- }
- if(isalpha(dato[0]))
- {
- for(j=0;j<i;j++)
- {
- if(!strcmp(dato,var[j].matricola))
- {
- var[j].voto==-3;
- }
- }
- }
- }
- if(sel=='V')
- {
- printf("inserisci dato da cancellare");
- scanf("%s",dato);
- if(isdigit(dato[0]))
- {
- for(j=0;j<i;j++)
- {
- if(!strcmp(dato,var[j].matricola))
- {
- printf("%s %s %d",var[j].cog_nome,var[j].matricola,var[j].voto);
- }
- }
- }
- if(isalpha(dato[0]))
- {
- for(j=0;j<i;j++)
- {
- if(!strcmp(dato,var[j].matricola))
- {
- printf("%s %s %d",var[j].cog_nome,var[j].matricola,var[j].voto);
- }
- }
- }
- }
- if((punt=fopen("nomefile.txt","w"))==NULL)
- {
- printf("errore file");
- return 1;
- }
- if(sel=='S')
- {
- for(j=0;j<i;j++)
- {
- strcpy(temp,var[j].cog_nome);
- strcpy(temp2,var[j].matricola);
- voto=var[j].voto;
- for(d=j;d>=0;d--)
- {
- if((strcmp(temp,var[d].cog_nome))<0)
- {
- strcpy(var[d+1].cog_nome,var[d].cog_nome);
- strcpy(var[d].cog_nome,temp);
- strcpy(var[d+1].matricola,var[d].matricola);
- strcpy(var[d].matricola,temp2);
- var[d+1].voto=var[d].voto;
- var[d].voto=voto;
- }
- }
- fprintf(punt,"%s %s %d\n",var[j].cog_nome,var[j].matricola,var[j].voto);
- }
- }
- fclose(punt);
- if(sel=='P')
- {
- for(j=0;j<i;j++)
- {
- if(var[j].voto!=-3)
- {
- printf("%s %s %d",var[j].cog_nome,var[j].matricola,var[j].voto);
- }
- }
- }
- if((punt=fopen("nomefile.txt","r"))==NULL)
- {
- printf("errore file");
- return 1;
- }
- if(sel=='L')
- {
- for(h=0;(fscanf(punt,"%s %s %d",nome,matricole,&voti)!=EOF;h++)
- {
- printf("%s %s %d",nome,matricole,voti);
- }
- return 1;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement