Oppure

Loading
29/09/08 20:56
jac++o94
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è???:d:d
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...:d potete spiegarmi come devo fare ??? grz mille anticipatamente 8-)
aaa
30/09/08 5:40
munkaka
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

#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");
}
aaa
30/09/08 11:03
jac++o94
grz mille :k::k:
aaa