Witam
Muszę na jutro napisąć program kalkulator do szkoły. Próbuje napisać z ONP ale w ogóle mi nie wychodzi. Jestem początkującym programistą mógłby mi ktoś wyjaśnic jak to napisa patrzyłem na algorytmy ale nie moge tego wykminic. w załączniku jest plik w visual studio 2008 i część kodu który działa teraz potrzebuje tej częsci z ONP napisałem ale wydają mi się to straszne niechlujne. Mógłby ktoś pomóc byłbym strasznie wdzięczny.
Pozdrawiam Jacek
klasa działania jej deklaracja
#pragma once
class działania
{
public:
działania(void);
~działania(void);
double dodawanie();
double roznica();
double iloczyn();
double dzielenie();
double pierwiastek();
double potega();
double sinus();
double cosinus();
double tanges();
double cotanges();
double ONP();
};
Klasa działania jej deklaracja
#include "działania.h"
#include <iostream>
#include <math.h>
using namespace std;
działania::działania(void)
{
}
działania::~działania(void)
{
}
double działania::dodawanie()
{
double c,a,b;
cout<<"Podaj wartosc skladnika"<<endl;
cin>>a;
cout<<"Podaj wartosc skladnika"<<endl;
cin>>b;
c=a+b;
return c;
}
double działania::roznica()
{
double c,a,b;
cout<<"Podaj wartosc Odejmnej"<<endl;
cin>>a;
cout<<"Podaj wartosc Odejmowanej"<<endl;
cin>>b;
c=a-b;
return c;
}
double działania::iloczyn()
{
double c,a,b;
cout<<"Podaj wartosc czynnika"<<endl;
cin>>a;
cout<<"Podaj wartosc czynnika"<<endl;
cin>>b;
c=ab;
return c;
}
double działania::dzielenie()
{
double c,a,b;
cout<<"Podaj wartośc dzielonej"<<endl;
cin>>a;
cout<<"Podaj wartość dzielnej"<<endl;
cin>>b;
c=a/b;
return c;
}
double działania::pierwiastek()
{
double c,a;
cout<<"Podaj liczbe do spierwiastkowania"<<endl;
cin>>a;
c=sqrt(a);
return c;
}
double działania::potega()
{
double c,a;
cout<<"Podaj liczbe do spotegowania"<<endl;
cin>>a;
c=aa;
return c;
}
double działania::sinus()
{
double a,c;
cout<<"Podaj wartośc kata w stopniach"<<endl;
cin>>a;
a=a3.1415;
c=a/180;
c=sin(c);
return c;
}
double działania::cosinus()
{
double a,c;
cout<<"Podaj wartosc kata w stopniach "<<endl;
cin>>a;
a=a3.1415;
c=a/180;
c=cos(c);
return c;
}double działania::tanges()
{
double a,b,c,d;
cout<<"Podaje wartosc kata w stopniach"<<endl;
cin>>a;
a=a*3.1415;
a=a/180;
d=sin(a);
b=cos(a);
c=d/b;
return c;
}
double działania::cotanges()
{
double a,b,c,d;
cout<<"Podaje wartosc kata w stopniach"<<endl;
cin>>a;
a=a*3.1415;
a=a/180;
d=sin(a);
b=cos(a);
c=b/d;
return c;
}
#include<iostream>
#include "działania.h"
#include<conio.h>
using namespace std;
void main()
{
int a,m=1,r=1,d,t,p=1;
double c;
działania b;
while(m==1)
{
cout<<"\t\tKalkulator"<<endl;
cout<<"\t1.Podstawowe operacje matematyczne"<<endl;
cout<<"\t2.Operacje trygonometryczne"<<endl;
cout<<"\t0.Zakoncz"<<endl;
cout<<"\t3.Operacje z użyciem odwrotenej notacji polskiej"<<endl<<endl;
cout<<"\tCo chcesz wykonac?"<<endl;
cin>>a;
if(a==0)
{
{
m=0;
}
break;
}
if(a==1)
{
while(r==1)
{
cout<<"\t|0.Wyjscie"<<endl;
cout<<"\t|1.Dodawanie"<<endl;
cout<<"\t|2.odejmowanie"<<endl;
cout<<"\t|3.mnozenie"<<endl;
cout<<"\t|4.Dzielenie"<<endl;
cout<<"\t|5.Pierwiastkowanie"<<endl;
cout<<"\t|6.Potega"<<endl<<endl;
cout<<"\tCo chcesz wykonac ??"<<endl;
cin>>d;
switch (d)
{
case 0:
{
r=0;
}
break;
case 1:
c=b.dodawanie();
cout<<"wynik operacji: "<<c<<endl;
break;
case 2:
c=b.roznica();
cout<<"wynik operacji: "<<c<<endl;
break;
case 3:
c=b.iloczyn();
cout<<"wynik operacji: "<<c<<endl;
break;
case 4:
c=b.dzielenie();
cout<<"wynik operacji: "<<c<<endl;
break;
case 5:
c=b.pierwiastek();
cout<<"wynik operacji: "<<c<<endl;
break;
case 6:
c=b.potega();
cout<<"wynik operacji: "<<c<<endl;
}
}
}
if(a==2)
{
while (p==1)
{
cout<<"\t|0.Wyjscie"<<endl;
cout<<"\t|1.Sinus"<<endl;
cout<<"\t|2.Cosinus"<<endl;
cout<<"\t|3.Tanges"<<endl;
cout<<"\t|4.Cotanges"<<endl;
cout<<"\tCo chcesz wykonac ??"<<endl;
cin>>t;
switch(t)
{
case 0:
{
p=0;
}
break;
case 1:
c=b.sinus();
cout<<"wynik operacji: "<<c<<endl;
case 2:
c=b.cosinus();
cout<<"wynik operacji: "<<c<<endl;
case 3:
c=b.tanges();
cout<<"wynik operacji: "<<c<<endl;
case 4:
c=b.cotanges();
cout<<"wynik operacji: "<<c<<endl;
}
}
}
else
{
cout<<"Wybierz jeszcze raz (Nie podano cyfry przypisanej do operacji)"<<endl<<endl;
}
}
}