• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Błąd logiczny???

Object Storage Arubacloud
0 głosów
216 wizyt
pytanie zadane 5 maja 2016 w C i C++ przez mario5551 Użytkownik (550 p.)

Tworze przelicznik cm na cale i na odwrót, stopni celsjusza na fahrenheita i na odwrót. Gdy uruchamiam program wybieram opcje(obojętnie czy pierwszą czy drugą) program kończy prace zamiast wykonywać dalszą prace. Gdzie tkwi błąd?

#include <iostream>
#include <stdio.h>
using namespace std;
float cm, cal, decyzja, cl, fach;
int main()
{
    cout <<"Jesli chcesz zamienic cm na cale albo cale na cm wybirz 1: "<<endl;
    cout <<"Jesli chcesz zamienic celc. na faranhajty lub na odwrot to wybierz 2: "<<endl;
    if(decyzja==1)//cm na cale i na odwrut
    {
        cout << "1.cm zamienic na cale?" << endl;
        cout << "2.cal zamienic na cm?" << endl;
        cout << "wybierz 1 lub 2: ";
        cin >> decyzja;
        if(decyzja==1)
        {
            cout<<"Ile cm: ";
            cin>>cm;
            cout<<"to jest "<<cm/2.54<<" cali"<<endl;
        }
        else
        {
            cout<<"Ile cali: ";
            cin>>cal;
            cout<<"to jest "<<cal*2.54<<" centymetrow"<<endl;
        }
    }

    if(decyzja==2)//stopnie celcjusza na faranchajta i na odwrut
    {
        cout << "1.cm celcjusze na faranchajty?" << endl;
        cout << "2.faranchajty na celcjusze?" << endl;
        cout << "wybierz 1 lub 2: ";
        cin >> decyzja;
        if(decyzja==1)
        {
            cout<<"Ile celcjuszy: ";
            cin>>cl;
            cout<<"to jest "<<cl*33.8<<" faranchajtow"<<endl;
        }
        else
        {
            cout<<"Ile faranchajtow: ";
            cin>>fach;
            cout<<"to jest "<<fach/33.8<<" celcjuszy"<<endl;
        }


    }
    getchar(); getchar();
    return 0;
}

 

komentarz 5 maja 2016 przez mario5551 Użytkownik (550 p.)
Mam jeszcze jeden kłopot jak kończy się wykonywać pierwszy if to przechodzi od razu do drugiego zamiast zakończyć program.

3 odpowiedzi

+1 głos
odpowiedź 5 maja 2016 przez dorota Nowicjusz (160 p.)
Brakuje wczytania zmiennej "decyzja" przed sprawdzaniem warunków.
0 głosów
odpowiedź 5 maja 2016 przez niezalogowany
  1. Dlaczego decyzja jest typu float?
  2. Spójrz jaką wartość ma decyzja w momencie, gdy program sprawdza, czy jest ona równa 1 lub 2.
0 głosów
odpowiedź 5 maja 2016 przez niezalogowany
Zmienna decyzja ma wartość  = 0. Wczytuj do niej dane. Poza tym tak się nie porównuje liczb zmiennoprzecinkowych.

Podobne pytania

0 głosów
3 odpowiedzi 757 wizyt
pytanie zadane 12 stycznia 2018 w Matematyka, fizyka, logika przez must Bywalec (2,980 p.)
0 głosów
1 odpowiedź 479 wizyt
pytanie zadane 17 listopada 2017 w Matematyka, fizyka, logika przez michalnt Użytkownik (520 p.)
0 głosów
1 odpowiedź 336 wizyt

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...