PDA

View Full Version : [C++] aiuto!! non riesco a far eseguire i programmi


Turboman
07-04-2008, 17:40
Avrei un problema da risolvere; quando vado ad eseguire il programma dopo avere compilato mi appare la schermata nera di dos, immetto il dato e premendo invio mi si chiude la finestra e non mi dà alcun risultato. Ho scritto un programmino che converte la temp da celsius a fahrenei ma quando vado a immettere la temp e premo invio mi si chiude la scheramta del dos, mi sapreste dire come mai, devo forse impostare qualcosa sul programma DevC++ che utilizzo come editor, fatemi sapere come si fa per piacere, grazie

m.distrutti
07-04-2008, 17:43
SYSTEM("Pause");

inseriscila come ultima riga di codice prima di terminare il programma,
altrimenti posta il codice:)

Turboman
07-04-2008, 17:57
#include <stdio.h>

main(){
float c, f;
printf("Inserisci la temperatura da convertire:\n");
scanf("%f", &c);
f = 32 + c*9/5;
printf("Temperatura Fahreneit %f", f);
}


non mi sembra ci siano errori

Turboman
07-04-2008, 17:57
SYSTEM("Pause");

inseriscila come ultima riga di codice prima di terminare il programma,
altrimenti posta il codice:)

come dici tu mi dà errore, non funziona

m.distrutti
07-04-2008, 18:04
ops scusa

piccolo errore :)

system("PAUSE");

altrimenti usa la getchar();

dato che a nessunno piace system("PAUSE") ;)

Turboman
07-04-2008, 18:46
non funziona lo stesso, il problema è che mi da lo stesso problema anche con altri programmi, come si fa allora??

khelidan1980
07-04-2008, 18:51
a parte che manca un return alla fine ma è questione di un warning,quel codice da me compila e funziona,il problema sta in una qualche configurazione del tuo sistema

T-Jack
07-04-2008, 18:59
Potresti provare la funzione _kbhit() (definita in conio.h) in questa maniera:

while( !_kbhit() );

xblitz
07-04-2008, 19:08
NOOOOOO vi prego la conio no :cry: (scusate ho brutti ricordi con 'sta libreria)

tornando al problema:
basta includere la cstdlib e usare system("PAUSE");

ciao

wingman87
07-04-2008, 19:33
Oppure lanci il programma da dos. Oppure crei un batch con su scritto:
nomeProgramma
pause
E lo metti nella cartella del programma e lo lanci con quello.

Ps: era solo per dirne una in più :D

khelidan1980
07-04-2008, 19:38
ma perchè un while(!getchar()); no?:D

forse mi sono perso qualcosa ma quel programma dovrebbe funzionare così com'è,a me gira perfettamente,metto la temperatura e me la ritorna in F

khelidan1980
07-04-2008, 19:42
ma infatti il suo "problema" mi sa che è lo lancia e gli si chiude la finestra quindi non può vedere nulla, per questo dice che non funziona...:D

il mio vizio di cercare chissà quale problema.... :D

m.distrutti
07-04-2008, 19:47
ma infatti il suo "problema" mi sa che è lo lancia e gli si chiude la finestra quindi non può vedere nulla, per questo dice che non funziona...:D

gia ihih

ma che versione hai di devC++?

ma la system("PAUSE"); in che senso non ti funziona? ti compila?

ti serve una funzione che blocchi lo stato del programma richiedendo un input da tastiera, dato che se esegui da windows l'applicazione ti apre il prompt e poi lo chiude giustamente...da dos infatti se esegui il programma l'output lo vedi :)

khelidan1980
07-04-2008, 19:54
ti serve una funzione che blocchi lo stato del programma richiedendo un input da tastiera, dato che se esegui da windows l'applicazione ti apre il prompt e poi lo chiude giustamente...

Questa non me la ricordavo si vede che è da anni che non uso un sistema win! :D

Turboman
07-04-2008, 20:02
cmq ho la versione 4.9.9.2,
misà che non avete capito, il programma deve funzionare bene così come l'ho scritto, difatti non mi dà alcun errore di compilazione, il problema è quando devo vedere il risultato dell'operazione che mi si chiude direttamente la finestra di output; prob credo che dovrei configurare qualcosa nell'editor (uso devC++), non so l'indirizzo di qualche libreria; sapete sto iniziando adesso a capirci qualcosa sul C quindi non è che me ne intenda molto. Inoltre vi dico che per fare una prova ho anche scritto un semplice programma che ti visualizza una scritta sulla finestra Output e nemmeno quello funziona, in quel caso non mi visualizza nemmeno la finestra. è possibile che nessuno sa come risolvere questo problema??

cionci
07-04-2008, 20:08
Come ti è stato detto devi includere stdlib.h ed inserire in fondo al programma:

system("PAUSE");

oppure passi ad un ide più serio.

Turboman
08-04-2008, 14:45
ok, grazie mille e scusate per il fastidio:D :D

m.distrutti
08-04-2008, 16:10
1) diventi flash gordon:D


sbrotfl sbrotfl sbrotfl sbrotfl sbrotfl sbrotfl sbrotfl sbrotfl

huahauahau