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

zadanie z rozdziału 15

Ostatnio zmodyfikowano 2012-06-28 11:54
Autor Wiadomość
Arni
Temat założony przez niniejszego użytkownika
zadanie z rozdziału 15
» 2012-06-27 01:08:46
nie rozumiem w czym robię błąd bo nie wychodzi to co ma wyjścposób może byc
C/C++
#include <iostream>

using namespace std;
int main()
{
    float a, b;
    do
    {
        cout << "Podaj liczbe a" << endl;
        cin >> a;
        cout << "Podales " << a << endl;
    } while( a < 0 );
   
    do
    {
        cout << "Podaj liczbe b" << endl;
        cin >> b;
        cout << "Podales " << b << endl;
    } while( b < 0 );
   
    int dzialanie;
    cout << "Działania do wyboru : \n [1] dodawanie \n [2] odejmowanie \n [3] mnozenie \n [4] dzielnie \n [5] rezygnacja" << endl;
    cout << "Wybrane dzialnie";
    cin >> dzialanie;
    switch( dzialanie )
    {
    case 1:
        cout << " dodawanie " << a + b << endl;
        break;
    case 2:
        cout << "odejmowanie " << a - b << endl;
        break;
    case 3:
        cout << " mnozenie" << a * b << endl;
        break;
    case 4:
        cout << " dzieleni" << a / b << endl;
        break;
    default:
        cout << " rezygnuj" << endl;
    }
    getchar();
    getchar();
    return 0;
}


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
Zabezpiecz wcześniej napisany kalkulator przed podawaniem niepoprawnych liczb i operacji. Wykorzystaj wiedzę zdobytą z pierwszego zadania pracy domowej niniejszego rozdziału. Zabezpiecz również w analogiczny sposób przed możliwością wyboru nieprawidłowego działania.

P-59243
Benu1
» 2012-06-27 01:46:11
Podaj tresc zadania to moze pomoge
P-59245
xevuel
» 2012-06-27 09:03:55
@Arni:
Wedle treści zadania, user ma podać tylko jedną liczbę, a nie dwie :) Może zapodam pseudokod:

otwarcie programu;
tworzysz nową zmienną, np. wynik i przypisujesz jej 0;
while(true)
{
   prosisz po podanie liczby;
   if(liczba == 0)
      break;

   prosisz o wybór działania;
   if(dzialanie == 5)
      break;
   wykonujesz działanie;
   wypisujesz wynik;
}


<offtop>
@Benu: No cholera. Jakbyś nie mógł sam poszukać treści. Kij z tym, wyedytował, podał treść zadania, i co? Zero reakcji. Po twoich postach i przynagleniach co 10 minut wnioskuję, że zbyt dużego pojęcia o programowaniu to ty nie masz.

moze pomoge
Co z tego że nie potrafię pomóc? Nabiję sobie posta, a jakby ktoś miał pretensje, to przecież napisałem "moze"...

@down down:
czekalem 2h az edytuje posta
Bardzo ciekawe. Widocznie mnie w szkole uczyli innej matematyki niż ciebie.
Ostatnio zmodyfikowano wczoraj o 02:16:43
Napisano 2012-06-27 01:46:11
Jak dla mnie to jest pół godziny, nie dwie. No ale cóż, "smieszne". Widocznie masz bana na google, że takiego zadania znaleźć nie potrafiłeś, przykre.

Po uplywie tego czasu juz nawet tu nie zagladalem
Kultura wymaga, że po zaproponowaniu komuś pomocy należy ją jak najszybciej spełnić, o ile to potrafimy. Napisałeś, że "bez problemu". Poza tym, w ciągu dnia kilkakrotnie odwiedzałeś ten serwis.

wiec sie ogarnij "pro skrypterze"
I jak ja mam to skomentować? Nawet nie wiesz, czym jest skrypt -_- Jeszcze takie małe pytanko: Gdzie ja napisałem, choćby raz na tym forum, że jestem "pro"...?

</offtop>
P-59249
Netro
» 2012-06-27 14:25:48
@Arni
poniżej masz jak powinien wyglądać kod

mam nadzieję że zrozumiałeś to jak opisałem , jak coś to pytaj.


C/C++
#include <iostream>
using namespace std;

int main()
{
    float wynik = 0, a; int b; bool x; // deklarujesz zmienne
    do
    {
        do
        {
            if( x == 1 || wynik == 0 )
                 cout << "Wynik: " << wynik << endl; // wypisuje wynik jeżeli jest spełniony warunek
           
            cout << "Podaj liczbe: ";
            cin >> a; // wprowadzenie liczby
            x = cin.good(); // sprawdza poprawność wprowadzonej liczby a następnie przypisuje wartość logiczną do zmiennej x
            cin.clear();
            cin.sync();
        } while( x != 1 ); // sprawdza warunek czy  wartość zmiennej x ma 1, jeżeli tak to wychodzi z pętli
       
        if( a != 0 ) // sprawdza warunek czy podana liczba jest różna od zera
        {
            cout << "Działania do wyboru : \n [1] dodawanie \n [2] odejmowanie \n [3] mnozenie \n [4] dzielnie \n [5] rezygnacja" << endl;
            cout << "Wprowadz dzialanie: ";
            cin >> b;
           
           
            switch( b )
            {
            case 1:
                wynik += a;
                break;
            case 2:
                wynik -= a;
                break;
            case 3:
                wynik *= a;
                break;
            case 4:
                wynik /= a;
                break;
            case 5:
                cout << "\n\nZrezygnowales z wyboru dzialania!\n\n" << endl;
                break;
            default:
                cout << "\n\nWprowadz liczbe od 1 do 5\n\n" << endl;
            };
           
        };
    } while( a != 0 ); // jeżeli wprowadzona liczba a to zero to wychodzi z pętli i jest koniec programy
   
    cout << "\n\nKoniec programu!\n\n";
    return 0;
}
P-59272
Benu1
» 2012-06-27 23:41:07
@xevuel

Pojecia duzego o programowaniu nie mam ale ta prace domowa bym zrobil bez problemu to po 1 po 2 nabilem sobie posta? smieszne czekalem 2h az edytuje posta i poda tresc zadania. Po uplywie tego czasu juz nawet tu nie zagladalem wiec sie ogarnij "pro skrypterze"
P-59307
DejaVu
» 2012-06-28 00:01:29
@Benu1: dostosuj się do kultury panującej na forum albo organizm będzie zmuszony Ciebie wydalić. Jak chcesz walić takimi tekstami w stosunku do innych użytkowników to odbimbruj na inne forum.
P-59308
ziom10
» 2012-06-28 11:45:06
C/C++
do
{
    if( x == 1 || wynik == 0 )
         cout << "Wynik: " << wynik << endl; // wypisuje wynik jeżeli jest spełniony warunek
   
    cout << "Podaj liczbe: ";
    cin >> a; // wprowadzenie liczby
    x = cin.good(); // sprawdza poprawność wprowadzonej liczby a następnie przypisuje wartość logiczną do zmiennej x
    cin.clear();
    cin.sync();
} while( x != 1 ); // sprawdza warunek czy  wartość zmiennej x ma 1, jeżeli tak to wychodzi z pętli

Nie rozumiem jaka tu jest zależność pomiędzy 'a' i 'x', jak x może sprawdzić czy a jest dobre?
PS. proszę o wyrozumiałość a nie odsyłanie mnie do google ;p
P-59313
SeaMonster131
» 2012-06-28 11:54:39
Najpierw wpisujesz a (cin >> a). Powiedzmy że jest to typ int. No więc w następnej linijce sprawdzasz czy użytkownik wpisał właśnie te int (liczby) czy może coś innego (x = cin.good()). Jeżeli wszystko się zgadza, to x wynosi true, jeżeli użytkownik wpisał np ciąg znaków to x wynosi false.
P-59314
« 1 »
  Strona 1 z 1