Grazie mille ad entrambi.
@loopunrolling purtroppo sono a gli inizi del c++, non conoscendo bene il c.
Quindi l'80% di ciò che mi hai detto lo conosco per sentito dire ma non so come applicarlo e non conosco tali funzioni.
In pratica so solamente come dividere il numero in base 10 per 16 tenendo conto del resto.
Alla fine mi sono aggrappato al consiglio di @candular , molto utile anche se, come ha già detto, non mi insegna nulla.
Il codice che ne è uscito fuori è questo:
#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;
int main(){
int num;
int scelta;
cout<<"Scegli quale conversione vuoi fare:"<<endl;
cout<<"1 = Da decimale ad esadecimale"<<endl;
cout<<"2 = Da esadecimale a decimale"<<endl;
cin>>scelta;
cout<<endl<<"_______________________________________"<<endl;
while(scelta!=1 && scelta!=2){
cout<<"Inserisci un numero tra 1 e 2!\n";
cin>>scelta;
}
switch(scelta){
case 1:
cout<<"Hai scelto di convertire da decimale ad esadecimale"<<endl;
cout<<"Inserisci il numero decimale da convertire:\t";
cin>>num;
cout<<num<<" in esadecimale e': "<<hex<<num<<"\n\n";
cout<<"Vuoi uscire?\n"<<"[SI]=S | [NO]=N"<<endl;
break;
case 2:
cout<<"Hai scelto di convertire da esadecimale ad decimale"<<endl;
cout<<"Inserisci il numero esadecimale da convertire:\t";
cin>>hex>>num;
cout<<"In decimale e': "<<num<<"\n\n";
cout<<"Vuoi uscire?\n"<<"[SI]=s | [NO]=n"<<endl;
break;
}
system("PAUSE");
}
Dopo le operazioni eseguite vorrei che l'utente possa scegliere se chiudere il programma o fare un'altra operazione; ma riflettendo ho notato che se mettessi un if dovrei perforza re-inserire tutto lo switch diventato disordinato e sconveniente. Non potrei richiamare lo switch come se fosse una sorta di funzione?