jac++o94 (Normal User)
Newbie
Messaggi: 4
Iscritto: 28/09/2008
|
Ciao a tutti scusate per il disturbo ma vi devo di nuovo chiedere aiuto sto facendo un programma per convertire i grammi ad esempio in kg solo che ho un problema vi incollo il codice e vi spiego :
#include <iostream>
#include <cstdlib>
using namespace std;
float main ()
{
cout <<"Main Menu"<<endl;
cout <<"Scegliere unità di misura"<<endl;
cout <<" M Massa"<<endl;
cout <<" 1 litro"<<endl;
cout <<" T tempo"<<endl;
cout <<" L lunghezza"<<endl;
cout <<" E exxxxittt!"<<endl;
char rispmenu;
cin>>rispmenu;
switch (rispmenu){
case 'm':
system("cls");
cout <<" scala: mg kg hg dag g dg cg mg "<<endl;
goto elaboratore;
break;
}
elaboratore:
cout <<"Inserire unità di misura di partenza"<<endl;
char misuraselect;
cin>>misuraselect;
cout <<"inserire cifra: ";
double cifra;
cin>>cifra;
cout <<"Inserire unità di destinazione: ";
char misuraendselect;
cin>>misuraendselect;
}
quando io cerco di inserire un numero a virgola mobile nella variabile double cifra la parte di codice che c'è dopo:
cout <<"Inserire unità di destinazione: ";
char misuraendselect;
cin>>misuraendselect;
non funziona e mi manda in crash il programma mentre quando metto un numero intero no ,qualcuno sa spiegarmi il perchè???
poi 2 cosa io ho provato a scrivere questo codice per la conversione :
switch (misuraselect){
case 'g':
if (misuraendselect == 'dag')
{
cout <<"ans: "<<cifra/10<<endl;
}
break;
ma quando seleziono la misura finale della conversione il comando switch nn viene eseguito ed il programma finisce... potete spiegarmi come devo fare ??? grz mille anticipatamente
|
|
munkaka (Member)
Pro
Messaggi: 119
Iscritto: 07/09/2008
|
ciao, il problema è che la variabile misuraendselect accettava solo un carattere dato che è un char e non un array di caratteri, quindi se mettevi come input "dag" ti accettava solo "d", te l'ho trasformata in un string che accetta più caratteri
Codice sorgente - presumibilmente C++ |
#include <iostream> #include <cstdlib> #include <string> using namespace std; float main () { cout <<"Main Menu"<<endl; cout <<"Scegliere unità di misura"<<endl; cout <<" M Massa"<<endl; cout <<" 1 litro"<<endl; cout <<" T tempo"<<endl; cout <<" L lunghezza"<<endl; cout <<" E exxxxittt!"<<endl; char rispmenu; cin>>rispmenu; switch (rispmenu) { case 'm': system("cls"); cout <<" scala: mg kg hg dag g dg cg mg "<<endl; goto elaboratore; break; } elaboratore: cout <<"Inserire unità di misura di partenza"<<endl; char misuraselect; cin>>misuraselect; cout <<"inserire cifra: "; double cifra; cin>>cifra; cout <<"Inserire unità di destinazione: "; string misuraendselect; cin>>misuraendselect; switch (misuraselect) { case 'g': if (misuraendselect == "dag") { cout <<"ans: "<<cifra/10<<endl; break; } } system("pause"); }
|
|
|
jac++o94 (Normal User)
Newbie
Messaggi: 4
Iscritto: 28/09/2008
|
grz mille
|
|