profil

C++ Kalkulator

Ostatnia aktualizacja: 2024-10-11
poleca 84% 4303 głosów

Treść
Grafika
Filmy
Komentarze

cpp
#include
#include

// Definicja stałej M_PI, jeśli nie jest zdefiniowana w
#ifndef M_PI
#define M_PI 3.14159265358979323846
#endif

using namespace std;

int main()
{
double a, b, wynik;
int dzialanie;

cout << "Wybierz dzialanie :" << endl
<< "1. Dodawanie" << endl
<< "2. Odejmowanie" << endl
<< "3. Mnozenie" << endl
<< "4. Dzielenie" << endl
<< "5. Pierwiastkowanie" << endl
<< "6. Potegowanie" << endl
<< "7. Pole kola" << endl
<< endl
<< "Wybierz inna liczbe, aby wyjsc" << endl
<< endl;
cin >> dzialanie;

switch (dzialanie){
case 1:
cout << endl << "Podaj skladniki :" << endl;
cin >> a >> b;
wynik = a + b; // Poprawka: dodanie operatora +
break;
case 2:
cout << endl << "Podaj odjemna i odjemnik :" << endl;
cin >> a >> b;
wynik = a - b;
break;
case 3:
cout << endl << "Podaj czynniki :" << endl;
cin >> a >> b;
wynik = a * b;
break;
case 4:
cout << endl << "Podaj dzielna i dzielnik :" << endl;
cin >> a >> b;
if(b != 0){
wynik = a / b;
}
else{
cout << "Blad: Dzielenie przez zero!" << endl;
wynik = 0;
}
break;
case 5:
cout << endl << "Podaj liczbe do spierwiastkowania :" << endl;
cin >> a;
cout << "Podaj stopien pierwiastka : ";
cin >> b;
if(a >= 0 || (int)b % 2 != 0){ // Sprawdzenie dla pierwiastków parzystych
wynik = pow(a, 1.0 / b);
}
else{
cout << "Blad: Nie mozna wyciagnac pierwiastka parzystego z liczby ujemnej!" << endl;
wynik = 0;
}
break;
case 6:
cout << endl << "Podaj liczbe do spotegowania : ";
cin >> a;
cout << "Do ktorej potegi ma byc podniesiona liczba: ";
cin >> b;
wynik = pow(a, b);
break;
case 7:
cout << endl << "Podaj promien kola : ";
cin >> a;
if(a >= 0){
wynik = a * a * M_PI;
}
else{
cout << "Blad: Promien nie moze byc ujemny!" << endl;
wynik = 0;
}
break;
default :
cout << endl << "Koniec programu." << endl;
return 0; // Zakończenie programu przed wyświetleniem wyniku
}

cout << endl << "Wynik wynosi: " << wynik << endl << endl;

system("PAUSE");
return 0;
}


Dodatkowe sugestie


- Walidacja Wejścia: Możesz dodać dodatkowe sprawdzenia, aby upewnić się, że użytkownik wprowadza poprawne typy danych.
- Pętla Główna: Obecnie program wykonuje jedną operację i kończy się. Możesz dodać pętlę (np. `while`), aby umożliwić wielokrotne wykonywanie operacji bez konieczności ponownego uruchamiania programu.
- Lepsze Komunikaty Błędów: Możesz rozszerzyć obsługę błędów, aby informować użytkownika o niepoprawnych wyborach lub wejściach.

Przykład zastosowania pętli


Jeśli chcesz, aby program pozwalał na wielokrotne wykonywanie operacji aż do wybrania opcji wyjścia, możesz opakować główną część w pętlę `while`. Oto jak to zrobić:

cpp
#include
#include

#ifndef M_PI
#define M_PI 3.14159265358979323846
#endif

using namespace std;

int main()
{
double a, b, wynik;
int dzialanie;

while (true) {
cout << "Wybierz dzialanie :" << endl
<< "1. Dodawanie" << endl
<< "2. Odejmowanie" << endl
<< "3. Mnozenie" << endl
<< "4. Dzielenie" << endl
<< "5. Pierwiastkowanie" << endl
<< "6. Potegowanie" << endl
<< "7. Pole kola" << endl
<< endl
<< "Wybierz inna liczbe, aby wyjsc" << endl
<< endl;
cin >> dzialanie;

switch (dzialanie){
case 1:
cout << endl << "Podaj skladniki :" << endl;
cin >> a >> b;
wynik = a + b;
break;
case 2:
cout << endl << "Podaj odjemna i odjemnik :" << endl;
cin >> a >> b;
wynik = a - b;
break;
case 3:
cout << endl << "Podaj czynniki :" << endl;
cin >> a >> b;
wynik = a * b;
break;
case 4:
cout << endl << "Podaj dzielna i dzielnik :" << endl;
cin >> a >> b;
if(b != 0){
wynik = a / b;
}
else{
cout << "Blad: Dzielenie przez zero!" << endl;
wynik = 0;
}
break;
case 5:
cout << endl << "Podaj liczbe do pierwiastkowania :" << endl;
cin >> a;
cout << "Podaj stopien pierwiastka : ";
cin >> b;
if(a >= 0 || (int)b % 2 != 0){
wynik = pow(a, 1.0 / b);
}
else{
cout << "Blad: Nie mozna wyciagnac pierwiastka parzystego z liczby ujemnej!" << endl;
wynik = 0;
}
break;
case 6:
cout << endl << "Podaj liczbe do spotegowania : ";
cin >> a;
cout << "Do ktorej potegi ma byc podniesiona liczba: ";
cin >> b;
wynik = pow(a, b);
break;
case 7:
cout << endl << "Podaj promien kola : ";
cin >> a;
if(a >= 0){
wynik = a * a * M_PI;
}
else{
cout << "Blad: Promien nie moze byc ujemny!" << endl;
wynik = 0;
}
break;
default :
cout << endl << "Koniec programu." << endl;
return 0;
}

cout << endl << "Wynik wynosi: " << wynik << endl << endl;
}

system("PAUSE");
return 0;
}



Dzięki tej pętli program będzie kontynuował działanie, aż użytkownik wybierze opcję wyjścia.

Czy tekst był przydatny? Tak Nie
Przeczytaj podobne teksty

Czas czytania: 4 minuty