|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Aug 2010
Messaggi: 20
|
[C++]problema con la terminaizone di un programma
In poche parole vorrei scrivere un programma che svolge varie operazioni a seconda della scelta fatta con switch.
Il problema è che, una volta terminata la funzione scelta con switch, il programma termina senza poter fare ulteriori scelte. Come posso far rieseguire la scelta finché non si vuole uscire? posto il codice nel caso possa servire a qualcosa: Codice:
#include <iostream>
using namespace std;
struct puffo{
char nome[10];
char professione[15];
puffo *prox;
};
void ins(puffo *&testa);
void cerca(puffo *&testa);
void puffiamo(puffo *&testa);
int main(){
int x;
puffo *inizio=NULL;
cout<<"Ciao, benvenuto in Puffolandia, cosa vuoi fare?"<<endl;
cout<<"1.Inserire un puffo"<<endl<<"2.Cercare un puffo"<<endl;
cout<<"3.Puffarsi la puffetta..."<<endl;
cin>>x;
if((x>4)||(x<1)) {
cout<<"vai alla puffoscuola a imparare i numeri puffostolto"<<endl;
return 0;
}
switch(x){
case 1:
ins(inizio);
break;
case 2: //MI SA' CHE PROBLEMA E
cerca(inizio); //SOLUZIONE STANNO DA
break; //QUESTE PARTI, POSSIBILE?
case 3:
puffiamo(inizio);
break;
case 4:
cout<<"un bona dai puffi"<<endl;
}
}
void ins(puffo *&testa){
puffo *tmp, *tmp2;
tmp2=testa;
tmp = new puffo;
cout<<"inserire il nome del puffo:"<<endl;
cin>>tmp->nome;
cout<<"inserire la professione del puffo:"<<endl;
cin>>tmp->professione;
tmp->prox=NULL;
if(testa==NULL) testa=tmp;
else{
while(tmp2->prox!=NULL) tmp2=tmp2->prox;
tmp2->prox=tmp;
}
}
void cerca(puffo *&testa){
char n[10];
cout<<"inserire il nome del puffo da cercare"<<endl;
cin>>n;
puffo *Tmp;
Tmp=testa;
while((Tmp->nome) != n) Tmp=Tmp->prox;
if((Tmp->prox==NULL)&&(Tmp->nome!=n))cout<<"il puffo che stai cercando non puffa nella lista"<<endl;
else cout<<"il puffo "<<n<<"di lavoro fa': "<<endl<<Tmp->professione<<"."<<endl;
}
void puffiamo(puffo *&testa){
char *puffetta = "puffetta";
puffo *puf;
puf=testa;
while(puf->nome!=puffetta)puf=puf->prox;
if((puf->prox==NULL)&&(puf->nome!=puffetta))cout<<"e oggi si rimane senza chiavare...puffetta non c'e'..."<<endl;
else cout<<"AAAHHHHH, OOOHHHH, UUUUUHHHHHHH"<<endl;
}
|
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
|
Quote:
Codice:
...
do {
cin >> x;
...
... puffandezze varie ...
...
} while (x != 4);
__________________
-> The Motherfucking Manifesto For Programming, Motherfuckers |
|
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Aug 2010
Messaggi: 20
|
arcipuffolina...è quello che pensavo anche io...però mi rimane dentro le funzioni inserisci/ricerca/puffiamo e non ne esce...
avevo scritto così Codice:
do{
cin>>x;
if((x>4)||(x<1)) {
cout<<"vai alla puffoscuola a imparare i numeri puffostolto"<<endl;
return 0;
}
switch(x){
case 1:
ins(inizio);
break;
case 2:
cerca(inizio);
break;
case 3:
puffiamo(inizio);
break;
}
}while(x!=4);
cout<<"un bona dai puffi"<<endl;
return 0;
|
|
|
|
|
|
#4 | |
|
Member
Iscritto dal: Jun 2010
Città: Asti
Messaggi: 85
|
Quote:
è la risposta più simpatica che mi sarei mai aspettato di vedere qui By the way, scusate per l'ot ma non riuscivo a trattenermi.
__________________
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:19.




















