|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jun 2003
Città: ...Just Pure Energy...
Messaggi: 1134
|
Suggerimento C++
Codice:
#include <iostream.h>
using namespace std;
int main()
{
int liters, gallons;
cout<<"inserisci il numero dei galloni: ";
cin>>gallons;
cin.get();
liters = gallons * 4;
cout<<"Liters: "<<liters;
cin.get();
return 0;
}
Magari posizionarlo in qualche posizione strategica. altrimenti non posso "leggere" il programma.
__________________
"The pure and simple truth is rarely pure and never simple" |
|
|
|
|
|
#2 |
|
Bannato
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 1000
|
L'output di cout e bufferizzato, se vuoi vedere il risultato devi chiamare una flush() sul canale o in alternativa, spedisci un endl che oltre a andaer a capo fa il "flush" automaticamente.
Una cin.get() funziona perche' i due canali sono collegati e una chiamata a cin fa svuotare automaticamente il cout. Sempreche' non ci sia di mezzo anche un compilatore vecchio e imperfetto (*cough*VC6*cough*) ad aggiungere bugs. [code] #include <iostream> // Niente .h !!! using namespace std; int main() { int liters, gallons; cout<<"inserisci il numero dei galloni: "; cout.flush(); cin>>gallons; liters = gallons * 4; cout<<"Liters: "<<liters; cout.flush(); return 0; } |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jun 2003
Città: ...Just Pure Energy...
Messaggi: 1134
|
ma se metto #include <stdlib>, potrei anche fare a meno di inserire namespace std? dato che la libreria in questione include anche quest'ultimo elemento?.
inoltre dato che siamo in tema, a che serve il comando void e quando c'èè bisogno di usarlo. (senza usare termini fantascientifici).
__________________
"The pure and simple truth is rarely pure and never simple" |
|
|
|
|
|
#4 |
|
Bannato
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 1000
|
No, il namespace std e l'intestazione stdlib non sono affatto correlate.
stdlib si riferisce alla libreria standard del C, mentre il namespace std e' una cosa relativa solo al C++. Il significato del void dipende un po' dal contesto, ma sostanzialmente e' una parola chiave che vuol dire che "non c'e' un tipo". Ad esempio quando dichiaro una funzione che non ritorna valori, scrivo qualcosa di simile al seguente: Codice:
void foo(int c); In alternativa potresti trovare una dichiarazione di funzione C del tipo Codice:
int foo(void); Codice:
int foo(); spero di averti chiarito le idee |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Se non sbaglio le librerie C senza il ".h" sono equivalenti alle altre, ma importate nel namespace std...
Quindi #include <stdlib.h> diventa: #include <cstdlib> using namespace std; sempre che si voglia avere visibili tutte le funzioni di stdlib... |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jun 2003
Città: ...Just Pure Energy...
Messaggi: 1134
|
Potreste dirmi, che cos'è che non va nel mio codice.
Parte (0 errori), ma al posto dei caratteri "finali"(cioè quelli che dovrebbe rilevare dalla tastiera) visualizza le "p". e " "(il vuoto) Codice:
#include <iostream.h>
#include <stdio.h>
int main()
{
char carattere;
char numero;
printf("inserisci un carattere, e poi premi INVIO: ");
scanf("%c",& carattere);
printf("inserisci un numero: ");
scanf("%d",&numero);
printf("il carattere da te digitato è :%c\n",carattere);
printf("il numero da te inserito è : %d\n",numero);
cin.get();
cin.get();
return 0;
}
__________________
"The pure and simple truth is rarely pure and never simple" |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
|
Che compilatore stai usando?
__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n; Utilizzando atomi trivalenti drogheremo il silicio di tipo p; Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Però stai usando cin solo per la get()...usalo anche per l'input...
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Jun 2003
Città: ...Just Pure Energy...
Messaggi: 1134
|
uso Devcpp4
ho provato anche con cin e cout, ma è risulatato ancora peggio. in pratica, immetto il carattere e il numero, e quando schiaccio INVIO, miappare solo il numero (senza i 2 cout, e il carattere) spostato un pò a destra.
__________________
"The pure and simple truth is rarely pure and never simple" |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Jun 2003
Città: ...Just Pure Energy...
Messaggi: 1134
|
ma a che serve mettere int davanti a main. Tanto, quest'ultimo non è mica un numero. Illuminatemi.
__________________
"The pure and simple truth is rarely pure and never simple" |
|
|
|
|
|
#11 |
|
Member
Iscritto dal: Oct 2003
Città: Umbertide
Messaggi: 180
|
è solo una questione stilistica. In pratica tu potresti usare anche void main ma il compilatore ti direbbe che questa scrittura non è molto elegante. Invece è preferita la notazione con int main e return 0 (in pratica la funzione main da sempre in uscita il numero zero che è il codice di una funzione che è stata eseguita correttamente).
|
|
|
|
|
|
#12 | |
|
Bannato
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 1000
|
Quote:
|
|
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Dec 2000
Città: dintorni di Seregno (MI)
Messaggi: 312
|
La notazione penso sia presa da Unix, se un programma viene eseguito senza errori dà il valore 0 alla shell, un valore diverso da 0 indica un errore.
il programma funziona (con g++ sotto linux) ma devi dichiarare numero come un int oppure cambiare il parametro di formato (d si riferisce a un intero). Così come l'hai scritto tu invece mi dà problemi. In ogni caso stai mischiando funzioni di input di C e di C++ , il che non è sensato penso.
__________________
powered by GNU/Linux [ Debian Sid ] |
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Dec 2000
Città: dintorni di Seregno (MI)
Messaggi: 312
|
La versione C++ "sistemata" (e a prova di warning :-) ) sarebbe :
#include <iostream> #include <cstdio> using namespace std; int main() { char carattere; int numero; cout << "\ninserisci un carattere, e poi premi INVIO: "; cout.flush(); cin >> carattere; cout << "\ninserisci un numero: "; cout.flush(); cin >> numero; cout << "\nil carattere da te digitato e' : " << carattere; cout << "\nil numero da te inserito e' : " << numero << endl; return 0; }
__________________
powered by GNU/Linux [ Debian Sid ] |
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Jun 2003
Città: ...Just Pure Energy...
Messaggi: 1134
|
vi ringrazio delle risposte che mi avete saputo dare.
p.s. a cosa serve "endl" (end line)?
__________________
"The pure and simple truth is rarely pure and never simple" |
|
|
|
|
|
#16 | |
|
Senior Member
Iscritto dal: Dec 2000
Città: dintorni di Seregno (MI)
Messaggi: 312
|
endl =>
Quote:
__________________
powered by GNU/Linux [ Debian Sid ] |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:03.



















