PDA

Visualizza la versione completa : [C++] Programma che esegue addizioni/sottrazioni a discrezione dell'utente


Fred111
31-03-2011, 11:05
Salve a tutti,
sto tentando di creare un programma in c++ che dovrebbe far fare delle operazioni di addizione oppure di sottrazione. Vi faccio un esempio:

l'utente avvia il programma e si ritrova la schermata con "Scrivi l'operazione da eseguire: " e dopo lui dovrebbe scrivere per esempio "5+7+4+3=" per l'addizione mentre "5-7-4-3=" per la sottrazione. Ho aggiunto l'uguale alla fine perchè vorrei utilizzarlo come carattere terminatore. ALla fine di tutto ciò il programma dovrebbe stamparmi il risultato dell'operazione...
Fino ad ora sono arrivato qui:

#include <iostream>
using namespace std;

int main()
{

int num;
int risultato=0;
char segno='+';
char ultimo_segno;

do{

cout<<"Inserisci il numero: ";
cin>>num;

if(segno=='+')
{
risultato=risultato+num;
}

if(segno=='-')
{
risultato=risultato-num;
}

cout<<"Inserisci segno ('=' per terminare): ";
cin>>segno;


}while(segno!='='); //carattere terminatore


cout<<"Il risultato e' pari a: "<<risultato<<endl; //stampa il risultato

system("PAUSE");
return 0;

}




soltanto che adesso il programma, prima mi fa inserire l'operazione, poi mi chiede se inserire l'uguale per terminare l'operazione... è ok, andrebbe bene anche così, solo che se metto 2 numeri da sommare/sottrarre alla fine mi fa uscire due volte la scritta "inserisci '=' per terminare" mentre io vorrei che uscisse una sola volta!!!
Sapreste darmi una mano?? :unz:

alka
31-03-2011, 11:23
Usa il tag [CODE], come da Regolamento (http://forum.html.it/forum/showthread.php?s=&threadid=973887), per formattare il codice sorgente e renderlo leggibile.

Fred111
31-03-2011, 15:37
too late...

nessuno ha idee per aiutarmiii???

Fred111
01-04-2011, 11:02
upupupupupup

younes
02-04-2011, 14:37
Originariamente inviato da Fred111
too late...

nessuno ha idee per aiutarmiii???

ciao io l'ho fatto cosi dovrebbe funzionare come lo vuoi te :)


#include <iostream>
using namespace std;

int main()
{

int num,nu,ris=0;
char segno,segn;
cout<<"inserisci il numero :";
cin>>num;
cin>>segno;
cin>>nu;

if (segno=='+')
ris=num+nu;
if (segno=='-')
ris=num-nu;

cout<<"inserisci (=) per terminare ";
cin>>segn;

if (segn=='=')
cout<<ris<<endl;
system("PAUSE");
return 0;

}

Fred111
20-04-2011, 10:53
ciao younes, grazie lo stesso ma sono riuscito a risolvere :P

alka
20-04-2011, 13:28
Originariamente inviato da Fred111
ciao younes, grazie lo stesso ma sono riuscito a risolvere :P

In genere, quando si risolve, nel rispetto dello spirito del forum si pubblica la soluzione, in modo che possa essere utile ad altri utenti.

Se fosse stato fatto, l'utente che ha risposto non si sarebbe disturbato a fornire il proprio parere in merito a un problema già risolto. :fagiano:

Loading