Esiste già una discussione che tratta del mio stesso problema ma non mi è stata molto d'aiuto, perciò la ripropongo secondo il mio caso. =)
L'esercizio chiede di inserire un num di partenza, un num di arrivo, il passo e il verso, decrescente o crescente, visualizzando tutti i numeri tra la partenza e l arrivo(compresi partenza e arrivo) secondo il passo e il verso.
Esempio: 0 e 10, passo 2 verso avanti
0 2 4 6 8 10
Ecco il mio codice:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,np,na;
char v;
int a;
printf("Inserire il passo: ");
scanf("%d", &i);
printf("Inserire numero di partenza: ");
scanf("%d", &np);
printf("Inseire numero di arrivo: ");
scanf("%d", &na);
printf("Inserire verso i(indietro) o a(avanti): ");
v=getchar();
switch(v)
{
case 'a':
while (na<=np)
{
printf("Nessun valore da visualizzare, inserire nuovamente numero di partenza e di arrivo");
scanf("%d%d", &np, &na);
}
for (a=np; a<=na; a+=i)
{
printf("%d,", a);
}
printf("\n");
break;
case 'i':
while (na>=np)
{
printf("Nessun valore da visualizzare, inserire nuovamente numero di partenza e di arrivo");
scanf("%d%d", &np, &na);
}
for (a=np; a>=na; a-=i)
{
printf("%d, ", a);
}
printf("\n");
break;
default:
printf("Verso non valido");
break;
return 0;
}
Quando compilo mi da un warning sull ultima riga "control reaches end of non void function [-Wreturn-type]" ed un errore "expected declaration or statement at end of input".
Se ci sono anche errori logici prego di farmeli notare.
Grazie per la disponibilità! =)