Cześć! Niedawno zacząłem przygodę z programowaniem w C++ i postanowiłem stworzyć prosty kalkulator, ale przy dwóch ostatnich operacjach (suma i iloczyn kolejnych liczb) pojawiają się błędy tzn. program wykonuje obliczenia, które są przypisane do innej funkcji. Proszę o pomoc. Jeśli są inne błędy to także proszę o ich wskazanie. Z góry dziękuję.
Pozdrawiam
#include <iostream>
#include <conio.h>
#include <cmath>
double dodawanie(double x, double y)
{
return x+y;
}
double odejmowanie(double x, double y)
{
return x-y;
}
double mnozenie(double x, double y)
{
return x*y;
}
double dzielenie(double x, double y)
{
return x/y;
}
double sumaliczb(double x, double y)
{
double suma=0;
for (double i=x ; i<=y ; i++)
{
suma += i;
}
return suma;
}
double iloczynliczb(double x, double y)
{
double iloczyn=x;
for (double i=x ; i<=y ; i++)
{
iloczyn *= i;
}
return iloczyn;
}
double pierwiastkowanie(double x)
{
return sqrt(x);
}
int main()
{
std::cout <<"Witaj w kalkulatorze!\n"; getch();
int dzialanie;
double a , b;
std::cout <<"\n1. Dodawanie";
std::cout <<"\n2. Odejmowanie";
std::cout <<"\n3. Mnozenie";
std::cout <<"\n4. Dzielenie";
std::cout <<"\n5. Pierwiastkowanie";
std::cout <<"\n6. Suma kolejnych liczb";
std::cout <<"\n7. Iloczyn kolejnych liczb";
std::cout <<"\nWybierz dzialanie: ";
std::cin >> dzialanie;
if(dzialanie >= 1 && dzialanie <= 4)
{
std::cout <<"\nWprowadz liczbe a: ";
std::cin >> a;
std::cout <<"Wprowadz liczbe b: ";
std::cin >> b;
}
else if(dzialanie = 5)
{
std::cout <<"\nWprowadz liczbe: ";
std::cin >> a;
}
else if (dzialanie = 6 || 7)
{
std::cout <<"\nPodaj poczatek przedzialu: ";
std::cin >> a;
std::cout <<"Podaj koniec przedzialu: ";
std::cin >> b;
}
switch(dzialanie)
{
case 1:
std::cout<< a << "+" << b << "=" << dodawanie(a , b); break;
case 2:
std::cout<< a << "-" << b << "=" << odejmowanie(a , b); break;
case 3:
std::cout<< a << "*" << b << "=" << mnozenie(a , b); break;
case 4:
if(b!=0)
{
std::cout<< a << "/" << b << "=" << dzielenie(a , b); break;
}
else
{
std::cout<< "Nie mozna dzielic przez 0"; break;
}
case 5:
if(a<0)
{
std::cout<<"Nie mozna obliczyc pierwiastka kwadratowego z liczby ujemnej"; break;
}
else
{
std::cout<< "Pierwiastek z " << a << " wynosi " << pierwiastkowanie(a); break;
}
case 6:
std::cout << "Suma liczb nalezacych do przedzialu od "<< a <<" do " << b << " wynosi: " << sumaliczb(a , b); break;
case 7:
std::cout << "Iloczyn liczb nalezacych do przedzialu od "<< a <<" do " << b << " wynosi: " << iloczynliczb(a , b); break;
getch();
}
}
działanie
będzie miało inną wartość :P