paloppa ha scritto:
oregon ha scritto:
continue non è una funzione
Come per la break, l'istruzione continue va all'interno di un ciclo.
La break termina il ciclo, la continue riparte dall'inizio.
Ok erroneamente l'ho chiamata funzione , in realtà volevo dire istruzione.
L'istruzione continue , per far ripetere l'inserimento del giorno del mese o dell'anno qualora lo digitasse errato , dove la devo mettere?
l'istruzione continue (così come la break) andrebbe evitata come la peste.
per far inserire all'utente un input che sia considerato valido dal programma (ad esempio, deve inserire un numero da 1 a 10) si fa un do-while che ripete il ciclo finché il numero non è accettabile, ovvero:
do
{
scanf("%d", &num);
} while (num < 1 || num > 10);
e se devi inserire un messaggio d'errore in caso di input errato, ti basta fare un if all'interno del do-while, con la stessa condizione, in questo caso:
do
{
scanf("%d", &num);
if (num < 1 || num > 10)
printf("Inserisci un numero da 1 a 10.");
} while (num < 1 || num > 10);
come puoi vedere, l'istruzione continue è inutile in questo caso, la vedrei meglio in un ciclo for, dove quando i è ad un determinato valore non bisogna fare l'istruzione del for, per esempio:
for (int i = 0; i < 10; i++)
{
if (i == 5)
continue;
tot += i;
}
ma è un'istruzione pericolosa che si evita semplicemente con
for (int i = 0; i < 10; i++)
{
if (i != 5)
tot += i;
}