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

Błąd logiczny???

42 Warsaw Coding Academy
0 głosów
288 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 1,304 wizyt
pytanie zadane 12 stycznia 2018 w Matematyka, fizyka, logika przez must Bywalec (2,980 p.)
0 głosów
1 odpowiedź 558 wizyt
pytanie zadane 17 listopada 2017 w Matematyka, fizyka, logika przez michalnt Użytkownik (520 p.)
0 głosów
1 odpowiedź 465 wizyt

93,382 zapytań

142,381 odpowiedzi

322,538 komentarzy

62,738 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

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...