View Full Version : [C] Problema strano con 3 istr. printf..
Ciao a tutti..
Sto sperimentando da newbie un semplice programmino in C per calcolare i consumi di carburante della mia auto..
Se scrivo però:
#include <stdio.h>
#include <stdlib.h>
main ()
{
float p; /* prezzo pagato al benzinaio */
float cl; /*prezzo al litro della benzina */
float sl; /* sconto al litro della benzina */
float lr; /* litri riforniti dalla pompa di benzina */
float kp; /* kilometri percorsi in totale dalla data del rifonimento */
float kl; /* kilometri percorsi al litro */
float lk; /* consumo di litri benzina ogni 100 km */
printf("Ciao, dimmi quanto hai pagato al benzinaio per il rifornimento del carburante\n"); //inserisco la somma pagata al benzinaio
scanf("%f", &p);
printf("Ok, adesso dimmi quanto ti e' costato al litro il carburante\n");
scanf("%f", &cl);
printf("Ok, adesso dovresti dirmi lo sconto applicato al litro di carburante\n");
scanf("%f", &sl);
printf("ciao");
}
Il problema è che appena inserisco il valore alla variabile sl all'invio il programma termina ed esce dal prompt...
Chi mi aiuta? Non riesco a capire perchè..
Fenomeno85
09-04-2006, 12:24
inserisci system ("PAUSE");
~§~ Sempre E Solo Lei ~§~
non l'ho inserito di proposito. Se poi premo qualsiasi tasto il programma esce..
Io voglio poi fare dei calcoli su quelle tre variabili..
Per esempio printf("ciao") non lo esegue il programma e non capisco perchè si ferma..
Fenomeno85
09-04-2006, 12:31
ti ho detto che cosa devi inserire ... il programma ti fa visualizzare ciao .. solo che fa anche il kill del terminal.
Quindi o mandi in esecuzione il programma da console oppure usi l'istruzione che ti ho postato :D
~§~ Sempre E Solo Lei ~§~
ti ho detto che cosa devi inserire ... il programma ti fa visualizzare ciao .. solo che fa anche il kill del terminal.
Quindi o mandi in esecuzione il programma da console oppure usi l'istruzione che ti ho postato :D
~§~ Sempre E Solo Lei ~§~
Ho provato così:
#include <stdio.h>
#include <stdlib.h>
main ()
{
float p; /* prezzo pagato al benzinaio */
float cl; /*prezzo al litro della benzina */
float sl; /* sconto al litro della benzina */
float lr; /* litri riforniti dalla pompa di benzina */
float kp; /* kilometri percorsi in totale dalla data del rifonimento */
float kl; /* kilometri percorsi al litro */
float lk; /* consumo di litri benzina ogni 100 km */
printf("Ciao, dimmi quanto hai pagato al benzinaio per il rifornimento del carburante\n"); //inserisco la somma pagata al benzinaio
scanf("%f", &p);
printf("Ok, adesso dimmi quanto ti e' costato al litro il carburante\n");
scanf("%f", &cl);
printf("Ok, adesso dovresti dirmi lo sconto applicato al litro di carburante\n");
scanf("%f", &sl);
printf("ciao");
system("pause");
}
Ma appena inserisco il valore per sl mi si chiude...
Forse è il compilatore dev-c++ il problema?
Fenomeno85
09-04-2006, 12:34
per la cronaca:
1) non hai dichiarato il main come int e manca quindi il return
2) manca l'indentazione.
~§~ Sempre E Solo Lei ~§~
per la cronaca:
1) non hai dichiarato il main come int e manca quindi il return
2) manca l'indentazione.
~§~ Sempre E Solo Lei ~§~
Ok grazie adesso provo.. scusami ma sono proprio all'inizio nel mondo della programmazione..
Fenomeno85
09-04-2006, 12:42
tranquillo comunque deve funzionare anche sotto quella ciofeca di dev. Se hai tempo scaricati e usa VC 2005 express che è gratis ;)
#include <windows.h>
#include <conio.h>
#include <stdio.h>
int main (){
float p; /* prezzo pagato al benzinaio */
float cl; /*prezzo al litro della benzina */
float sl; /* sconto al litro della benzina */
float lr; /* litri riforniti dalla pompa di benzina */
float kp; /* kilometri percorsi in totale dalla data del rifonimento */
float kl; /* kilometri percorsi al litro */
float lk; /* consumo di litri benzina ogni 100 km */
printf("Ciao, dimmi quanto hai pagato al benzinaio per il rifornimento del carburante\n"); //inserisco la somma pagata al benzinaio
scanf("%f", &p);
printf("Ok, adesso dimmi quanto ti e' costato al litro il carburante\n");
scanf("%f", &cl);
printf("Ok, adesso dovresti dirmi lo sconto applicato al litro di carburante\n");
scanf("%f", &sl);
printf("ciao");
system ("PAUSE");
return 0;
}
~§~ Sempre E Solo Lei ~§~
Ok grazie adesso provo.. scusami ma sono proprio all'inizio nel mondo della programmazione..
Ho provato ma nn riesco..puoi aiutarmi? :muro:
Fenomeno85
09-04-2006, 12:54
riuscito?
~§~ Sempre E Solo Lei ~§~
riuscito?
~§~ Sempre E Solo Lei ~§~
No nn riesco a capire come fare per fargli andare avanti nel codice al posto di uscire..
Fenomeno85
09-04-2006, 14:04
?? lui fa quello che tu imponi (almeno per queste cose :asd: )
~§~ Sempre E Solo Lei ~§~
?? lui fa quello che tu imponi (almeno per queste cose :asd: )
~§~ Sempre E Solo Lei ~§~
ho risolto poi.. per fortuna.. :)
#include <stdio.h>
#include <stdlib.h>
main()
{
float p; /* prezzo pagato al benzinaio */
float cl; /*prezzo al litro della benzina */
float sl; /* sconto al litro della benzina */
float lr; /* litri erogati dalla pompa di benzina */
float kp; /* kilometri percorsi in totale dal rifonimento */
float kl; /* kilometri percorsi al litro */
float lk; /* consumo di litri benzina ogni 100 km */
printf("Ciao, dimmi quanto hai pagato al benzinaio per il rifornimento del carburante\n\n");
scanf("%f", &p);
printf("\nOk, adesso dimmi quanto ti e' costato al litro il carburante\n\n");
scanf("%f", &cl);
printf("\nOk, adesso dovresti dirmi lo sconto applicato al litro di carburante\n\n");
scanf("%f", &sl);
lr = p/(cl-sl);//calcolo i litri erogati
printf("\nlitri erogati: %.2f\n\n", lr);
printf("\nOK, adesso scrivi quanti kilometri hai percorso prima di ritornare dal benzinaio\n\n");
scanf("%f",&kp);
kl = (kp/lr);//calcolo i kilometri percorsi al litro
printf("\nHai percorso %.3f kilometri al litro!\n\n", kl);
lk = lr/(kp/100);
printf("\nHai consumato %.3f litri di carburante ogni 100 kilometri\n\n", lk);
system("pause");
}
Se hai suggerimenti..
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.