PDA

Visualizza la versione completa : [C/C++]: Programma "Calcolatrice" errato


apatico
12-08-2006, 17:07
#include <iostream.h>
#include <stdlib.h>

int main()
{
int n1,n2;
char op;
cout<<"CALCOLATRICE";
cout<<"inserisci il primo numero";<<endl;
cin>>n1;
cout<<"inserisci l'operatore: ";<<endl;
cin>>op
cout<<"inserisci l'altro numero";<<endl;
cin>>n2;
switch (op)
{
case '+': n1+=n2;
case '-': n1-=n2;

cout<<"il risultato :";<<n1<<endl;
};
}

cosa c' che non va?

U-bahn
12-08-2006, 17:13
cosa c' che non va?
troppi punti e virgola :)



#include <iostream>
#include <stdlib.h>
using namespace std;

int main()
{
int n1,n2;
char op;
cout << "CALCOLATRICE" << endl;
cout << "inserisci il primo numero: " << endl;
cin >> n1;
cout << "inserisci l'operatore: " << endl;
cin >> op;
cout << "inserisci l'altro numero: " << endl;
cin >> n2;
switch (op)
{
case '+': n1+=n2;
case '-': n1-=n2;
}

cout << "il risultato : " << n1 << endl;
}

alka
12-08-2006, 17:32
Originariamente inviato da apatico
cosa c' che non va?
Per quanto mi riguarda, il titolo della discussione e il linguaggio mancante. :)
Va sempre indicato, come da Regolamento (http://forum.html.it/forum/showthread.php?s=&threadid=973887).

Questo l'ho corretto io.

Ciao! :ciauz:

apatico
12-08-2006, 20:05
#include<iostream>
#include <stdlib.h>

int go = 1;
char var;
while(go)
{
char c='s';
while (c=='s');
{
int n1,n2; //per semplicit suppongo che i 2 numeri siano interi
char op;
cout<<"********CALCOLATRICE**********";
cout<<"\n******************************";
cout<<"\n******************************";
cout<<"\n****by************************";
cout<<"\n********Carmelo giuffre'*******";
cout<<"\n\n\nInserisci il primo numero:"<<endl;
cin>>n1;
cout<<"Inserisci l'operatore (+ , - , * , /)"<<endl;
cin>>op;
cout<<"Inserisci l'altro numero:"<<endl;
cin>>n2;
switch (op) { //uso lo statement switch-case che l'ideale in questa situazione
case '+': n1+=n2; break;
case '-': n1-=n2; break;
case '*': n1*=n2; break;
case '/': n1/=n2: break;


cout<<"Il risultato : "<<n1<<endl;
cout << "\n\n\nVuoi riavviare il programma?(s/n)\n\n";
cin >> c;
system ("cls") ;
};
cout<<"arrivederci...";
Sleep(1000);
}
}
cout << "Vuoi uscire(s/n)?";
cin >> var;
if(var == 's')go = 0; //se l'utente preme 's' il programma
//termina, altrimenti il ciclo si ripete

}



perch non funziona?

U-bahn
12-08-2006, 21:22
innanzitutto manca la funzione main(),
poi:



while(go)
{
char c='s';
while (c == 's'); /* un loop infinito. L'istruzione vuota ";"
viene sempre eseguita. */
{



switch (op) {
case '+': n1+=n2; break;
case '-': n1-=n2; break;
case '*': n1*=n2; break;
case '/': n1/=n2: break; /* Non puoi usare i due punti qui. */
/* Manca "}". Devi chiudere lo switch. */

cout << "Il risultato : " << n1 << endl; /* Non puoi usare altro codice all'interno di uno switch. */


system ("cls") ; /* Cos' cls ? */
}; /* In questo contesto ";" una istruzione vuota. */
cout<<"arrivederci...";
Sleep(1000); /* Sarebbe sleep(), non Sleep(). Poi...sei sicuro
di volere uno sleep di 1000 secondi ? */

qui ci sono troppe "}" che non coincidono con il codice:



}
}
cout << "Vuoi uscire(s/n)?";
cin >> var;
if(var == 's')go = 0;
}

evil87
12-08-2006, 23:08
se vuoi un esempio d calcolatrice ce l'ho gia tutta fatta.. anke se forse in c e nn in c++.. perch poi ce l'ho anche visuale fatta con visual basic ma non centra niente col c++.. se vuoi il sorgente di quella in c per qualche confronto dimmelo :ciauz:

evil87
12-08-2006, 23:11
correggo.. la mia calcolatrice in c++ :ciauz:

evil87
13-08-2006, 15:03
eccola qui (http://www.megaupload.com/it/?d=4LU0TDC4)

apatico
18-08-2006, 18:57
non riesco a scaricarlo non potresti scrivermi il codice in questa discussione?

evil87
18-08-2006, 19:52
molto semplice questa come calcolatrice, ma per qlk spunto magari puo andar bene..


#include<conio.h>
#include<stdio.h>
#include<math.h>
#include<iostream.h>

somma(void)
{
float vet[50],som=0;
int n,i;
clrscr();
cout<<"\n\t\t\tSOMMA";
cout<<"\n\nDi quanti numeri vuoi eseguire la somma? ";
cin>>n;
for(i=0;i<n;i++)
{
cout<<"\nInserisci il "<<(i+1)<<" numero:";
cin>>vet[i];
}
for(i=0;i<n;i++)
som=som+vet[i];
cout<<"\n\nLA SOMMA E': "<<som;
getch();
}
divisione(void)
{
float a,b,div=0;
clrscr();
cout<<"\n\t\t\tDIVISIONE";
cout<<"\n\nInserisci il primo numero: ";
cin>>a;
cout<<"\nInserisci il secondo numero: ";
cin>>b;
div=a/b;
cout<<"\n\nLA DIVISIONE E': "<<div;
getch();
}
moltiplica(void)
{
float a,b,molt=0;
clrscr();
cout<<"\n\t\t\tMOLTIPLICAZIONE";
cout<<"\n\nInserisci il primo numero: ";
cin>>a;
cout<<"\nInserisci il secondo numero: ";
cin>>b;
molt=a*b;
cout<<"\n\nLA MOLTIPLICAZIONE E': "<<molt;
getch();
}
sottrazione(void)
{
float a,b,sot;
clrscr();
cout<<"\n\t\t\tSOTTRAZIONE";
cout<<"\n\nInserisci il primo numero: ";
cin>>a;
cout<<"\nInserisci il secondo numero: ";
cin>>b;
sot=a-b;
cout<<"\n\nLA SOTTRAZIONE E': "<<sot;
getch();
}
/*logn()
{
float a,log;
cout<<"\n\t\t\tLOGARITMO NATURALE";
cout<<"\n\nInserisci il numero: ";
cin>>a;
log=ln(a);
cout<<"\n\nIL LOGARITMO NATURALE E': "<<log;
getch();
} */
log()
{
float a,log;
cout<<"\n\t\t\tLOGARITMO IN BASE 10";
cout<<"\n\nInserisci il numero: ";
cin>>a;
log=log10(a);

cout<<"\n\nIL LOGARITMO IN BASE 10 E': "<<log;
getch();
}
log2()
{
int a,b,log2=0;
cout<<"\n\t\t\tLOGARITMO IN ALTRA BASE";
cout<<"\n\nInserisci il numero: ";
cin>>a;
cout<<"inserisci la base: ";
cin>>b;
/*log2=logl(a,b);*/

cout<<"\n\nIL LOGARITMO IN BASE "<<b<<" E': "<<log2;
getch();
}
esp()
{
float a,esp=1;
cout<<"\n\t\t\tESPONENZIALE";
cout<<"\n\nInserisci il numero: ";
cin>>a;
cout<<"Inserisci l'esponente: ";
esp=exp(a);
cout<<"\n\nL'ESPONENZIALE E': "<<esp;
getch();
}
potenza()
{
float a,b,pot=1;
int i;
cout<<"\n\t\t\tPOTENZA";
cout<<"\nInserisci il numero: ";
cin>>a;
cout<<"\nInserisci la potenza: ";
cin>>b;
for(i=0;i<b;i++)
pot=pot*a;
cout<<"\n\nLA POTENZA DI "<<a<<" E': "<<pot;
getch();
}
radq()
{
float a,rad;
cout<<"\n\t\t\tRADICE QUADRATA";
cout<<"\n\nInserisci il numero: ";
cin>>a;
rad=sqrt(a);

cout<<"\n\nLA RADICE QUADRATA E': "<<rad;
getch();
}
seno()
{
float a,sen;
cout<<"\n\t\t\tSENO";
cout<<"\n\nInserisci il numero: ";
cin>>a;
sen=sin(a);

cout<<"\n\nIL SENO DI "<<a<<" E': "<<sen;
getch();
}
coseno()
{
float a,cose;
cout<<"\n\t\t\tCOSENO";
cout<<"\n\nInserisci il numero: ";
cin>>a;
cose=cos(a);

cout<<"\n\nIL COSENO DI "<<a<<" E': "<<cose;
getch();
}
tangente()
{
float a,tang;
cout<<"\n\t\t\tTANGENTE";
cout<<"\n\nInserisci il numero: ";
cin>>a;
tang=(sin(a)/cos(a));

cout<<"\n\nLA TANGENTE DI "<<a<<" E': "<<tang;
getch();
}

cotangente()
{
float a,cotang;
cout<<"\n\t\t\tCOTANGENTE";
cout<<"\n\nInserisci il numero: ";
cin>>a;
cotang=(cos(a)/sin(a));

cout<<"\n\nLA COTANGENTE DI "<<a<<" E': "<<cotang;
getch();
}


int x;
char scelta;

main ()
{
do
{
clrscr();
cout<<"\n\nCalcolatrice";
cout<<"\n\n\n1. Somma";
cout<<"\n2. Divisione";
cout<<"\n3. Moltiplicazione";
cout<<"\n4. Sottrazione";
cout<<"\n5. Logaritmo naturale (no)";
cout<<"\n6. Logaritmo in base 10";
cout<<"\n7. Logaritmo in altra base (no)";
cout<<"\n8. Esponenziale";
cout<<"\n9. Potenza";
cout<<"\n10. Radice quadrata";
cout<<"\n11. Seno";
cout<<"\n12. Coseno";
cout<<"\n13. Tangente";
cout<<"\n14. Cotangente";
cout<<"\n0. Esci";
cout<<"\n\nScegli il menu: ";
cin>>x;
switch (x)
{
case 1: somma();break;
case 2: divisione();break;
case 3: moltiplica();break;
case 4: sottrazione();break;
//case 5: logn();break;
case 6: log();break;
//case 7: log2();break;
case 8: esp();break;
case 9: potenza();break;
case 10: radq();break;
case 11: seno();break;
case 12: coseno();break;
case 13: tangente();break;
case 14: cotangente();break;
case 0: scelta='n';break;
}
}while(scelta!='n');
getch();
}

Loading