Oppure

Loading
08/10/06 1:11
franz84
ciao a tutti. sono un neofita della programmazione in c++. posseggo da un po' di tempo un compilatore devc++ con cui ho provato a buttare giù un po' di stringhe (quasi sempre copiate di sana pianta da qualche esempio) e sono ogni volta riuscito a creare un file eseguibile. ho comprato 2 giorni fa il manuale "guida al c++2" 3a ed. di schildt edito da mcgraw-hill. questo manuale nomina i compilatori visualc++ e c++builder e non fa menzione del devc++. per i due compilatori citati vengono fornite anche brevi istruzioni di compilazione. fin qui qui niente di strano, solo che finora i primi due esempi riportati dal mio manuale che ho provato a mettere in pratica (col devc++) non hanno condotto a nessuno risultato. qualcuno di voi saprebbe dirmi, gentilmente, da cosa dipende il problema. premetto che diverse fuzioni (<iostream.h>, cout ecc.) del manuale sono diverse da quelle che avevo usato, con successo, in precedenza (<stdio.h>, printf ecc.). ringrazio in anticipo chiunque sarà così gentile da soffermarsi a leggere questa lettera e magari e mandarmi una risposta. ciao.
aaa
08/10/06 3:10
pierotofy
Prova a postarci il codice dell'esempio che non ti funziona, così possiamo provare a vedere se c'è qualche errore.
Il mio blog: piero.dev
08/10/06 9:11
da quello che ho capito tu usavi le funzioni standard del C come printf includendo stdio.
la libreria iostream invece è propria del linguaggio c++.

in ogni caso, se ho capito cosa vuoi dire....

printf("ciao";); è uguale a cout << "ciao";

per il resto.. posta il codice come ha già detto Piero...

PS se vuoi scaricarti visual c++ è disponibile sul sito microsoft: msdn.microsoft.com/vstudio/express/visualc/download/
:k:
11/10/06 1:29
franz84
grazie mille per le risposte che mi avete dato. utilizzo un devcpp 4.9.9.2..

programma che converte i litri in galloni
codice sorgente:
_______________________________________________

#include <iostream.h>
using namespace std;

int main()
{
double gallons, liters;

cout << "Inserire il numero dei galloni: ";
cin >> gallons;

liters = gallons * 3.7854;

cout << "Litri: " <<liters;

return 0;
}




in Documenti trovo sia il codice sorgente sia il codice oggetto, io clicco su quest'ultimo e (come è logico aspettarsi) si apre il prompt sul quale è ben visibile la scritta "Inserire il numero dei galloni:", sembra andare tutto bene, c'è anche il cursore che lampeggia, io allora inserisco il numero dei galloni (per es. 2), clicco su invio ma appena premo il tasto il prompt si chiude, scompare completamente prima ancora che il programma abbia il tempo di effettuare la conversione. e il brutto è che non riesco a capire dove sia il problema. ciao.

aaa
11/10/06 4:01
pierotofy
Prova a modificare così:

#include <iostream.h>
using namespace std;

int main()
{
double gallons, liters;

cout << "Inserire il numero dei galloni: ";
cin >> gallons;

liters = gallons * 3.7854;

cout << "Litri: " <<liters;

[b]system("pause");[/b]

return 0;
} 



;)
Ultima modifica effettuata da pierotofy 11/10/06 4:02
Il mio blog: piero.dev
11/10/06 12:21
franz84
ti ringrazio piero. sei un grande! adesso funziona.
mi domando soltanto perchè il manuale di un autore così blasonato non faceva alcun riferimento all'aggiunta (neanche eventuale) di di system("pause";). ma c'è così tanta differenza tra un compilatore e un altro? a questo punto mi chiedo se l'accoppiata dev-cpp/manuale-schildt è azzeccata o sarebbe meglio cambiare uno ndei due per rendere le cose, almeno all'inizio, meno complicate. ciao. ;);):k:
Ultima modifica effettuata da franz84 11/10/06 12:27
aaa
11/10/06 12:31
allora... non dipende dal compilatore...con ogni compilatore è così poichè i libri.. essendo talvolta vecchi sono predisposti per un sistema operativo a riga di comando come dos o unix. se provi ad aprire ad esempio il promp a a scrivere mioprogramma.exe lo esegue e funziona come vorresti, senza system("pause";)
mentre sui sistemi a "desktop" il programma quando ha finito le operazioni da svolgere chiude la finestra del promp; il risultato viene stampato, ma tu non fai in tempo a vederlo!

...in ogni caso.. una piccola puntualizzazione...

#include <iostream>


senza specificare l'estensione.. ma è pressapoco uguale... poi..

system("pause"); 


invece di usare questa chiamata di sistema...che funziona solo su DOS.. puoi semplicemente aspettare la pressione di un tasto... cmq era solo per darti dei consigli.. quello che ha scritto piero è :k:...
Ultima modifica effettuata da 11/10/06 12:38
12/10/06 19:58
Fr3d3R!K
io scrivo sempre #include<iostream.h> altrimenti non funziona :asd:
cmq si poteva provare invece di int main col void main (che non restituisce nulla al programma chiamante)...cmq visto che il problema è risolto...
consiglio per i compilatori questo topic dove ho messo link ai tre principali compilatori (ms visual, borland e devc++) + guide ai programmi
pierotofy.it/pages/extras/forum/87/2477/
aaa