|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Messaggi: n/a
|
[C++] programma scolastico, help me please
salve, ho da creare un programma per la scuola in c++ con le classi e lo switch. ho creato il programma, compilato, non mi da errori il compilatore però non funziona... parte ma quando devo fare la scelta con lo switch non mi fa nulla, lampeggia solo il cursore, aiuto perfavore =(
questo è il programma: Codice:
#include <cstdlib>
#include <iostream>
#include <conio.h>
using namespace std;
int s, t;
int scelta, errore;
char r;
class operazioni
{
public:
int valori[3];
int i;
int inserisci_valori()
{
for(i=0;i<3;i++)
{
cout<<"inserire il"<<i+1<<"mo valore"<<endl;
cin >> valori[i];
}
cout<<"Vuoi tornare al menu\'? [s] [n]";
cin>>r;
}
int somma()
{
i=0;
for(i=0;i<3;i++)
{
s=s+valori[i];
}
cout<<"Vuoi tornare al menu\'? [s] [n]";
cin>>r;
}
int stampa()
{
i=0;
do
{
cout<<"il"<<i+1<<"mo valore e\'"<<valori[i]<<endl;
i++;
}
while(i<3);
cout<<"la somma e\'"<<s<<endl;
cout<<"Vuoi tornare al menu\'? [s] [n]";
cin>>r;
}
};
int main()
{
scelta=0;
errore=0;
cout<<"+***********menu\'*************+"<<endl;
cout<<"| scegliere l'operazione |"<<endl;
cout<<"|-inserimento valori[1] |"<<endl;
cout<<"|-somma[2] |"<<endl;
cout<<"|-stampa[3] |"<<endl;
cout<<"+*****************************+"<<endl;
operazioni operazioni;
do {
cout <<"inserire la propria scelta"<<endl;
cin>>scelta;
while(scelta>0 && scelta<4);
{
switch(scelta)
{
case 1:
{
operazioni.inserisci_valori();
break;
}
case 2:
operazioni.somma();
break;
case 3:
operazioni.stampa();
break;
default:
{cout<<"\a\nERRORE: La scelta da lei selezionata e/' errata...";
}
}
}
}
while(r!='n');
system("pause");
}
Ultima modifica di imesh : 03-12-2008 alle 12:56. |
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
|
metti il codice tra tag code o nessuno avrà voglia di leggerlo
|
|
|
|
|
|
#3 |
|
Messaggi: n/a
|
ehm... e come si fa? =D
|
|
|
|
#4 |
|
Junior Member
Iscritto dal: May 2007
Messaggi: 17
|
il problema sta qui,
Codice:
while(scelta>0 && scelta<4); |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Nov 2006
Città: Mantova
Messaggi: 468
|
allora ad occhio:
cin>>scelta; nell int mette il codice ascii del numero e non il numero stesso. cioè '0' anzichè 0 per ottenere il numero basta fare scelta-='0' [rischiosissimo senza controllo dell'input] |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
|
Quanto meno vedrai apparire il menu, giusto?
Per prima cosa, ti consiglierei di mettere il menu all'interno del ciclo, cosi' da visualizzarlo ogni volta che si seleziona un'opzione. Cosi' com'e' ora, lo vedrai solo una volta, e basta. Poi i due cicli innestati sono da verificare. Visto quello che vuoi fare, te ne dovrebbe servire solo uno, ma... con la condizione giusta Inoltre, cerca di NON usare le variabili globali che per questo programma non ti servono. Male che vada, le puoi far diventare membri della classe, ma il consiglio e' di evitare comunque questa strada. E non chiamare delle globali "r", "t", ....
__________________
In God we trust; all others bring data |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
No, legge un int. Il problema è come scritto sopra il punto e virgola dopo il while.
|
|
|
|
|
|
#8 |
|
Messaggi: n/a
|
grazie mille, mi era proprio sfuggito quel punto e virgola, che figuraccia ahaha
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
|
Scusa, ma come fai poi ad uscire dal cicle
Codice:
while(scelta>0 && scelta<4)
__________________
In God we trust; all others bring data |
|
|
|
|
|
#10 |
|
Messaggi: n/a
|
non è completo quel codice, ho levato le parti che non mi interessavano per l'errore, se no veniva troppo lungo
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:09.



















