PDA

Visualizza la versione completa : [C] Programma che calcola le tariffe eBay


playbasfa
31-12-2007, 14:33
Eccomi di nuovo qua, con i miei soliti dubbi.
Perchè la getline non mi consente di inserire niente?
Le funzioni sono giuste, l'errore sta nel main..


if ((c=getchar())=='a'){
printf("La tua selezione e' stata a\n");
printf("inserisci il prezzo di vendita non comprensivo di spese di spedizione: \nEuro:");
getline(vettore);
k=atof(vettore);
if (k <= 50){
a=k/100;
b=a*5.25;
s=(k-b-2.5-1-5+4);
printf("La tua parte inclusiva di spese di spedizione e': %d\n", s);
}
}

MacApp
31-12-2007, 15:40
Originariamente inviato da playbasfa
Eccomi di nuovo qua, con i miei soliti dubbi.
Perchè la getline non mi consente di inserire niente?
Le funzioni sono giuste, l'errore sta nel main..


if ((c=getchar())=='a'){
printf("La tua selezione e' stata a\n");
printf("inserisci il prezzo di vendita non comprensivo di spese di spedizione: \nEuro:");
getline(vettore);
k=atof(vettore);
if (k <= 50){
a=k/100;
b=a*5.25;
s=(k-b-2.5-1-5+4);
printf("La tua parte inclusiva di spese di spedizione e': %d\n", s);
}
}

Bisognerebbe sapere cosa faccia la funzione getline..

playbasfa
31-12-2007, 18:32
Ecco le funzioni:
int getline (char vettore[]){
int c,i=0;
while((c=getchar())!= '\n')
vettore [i++]=c;
if (c=='\n')
vettore[i++]=c;

vettore[i]= '\0';
return i;
}

double atof (char vettore[]){
double val, power;
int i, sign;
for (i=0; isspace (vettore[i]); i++)
;
sign = (vettore[i] == '-')? -1 : 1;
if (vettore[i] == '+' || vettore[i] == '-')
i++;
for (val = 0.0; isdigit(vettore[i]); i++)
val = 10.0 * val + (vettore[i] - '0');
if (vettore[i] == '.')
;
for (power = 1.0; isdigit (vettore[i]); i++)
{
val = 10.0 * val + (vettore[i] - '0');
power *= 10.0;
}





Originariamente inviato da MacApp
Bisognerebbe sapere cosa faccia la funzione getline..

Loading