|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jul 2008
Città: roma (monti)
Messaggi: 808
|
[c++]perchè non gli piace cin?
facendo gli esercizi del libro "programmare in c++" della o'reilly ne ho trovato uno che chiedeva di scrivere un programma che dato il numero di risposte corrette restituiva il voto...
dopo averne fatto uno con un ciclo while che non funzionava ho provato Codice:
#include <cstdlib>
#include <iostream>
#include <conio.h>
using namespace std;
int main(){
int risposte_corrette;
cin >> risposte_corrette;
if (risposte_corrette<61) cout<<"F"<<endl;
else if(risposte_corrette<71) cout<<"D"<<endl;
else if(risposte_corrette<81) cout<<"C"<<endl;
else if(risposte_corrette<91) cout<<"B"<<endl;
else if(risposte_corrette<101) cout<<"A"<<endl;
else cout<<"le risposte corrette non sono un intero compreso tra 1 e 100"<<endl;
getch();
return 0;
}
mi sapete dire perchè? grazie |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Mar 2007
Messaggi: 1792
|
L'ho provato e funziona... Gli passi in input un valore nel range corretto?
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Perché includi conio.h per la sola getch() quando puoi includere cstdio e usare getchar()?
Per il resto, dovrebbe funzionare... magari usa un unsigned int come tipo per la variabile, non hai bisogno di usare numeri negativi (anche se non dovresti ottenerli comunque).
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jul 2008
Città: roma (monti)
Messaggi: 808
|
io non passo nulla lo runno e quello mi scrive F....
poi se premo un tasto si chiude che cambia se includo conio o cstdio? |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Cambia che conio.h non è standard (usi un compilatore Borland?
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jul 2008
Città: roma (monti)
Messaggi: 808
|
lo usavo
ora il programma è cosi Codice:
[b]#include <cstdlib>
#include <iostream>
#include <cstdio.h>
using namespace std;
unsigned int main(){
unsigned int risposte_corrette;
cin >> risposte_corrette;
cout<<risposte_corrette<<endl;
if (risposte_corrette<61) cout<<"F"<<endl;
else if(risposte_corrette<71) cout<<"D"<<endl;
else if(risposte_corrette<81) cout<<"C"<<endl;
else if(risposte_corrette<91) cout<<"B"<<endl;
else if(risposte_corrette<101) cout<<"A"<<endl;
else cout<<"le risposte corrette non sono un intero compreso tra 1 e 100"<<endl;
getchar();
return 0;
}
come compilatore uso code::blocks |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
No, o usi cstdio o stdio.h (sono forme equivalenti), non cstdio.h.
E con questa modifica non ti stampa anche un valore numerico, scusa, prima di scrivere "F"? Comunque Code::Blocks è un'IDE, probabilmente stai compilando con MinGW in questo momento. ciao
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Jul 2008
Città: roma (monti)
Messaggi: 808
|
ah.. grazie
hai ragione sto usando mingw... non scrive niente prima scrive solo F... che strano... |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Prova questo:
Codice:
#include <iostream>
#include <cstdio>
int main()
{
unsigned int n = 0;
cout << "Inserisci un valore numerico: ";
cin >> n;
cout << endl;
cout << "Ho ricevuto il valore " << n << "." << endl;
if (n <= 60)
{
cout << "F";
}
else if (n <= 70)
{
cout << "D";
}
else if (n <= 80)
{
cout << "C";
}
else if (n <= 90)
{
cout << "B";
}
else if (n <= 100)
{
cout << "A";
}
else
{
cout << "Valore non accettabile.";
}
cout << endl;
cout << endl << "Premi INVIO per uscire." << endl;
getchar();
return 0;
}
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Jul 2008
Città: roma (monti)
Messaggi: 808
|
ok ora funziona grazie
bisognava solo aggiungere nel tuo using namespace std; per il resto tutto ok per qualche strano motivo nonostante io cliccassi su build and run lui runnava solo e sempre quello vecchio... grazie ciao |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:16.



















