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

Błąd logiczny???

VPS Starter Arubacloud
0 głosów
211 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 711 wizyt
pytanie zadane 12 stycznia 2018 w Matematyka, fizyka, logika przez must Bywalec (2,980 p.)
0 głosów
1 odpowiedź 470 wizyt
pytanie zadane 17 listopada 2017 w Matematyka, fizyka, logika przez michalnt Użytkownik (520 p.)
0 głosów
1 odpowiedź 319 wizyt

92,452 zapytań

141,261 odpowiedzi

319,074 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...