[C]Problema con ciclo do-while

di il
1 risposte

[C]Problema con ciclo do-while

Salve ragazzi, proponendovi il seguente codice:
void menu(struct spese *conti)
{
	char controllo; float numero;
	do{
	printf("Inserisci l'opzione\n");
	scanf("%c",&controllo);
	switch (controllo)
	{
	case 'c' : printf("Inserisci l'importo\n");
	           scanf("%f",&numero);
	           conti[0].cancelleria=conti[0].cancelleria+numero;
    break;
	case 't' : printf("Inserisci l'importo\n");
	           scanf("%f",&numero);
	           conti[0].telefono=conti[0].telefono+numero;
	break;
	case 'e' : printf ("Inserisci l'importo\n");
			   scanf("%f",&numero);
			   conti[0].elettricita=conti[0].elettricita+numero;
    break;
	case 'a' : printf("Inserisci l'importo\n");
			   scanf("%f",&numero);
	           conti[0].altro=conti[0].altro+numero;
	break;
	case 'x' : break;}
}
	while(controllo!='x');

}
Mi sapreste dire perchè ciò che scrivo nella printf (lasciando perdere che non c'è la descrizione di quello che avviene nello switch, era per comodità) dopo che cicla me lo scrive due volte? In pratica funziona perfettamente ma ad ogni ciclo scrive due volte ciò che c'è nella printf invece di una. Grazie in anticipo per l'aiuto!

1 Risposte

Devi accedere o registrarti per scrivere nel forum
1 risposte