Kalkulator
Ostatnio zmodyfikowano 2015-12-23 13:12
| Karlikovsky Temat założony przez niniejszego użytkownika | Kalkulator » 2015-12-11 23:05:02 Witam, otóż w 15 rozdziale kursu C++ zadaniem domowym jest stworzenie prostego kalkulatora, przedstawiam wam mój i proszę o opinię czy jest w porządku oraz jak ewentualnie mogłem skrócić długość kodu. :) #include <iostream>int main()
 {
 using namespace std;
 int a;
 int b;
 int wynik;
 int dzialanie;
 
 cout << "[1] Dodawanie [2] Odejmowanie" << endl;
 cout << "[3] Mnozenie [4] Dzielenie" << endl;
 cout << "[5] Rezygnuj" << endl;
 
 wynik = 0;
 
 do
 {
 cout << "Wynik: " << wynik << endl;
 cout << "Podaj liczbe a: ";
 cin >> a;
 cout << "Podaj liczbe b: ";
 cin >> b;
 cout << "Wybierz dzialanie:";
 cin >> dzialanie;
 
 bool zero;
 if( zero =( a && b && dzialanie != 0 ) )
 {
 
 
 
 switch( dzialanie )
 
 {
 case 1:
 wynik = a + b;
 cout << a << "+" << b << "=" << wynik << endl;
 
 break;
 
 case 2:
 wynik = a - b;
 cout << a << "-" << b << "=" << wynik << endl;
 break;
 
 case 3:
 wynik = a * b;
 cout << a << "*" << b << "=" << wynik << endl;
 break;
 
 case 4:
 wynik = a / b;
 cout << a << ":" << b << "=" << wynik << endl;
 break;
 
 case 5:
 return 0;
 
 break;
 
 default:
 cout << "Wybierz odpowiednie dzialanie." << endl;
 
 }
 }
 
 } while( wynik != 0 );
 
 cout << "Wprowadziles 0, dlatego operacja zostala przerwana.";
 
 return 0;
 }
 
 | 
|  | 
| carlosmay | » 2015-12-11 23:21:32 Zabezpiecz program przed wprowadzaniem nieprawidłowych danych i przed dzieleniem przez zero. Pisz kod czytelny i zrozumiały, nie musi być krótki.
 | 
|  | 
| Karlikovsky Temat założony przez niniejszego użytkownika | » 2015-12-12 12:54:43 Troszkę to poprawiłem, czy teraz jest ok? | 
|  | 
| carlosmay | » 2015-12-12 14:36:38  Wręcz przeciwnie. | bool zero; if( zero =( a && b && dzialanie != 0 ) )
 
 
 | 
 | 
|  | 
| Szadziu | » 2015-12-23 11:37:44 up: Warunek o dziwo jest poprawny, a zmienna jest zainicjalizowana( w ifie ). Pytanie tylko czy robi to co użytkownik chciał.  | 
|  | 
| darko202 | » 2015-12-23 13:12:44 >> proszę o opinię .. jak ewentualnie mogłem skrócić długość kodu.  jeśli chodzi o skrócenie kodu to jeśli : * stworzysz makra,  np.  #define PRINT(a,b,znak) (cout << a << znak << b << "=" << (a+b) << endl)
 
 PRINT( a, b, '+' );
 PRINT( a, - b, '-' );
 
* funkcje dublujące funkcjonalność  np. void PodajDane( int & x ){
 cout << "Podaj liczbe : ";
 cin >> x;
 }
 
 ...
 PodajDane( a );
 PodajDane( b );
 ...
 
 
 cout << "Podaj liczbe a: ";
 cin >> a;
 ....
 
* zrezygnujesz ze zbędnych zmiennych  wynik = a + b;cout << a << "+" << b << "=" << wynik << endl;
 
 
 cout << a << "+" << b << "=" <<( a + b ) << endl;
 
 PRINT( a, b, '+' );
 
* itp. to kod da się skrócić  ogólnie trochę trzeba pomyśleć co jest nadmiarowe, da się uprościć | 
|  | 
| « 1 » |