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

Błąd w kodzie C++ - wyszukiwanie zwycięzcy LM w danym sezonie

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
161 wizyt
pytanie zadane 7 grudnia 2023 w C i C++ przez SzymonR Nowicjusz (120 p.)

Dzień dobry,

Jestem świeżo po przerobieniu drugiej części kursu C++ (o instrukcjach warunkowych „if”). W ramach treningu nowo nabytych umiejętności postanowiłem wykonać następujący program:

Ponieważ jestem miłośnikiem piłki nożnej, postanowiłem wykonać program wyświetlający nazwę klubu, który wygrał edycję Pucharu Europy/Ligi Mistrzów w danym roku (np. Juventus FC – 1996, AC Milan – 1990). W przypadku wpisania roku przed 1956 i po 2023 program miał wyświetlać napis „W tym roku nie rozegrano edycji Pucharu Europy”. Niestety po uruchomieniu programu i wpisaniu dowolnej daty wyskakuje mi „Real Madryt”. Kilkukrotnie przejrzałem cały zapis i nie mogę znaleźć błędu. A może w tym przypadku trzeba użyć innego narzędzia? Bardzo proszę o pomoc.

#include <iostream>

using namespace std;

int rok;
int main()

{
cout<<"Witaj w swiecie Ligi Mistrzow"<<endl;
cout<<"Podaj rok: ";
cin>>rok;

if (rok==1956||1957||1958||1959||1960||1966||1998||2000||2002||2014||2016||2017||2018||2022)
           {
                cout<<"Real Madryt";
           }
    else if (rok==1961||1962)
                    {
                        cout<<"SL Benfica";
                    }
                     else if (rok==1963||1969||1989||1990||1994||2003||2007)
                                {
                                    cout<<"AC Milan";
                                }
                                else if (rok==1964||1965||2010)
                                            {
                                                cout<<"Inter Mediolan";
                                            }
                                           else if (rok==1967)
                                                    {
                                                        cout<<"Celtic FC";
                                                    }
                                                    else if (rok==1968||1999||2008)
                                                            {
                                                                cout<<"Manchester United";
                                                            }
                                                               else if (rok==1970)
                                                                    {
                                                                        cout<<"Feyenoord Rotterdam";
                                                                    }
                                                                       else if (rok==1971||1972||1973||1995)
                                                                            {
                                                                                cout<<"Ajax Amsterdam";
                                                                            }
                                                                           else if (rok==1977||1978||1981||1984||2005||2019)
                                                                                            {
                                                                                                cout<<"Liverpool FC";
                                                                                            }
                                                                                           else if (rok==1979||1980)
                                                                                                    {
                                                                                                        cout<<"Nottingham Forest";
                                                                                                    }
                                                                                                   else if (rok==1982)
                                                                                                            {
                                                                                                                cout<<"Aston Villa FC";
                                                                                                            }
                                                                                                            else if (rok==1983)
                                                                                                                    {
                                                                                                                        cout<<"Juventus FC";
                                                                                                                    }
                                                                                                                    else if (rok==1985||1996)
                                                                                                                            {
                                                                                                                                cout<<"Juventus FC";
                                                                                                                            }
                                                                                                                           else if (rok==1986)
                                                                                                                                    {
                                                                                                                                        cout<<"Steaua Bukareszt";
                                                                                                                                    }
                                                                                                                                       else if (rok==1987||2004)
                                                                                                                                            {
                                                                                                                                                cout<<"FC Porto";
                                                                                                                                            }
                                                                                                                                            else if (rok==1988)
                                                                                                                                                    {
                                                                                                                                                        cout<<"PSV Eindhoven";
                                                                                                                                                    }
                                                                                                                                                    else if (rok==1991)
                                                                                                                                                            {
                                                                                                                                                                cout<<"Crvena Zvezda Belgrad";
                                                                                                                                                            }
                                                                                                                                                               else if (rok==1992||2006||2009||2011||2015)
                                                                                                                                                                        {                                                                                                                                                            cout<<"FC Barcelona";                                                                                                                                                                       }
                                                                                                                                                                        else if (rok==1993)
                                                                                                                                                                            {
                                                                                                                                                                                cout<<"Olympique Marsylia";
                                                                                                                                                                            }
                                                                                                                                                                           else if (rok==1997)
                                                                                                                                                                                    {
                                                                                                                                                                                        cout<<"Borussia Dortmund";
                                                                                                                                                                                    }
                                                                                                                                                                                   else if (rok==2012||2021)
                                                                                                                                                                                            {
                                                                                                                                                                                                cout<<"Chelsea FC";
                                                                                                                                                                                            }
                                                                                                                                                                                             else if (rok==2023)
                                                                                                                                                                                                    {
                                                                                                                                                                                                        cout<<"Manchester City";
}
else
{
cout<<"Nie rozegrano jeszcze tej edycji Pucharu Europy";
}
}

 

komentarz 10 grudnia 2023 przez TOWaD Mądrala (6,100 p.)

Ale chyba Pan z niemieckich klubów, lubi tylko Borussię Dortmund, bo innych nie widać :).

np 1983  Hamburger SV i brak Bayernu

Taki switch case online.

komentarz 11 grudnia 2023 przez SzymonR Nowicjusz (120 p.)
Rzeczywiście, mój błąd :P Dziękuję za uwagę, już poprawiłem :)
komentarz 17 grudnia 2023 przez TOWaD Mądrala (6,100 p.)

Aczkolwiek jeden if wystarczy online

1 odpowiedź

+2 głosów
odpowiedź 7 grudnia 2023 przez adrian17 Mentor (350,120 p.)
edycja 7 grudnia 2023 przez adrian17

Najpierw to kliknij guzik w edytorze żeby naprawił Ci formatowanie, bo... wow, te wcięcia.

A błąd jest bardzo jasny:

else if (rok==1961||1962)

`||` rozdziela pełne warunki. Czyli to nie jest `rok == (1961 lub 1962)`, to jest `(rok == 1961) lub (1962)`. Tutaj prawy warunek to... no, liczba niezerowa więc warunek zawsze spełniony.

komentarz 7 grudnia 2023 przez SzymonR Nowicjusz (120 p.)
Dziękuję, czyli oznacza to, że trzeba wpisać "rok==1961||rok==1962"?

Pozdrawiam
komentarz 7 grudnia 2023 przez adrian17 Mentor (350,120 p.)
Tak.
komentarz 7 grudnia 2023 przez SzymonR Nowicjusz (120 p.)
Ok, dzięki wielkie za pomoc!

Podobne pytania

0 głosów
1 odpowiedź 377 wizyt
0 głosów
1 odpowiedź 346 wizyt
0 głosów
0 odpowiedzi 446 wizyt
pytanie zadane 13 listopada 2017 w C i C++ przez F1DZ1 Nowicjusz (190 p.)

93,103 zapytań

142,077 odpowiedzi

321,561 komentarzy

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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...