PDA

View Full Version : [C] problemi con scanf()


SimoneR95
17-10-2017, 12:24
Salve a tutti, come da titolo ho scritto un programma che avrebbe dovuto acquisire dei dati di vendita di un intero mese per poi mostrarne un resoconto, perņ quando provo ad inserire i dati lo scanf() sembrerebbe scavalcare il printf() antecedente.
trovate in allegato il testo dell'esercizio...

#include<stdio.h>

int tagliando(int prodotto,int venditore,int guadagno);
int mostraconti(void) ;
int conti[6][5] = {0} ;

int main()
{
int stato=0 ;
int v, p, g ;

while(stato == 0)
{
printf("numero del venditore? (0-3): ");
scanf("%d \n",&v) ;

printf("numero del prodotto? (0-4): ") ;
scanf("%d \n",&p) ;

printf("a quanto ammonta il guadagno?: ") ;
scanf("%d \n",&g) ;

tagliando(p,v,g) ;

printf("e l'ultimo tagliando del mese? (0/1): ") ;
scanf("%d\n",&stato) ;
}
mostraconti() ;
return 0 ;
}
int tagliando(int prodotto,int venditore,int guadagno)
{
conti[prodotto][venditore] += guadagno ;
conti[prodotto][4] += guadagno ;
conti[5][venditore] += guadagno ;
}
int mostraconti()
{
int i,j,k ;
printf("\t\t\t") ;
for (k=0;k<=3;k++)
printf("ve. %d\t",k) ;
printf("guadagni per prodotto\n") ;

for (j=0;j<=4;j++)
{
printf("prodotto numero %d",j) ;
for (i=0;i<=4;i++)
printf("%8d",conti[j][i]) ;
printf("\n") ;
}
printf("guadagni per ven.") ;
for (i=0;i<=4;i++)
printf("%8d",conti[5][i]) ;

}

SimoneR95
17-10-2017, 15:45
\n


non va nella stringa di formato di scanf.

Se rimangono problemi con la scanf, e' utile leggere roba tipo questa:

http://c-faq.com/stdio/stdinflush2.html

grazie, ora funziona tutto. :D