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

Mój pierwszy program błąd w kodowaniu

42 Warsaw Coding Academy
0 głosów
334 wizyt
pytanie zadane 17 stycznia 2017 w C i C++ przez Rocket_Turtle Nowicjusz (150 p.)

Strzała! frownpiszę iż mam problem dokładniej z moim kodem . Dopiero zaczynam się w to bawić . Nie wiem jak zmodyfikować mój kod aby działał poprawnie.

#include <iostream>

using namespace std;
string date;
int main()
{
    cout << "W ktorym miesiacu sie urodziles :";
    cin>>date;

        if(date=="styczen");
    {
        cout<<"koziorozec";
    }

        if(date=="luty");
    {
        cout<<"wodnik";
    }

        if(date=="marzec");
    {
        cout<<"ryby";
    }

        if(date=="kwiecien");
    {
        cout<<"baran";
    }

        if(date=="maj");
    {
        cout<<"byk";
    }

        if(date=="czerwiec");
    {
        cout<<"bliznieta";
    }

        if(date=="lipiec");
    {
        cout<<"rak";
    }

        if(date=="sierpien");
    {
        cout<<"lew";
    }

        if(date=="wrzesien");
    {
        cout<<"panna";
    }

        if(date=="pazdziernik");
    {
        cout<<"waga";
    }

        if(date=="lisopad");
    {
        cout<<"skorpion";
    }
       if(date=="grudzien");
    {
        cout<<"strzelec";
    }
    return 0;
}

Ogólnie chodzi mi o to że po wpisaniu jakiegokolwiek miesiąca w odpowiedzi wyskakują wszystkie znaki zodiaku naraz. Z GÓRY DZIĘKI ZA POMOC !yes

2 odpowiedzi

+2 głosów
odpowiedź 17 stycznia 2017 przez VirtualMember Pasjonat (15,790 p.)
wybrane 17 stycznia 2017 przez Rocket_Turtle
 
Najlepsza

po każdym ifie masz średnik, usuń go bo nie wykonują się instrukcje pod nim

 

if(date=="styczen")
    {
        cout<<"koziorozec";
    }

tak to powinno wyglądać. I używaj za miast if if if to lepiej coś takiego

if(date=="styczen")
    {
        cout<<"koziorozec";
    }
else if(date=="costam")
{
cout<<"costam";
}

przyśpiesza to program bo nie sprawdza on warunków, które i tak się nie sprawdzą (no chyba, że twój wybór padnie na ostatni warunek)

0 głosów
odpowiedź 17 stycznia 2017 przez niezalogowany
Zapomniałeś o jednej rzeczy:
#include "string"

 

komentarz 17 stycznia 2017 przez VirtualMember Pasjonat (15,790 p.)
Do używania dynamicznie alokowanej tablicy charów nie jest potrzebny nagłówek string
komentarz 17 stycznia 2017 przez niezalogowany

Visual Studio twierdzi jednak inaczej:

Error	C2679	binary '>>': no operator found which takes a right-hand operand of type 'std::string' (or there is no acceptable conversion)

Linia 9.

1
komentarz 17 stycznia 2017 przez Rocket_Turtle Nowicjusz (150 p.)
Bez tego działa poprawnie .
komentarz 17 stycznia 2017 przez Eryk Andrzejewski Mędrzec (164,260 p.)
Jest to po prostu zależne od implementacji. Mimo wszystko warto zaincludować, gdyż umożliwiamy w ten sposób przenośność programu.

Podobne pytania

0 głosów
2 odpowiedzi 250 wizyt
pytanie zadane 23 listopada 2016 w Nasze projekty przez _Denty_ Nowicjusz (120 p.)
0 głosów
1 odpowiedź 1,582 wizyt
pytanie zadane 3 listopada 2017 w Nasze projekty przez olekjs Gaduła (4,590 p.)
+1 głos
1 odpowiedź 754 wizyt
pytanie zadane 7 stycznia 2019 w Nasze projekty przez Absum Bywalec (2,640 p.)

93,394 zapytań

142,387 odpowiedzi

322,550 komentarzy

62,752 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
...