Buona domenica a tutti volevo chiarirmi un piccolo dubbio riguardante i menù.
In genere io il menù in un file c, per le conoscenze attuali, sono abituato a vederlo con un do{}while(), per essere più chiari :
codice:
int scl;
do{
printf("\n1)Scelta x\n");
printf("2)Scelta y\n");
printf("3)Scelta z\n");
printf("0)Esci");
scanf("%d" ,&scl)
if(scl < 0 || scl > 3)
printf("Errore hai inserito un valore invalido");
switch(scl)
{
case 1:
break;
case 2:
break;
case 3:
break;
}
}while( scl != 0);
oggi, ho visto questo tipo di codice:
codice:
main(){
struct contatto dati[100];
int numero_dati = 0;
for (;;) {
char scelta;
printf("0- Fine\n");
printf("1- Nuovo Inserimento\n");
printf("2- Stampa\n");
printf("3- Ordinamento\n");
printf("4- Scrivi rubrica su file\n");
printf("5- Leggi rubrica da file\n");
printf("Scelta:");
scanf("%c",&scelta);
if (scelta == '0')
break;
else if (scelta == '1') {
struct contatto nuovo_dato;
printf("--------------\n");
printf("Cognome:");
scanf("%s", nuovo_dato.cognome);
printf("Nome:");
scanf("%s", nuovo_dato.nome);
printf("Anno di nascita:");
scanf("%d", &nuovo_dato.anno_nascita);
if (inserimento(dati,numero_dati,nuovo_dato) == 1)
numero_dati++;
else
printf("Inserimento non possibile, cognome gia' presente\n");
}
else if (scelta == '2') {
stampa(dati, numero_dati); break;
sono praticamente uguali o il secondo formato è più indicato del primo?