Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Problem z drugim zadaniem domowym w Rozdziale 15.

Ostatnio zmodyfikowano 2016-07-10 20:45
Autor Wiadomość
Norbix
Temat założony przez niniejszego użytkownika
Problem z drugim zadaniem domowym w Rozdziale 15.
» 2016-07-04 18:58:54
Witam, znajduję się w rozdziale 15, gdzie jako zadanie domowe było napisanie prostego kalkulatora.
Zadaniem było:

Napisz prosty kalkulator, który będzie potrafił dodawać, odejmować, mnożyć i dzielić. Program ten ma działać następująco:
1. Wypisuje obecny wynik
2. Wprowadź liczbę
3. Wybierz działanie (jeżeli liczba różna od 0)
4. Wykonaj obliczenia (jeżeli liczba różna od 0)
5. Wróć do kroku 1.
6. Jeżeli wprowadzoną liczbą jest 0, zakończ program.
Przykładowe menu wyboru działania:
[1] Dodawanie
[2] Odejmowanie
[3] Mnożenie
[4] Dzielenie
[5] Rezygnuj

I w tym tkwi problem, bo nie wiem co miał na myśli autor z krokiem pierwszym.
Aplikacja ma podać obecny wynik bez żadnego działania?
Oto mój aktualny postęp:

#include <iostream>
#include <stdlib.h>

using namespace std;

int main()
{
    int liczba, druga, wybor;
do {
cout << "Podaj liczbe:" << endl;
cin >> liczba;
cout << "Podaj druga liczbe:" << endl;
cin >> druga;
if( liczba != 0, druga != 0)
{
cout << "[1] Dodawanie" << endl;
cout << "[2] Odejmowanie" << endl;
cout << "[3] Mnozenie" << endl;
cout << "[4] Dzielenie" << endl;
cout << "[5] Rezygnuj" << endl;
}
cin >> wybor;
switch (wybor)
{
case 1:

        cout << "Wynik: " << liczba+druga << endl;
break;
case 2:

        cout << "Wynik: " << liczba-druga << endl;
break;
case 3:

        cout << "Wynik: " << liczba*druga << endl;
break;
case 4:

     cout << "Wynik:" << liczba/druga << endl;
break;
case 5:
    exit(0);
break;
default:
    cout << "Wybrales niepoprawne dzialanie." << endl;
}
}while (liczba!=0);

}

Czy może mi ktoś powiedzieć co z pierwszym krokiem ma autor na myśli? I jak to napisać?



P-149674
Gibas11
» 2016-07-04 19:04:49
Przyjmij za pierwszy wynik 0, 1 albo coś. Zadanie i tak jest dziwnie skonstruowane bo w podanym przez Ciebie algorytmie krok 6. nigdy się nie wykona. Programowanie takie jest, czytaj między wierszami. ;-;
P-149675
carlosmay
» 2016-07-04 20:00:15
if( liczba != 0, druga != 0 )
Nieprawidłowo napisany warunek.
http://cpp0x.pl/kursy/Kurs-C++​/Poziom-1/Operacje-logiczne/15
P-149676
Norbix
Temat założony przez niniejszego użytkownika
» 2016-07-04 20:10:34
carlosmay, a mógłbyś mi wytłumaczyć jak napisać prawidłowo ten warunek?
P-149677
Gibas11
» 2016-07-04 20:13:19
Operatory logiczne zamiast przecinka, && - "i", || - "lub".
P-149678
carlosmay
» 2016-07-04 20:17:11
if( liczba != 0 && druga != 0 )
 Wykonaj jeśli obie są różne od 0.
P-149679
Norbix
Temat założony przez niniejszego użytkownika
» 2016-07-04 21:26:43
Dzięki, a wie ktoś może jak zabezpieczyć program przed rozsypaniem się? Wiem że switch nie obsługuję zmiennej float, więc jak wpisuję 2,4 to rzecz jasna program się sypie. Czy jest ktoś w stanie mi pomóc zabezpieczyć ten program aby poprostu wczytał liczbę przecinkową jako nie właściwą i wydał komunikat "Niewłaściwe działanie?"
P-149680
Gibas11
» 2016-07-04 21:29:01
1. Zmień zmienne na double?
2. 2,4 dalej będzie błędne, w konsoli i C++ domyślnym separatorem dziesiętnym jest kropka, więc dopiero zapis 2.4 będzie ok.
P-149681
« 1 » 2
  Strona 1 z 2 Następna strona