Ciao A tutti sono nuovo sia del forum che del linguaggio di programmazione .
questo è il mio piccolo e credo per la maggior parte di voi abbastanza ridicolo , ma ho cominciato da un mese a studiare da solo forte solo delle mie conoscenze matematiche .
di seguito vi invio il codice che ho scritto :
codice:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define STORE_FILE "store.dat"
typedef struct{
char libro[30];
char autore[50];
}libro;
main(){
char ty;{
printf("\n\t\t-Menu'di scelta- ");
printf("\n----------------------");
printf("\n1-Inserisci libro ");
printf("\n2-leggi dati ");
}
printf("\n--------------------");
printf("\n\t-Scelta : -",ty);
ty=getchar();
getchar(); //riga che annulla l'invio dopo la scelta (riga inutile).
switch (ty) {
case '1':
FILE *fp;
libro l;
int i;
if(!(fp=fopen(STORE_FILE,"a+b"))){
printf("\nErrore scrittura file%s",STORE_FILE);
exit(1);
}
printf("\n\t\t==>Iserisci<== ");
printf("\n-Autore:");
gets(l.autore);
printf("\n-Titolo:");
gets(l.libro);
if(fwrite(&l,sizeof(l),1,fp)>0){
printf("\nDati scritti OK");
printf("\n----------------");}
else
printf("\nerrore ");
fclose(fp);
break;
case'2':
if(!(fp=fopen(STORE_FILE,"r"))){
printf("\n errore di lettra dei dati%s ",STORE_FILE);
exit(1);
}
while(fread(&l,sizeof(l),1,fp)>0){
printf("\nautore:%s",l.autore);
printf("\nTitolo:%s",l.libro);
printf("\n------------");
i++;
}
int c=i-55;
printf("\n=================");
printf("\n-Titoli letti :%d\n",c);
printf("\n=================");
fclose(fp);
}
}
Ora il mio problema è questo :
dopo aver inserito un record vorrei inserine un altro senza dover chiudere il programma , quindi come faccio a di re al programma vuoi inserire un altro record o vuoi tornare al menù principale .
grazie in an ticipo