Czuję że często tutaj będę gościł, wasze wypowiedzi dużo mi dają i pozwalają spojrzeć na problemy z różnych stron.
W pierw potrzebuję opinii o moim kalkulatorze z zadania nr 2 lekcja 15 (kod nr 1) co mogę w nim zmienić, co poprawić, jak jego czytelnośc wygląda dla innych.
Druga sprawa to cel który sobie postawiłem, chcę zrobić kalkulator który będzie zachowywał się tak jak wypunktowane polecenia w zadaniu nr 2 czyli:
1 Wynik ( niewciśnięcie jedynki na sucho wywieli "Nic tu nie ma " opcja ta ma za zadanie wyświetlić zapisany w pamięci wynik z operacji)
2 Wprowadź liczbę ( miejsce wprowadzanie liczb, poza wprowadzaniem chcę wprowadzić pozycje "zapisz i dalej", bez zapisu liczby przejście do następnej akcji wykasuje liczby.
3 Wybierz działanie ( wybranie opcji +-*/ , tutaj ma nastąpić wczytanie liczb zapisanych i dodanie określonego działania ( tylko gdy wszystko będzie zapisane )
4 wykonaj obliczenie ( 4 wykonuje wszystkie działania, wczytuje zapisane liczby i określone działanie, sumuje wszystko ale nie wyświela wyniku ( wynik ma być dostępny po wybraniu pozycji nr 1 "Wynik"
5 wróć do 1 ( heheszek czyi albo wyświetli wynik albo nic nie wyświetli )
6 liczba 0 kończy program ( 0 zamyka konsole )
Dla mnie dużo roboty ale przy określonym celu lepiej się pracuje, na razie się gubię w pętlach ( chociaż im więcej piszę tym lepiej to rozumiem ( tragiczny kod nr 2, który jest zarysem )
Szukam teraz informacji na temat przechowywania wyniku w pamięci oraz wczytywaniu danych z określonej pętli, nie wiem czy to jest możliwe, najprościej chyba byłoby gdyby jeden program wczytywał drugi ale może ktoś z doświadczeniem powie mi jak się za to zabrać najlepiej.
#include <iostream>
using namespace std;
int main()
{
int A;
float a, b;
bool B;
cout << "================================Kalkulator=================================" << endl;
cout << "Podaj licze a: ";
cin >> a;
cout << "Podaj liczbe b: ";
cin >> b;
B = cin.good();
cin.clear();
cin.sync();
if( B == false || a == 0 || b == 0 )
{
do
{
cout << "Podaj poprawne dane: " << endl;
cout << "Podaj licze a: ";
cin >> a;
cout << "Podaj liczbe b: ";
cin >> b;
B = cin.good();
cin.clear();
cin.sync();
} while( B == false || a == 0 || b == 0 );
} cout << "a: " << a << " b: " << b << endl;
cout << "===========================================================================" << endl;
cout << "[1] Dodawanie \n[2] Odejmowanie \n[3] Mnozenie \n[4] Dzielenie\n[5] Koniec \n";
cin >> A;
B = cin.good();
cin.clear();
cin.sync();
if( B == false || A <= 0 || A >= 6 )
{
do
{
cout << "Zla opcja, popraw: ";
cin >> A;
B = cin.good();
cin.clear();
cin.sync();
} while( B == false || A <= 0 || A >= 6 );
}
switch( A )
{
case 1:
cout << "a+b= " << a + b;
break;
case 2:
cout << "a-b= " << a - b;
break;
case 3:
cout << "a*b= " << a * b;
break;
case 4:
cout << "a/b= " << a / b;
break;
case 5:
cout << "Rezygnujesz";
break;
} while( a <= 0 || a >= 6 )
return 0;
}
#include <iostream>
using namespace std;
int main()
{
int A;
float a, b;
bool B;
cout << "================================Kalkulator=================================" << endl;
cout << "[1] Wynik \n[2] Wprowadz liczbe \n[3] Dzialanie \n[4] Wykonaj\n[5] Wroc do 1 \n[6] 0 konczy program \n";
cout << "wybierz operacje: ";
cin >> A;
B = cin.good();
cin.clear();
cin.sync();
if( B == false || A <= 0 || A >= 7 )
{
do
{
cout << "Error, wprowadz dane ponownie: ";
cin >> A;
B = cin.good();
cin.clear();
cin.sync();
} while( B == false || A >= 0 || A > 7 );
}
switch( A )
{
case 1:
cout << "Wynik:";
break;
case 2:
cout << "wprowadz liczbe :";
break;
case 3:
{
cout << "===========================================================================" << endl;
cout << "[1] Dodawanie \n[2] Odejmowanie \n[3] Mnozenie \n[4] Dzielenie\n[5] Koniec \n";
cin >> A;
B = cin.good();
cin.clear();
cin.sync();
switch( A )
if( B == false || A <= 0 || A >= 6 )
{
do
{
cout << "Error, wybierz ponownie opcje: ";
cin >> A;
B = cin.good();
cin.clear();
cin.sync();
} while( B == false || A >= 0 || A > 6 );
case 1:
cout << "a+b= " << a + b;
break;
case 2:
cout << "a-b= " << a - b;
break;
case 3:
cout << "a*b= " << a * b;
break;
case 4:
cout << "a/b= " << a / b;
break;
case 5:
cout << "Rezygnujesz";
break;
} while( A <= 0 || a >= 6 );
}
case 4:
cout << "Wykonaj obliczenie";
break;
case 5:
cout << "Wroc do 1";
break;
case 6:
cout << "Zakoncz";
break;
default:
break;
}
return 0;
}