Pierwszy program i pierwsze schodki

Odpowiedz Nowy wątek
2015-06-14 18:02

Rejestracja: 5 lat temu

Ostatnio: 5 lat temu

0

Hej, uczyłam się kiedyś C++, ale zapomniałam wielu rzeczy niestety. Postanowiłam wznowić naukę i napisać samodzielnie prosty kod. I niestety już na samym początku napotkałam błąd, z którym nie potrafię sobie poradzić. Program miał pytać użytkownika o dzień urodzenia, miesiąc i w rezultacie wypisać na ekranie jaki ma znak zodiaku. Moglibyście mi pomóc, bo zatrzymałam się w tym miejscu i bez pomocy dalej nie ruszę (sądzę, że w Waszych oczach ten kod wyda się idiotyczny, ale muszę improwizować z powodu braku wiedzy). :(

#include <iostream>

int dzien, miesiac;

using namespace std;

int main()
{
    cout << "Witam w moim pierwszym programie!" << endl;
    cout << "Podaj dzien, w ktorym sie urodziles: ";
    cin >> dzien;

    if ((0<dzien)&&(dzien<=31))
    {
        cout << "Podaj teraz miesiac, w ktorym sie urodziles: ";
        cin >> miesiac;
    }
    else
  {
      cout << "Podales bledny dzien miesiaca!";
  }

   if ((0<miesiac)&&(miesiac<=12))
   {
       cout << "Urodziles sie w dniu: " << dzien << endl << "w miesiacu: " << miesiac << endl;
   }
   else
    {
     cout << "Podales niewlasciwy numer miesiaca!";
    }

    cout << "Twoj znak zodiaku to: " << endl << endl;
    if(((dzien>=21)&&(miesiac==3))&&((dzien<=19)&&(miesiac=4)))
    {
        cout <<  "Baran";
    }
    else if (((dzien>=20)&&(miesiac>=4))&&((dzien<=22)&&(miesiac=5)))
    {
        cout <<  "Byk";
    }
    else if (((dzien>=23)&&(miesiac>=5))&&((dzien<=21)&&(miesiac=6)))
    {
        cout <<  "Bliznieta";
    }
    else if (((dzien>=22)&&(miesiac>=6))&&((dzien<=22)&&(miesiac=7)))
    {
        cout <<  "Rak";
    }
    else if (((dzien>=23)&&(miesiac>=7))&&((dzien<=23)&&(miesiac=8)))
    {
        cout <<  "Lew";
    }
    else if (((dzien>=24)&&(miesiac>=8))&&((dzien<=22)&&(miesiac=9)))
    {
        cout <<  "Panna";
    }
    else if (((dzien>=23)&&(miesiac>=9))&&((dzien<=22)&&(miesiac=10)))
    {
        cout <<  "Waga";
    }
    else if (((dzien>=23)&&(miesiac>=10))&&((dzien<=21)&&(miesiac=11)))
    {
        cout <<  "Skorpion";
    }
    else if (((dzien>=22)&&(miesiac>=11))&&((dzien<=19)&&(miesiac=12)))
    {
        cout <<  "Strzelec";
    }else if (((dzien>=22)&&(miesiac>=12))&&((dzien<=21)&&(miesiac=1)))
    {
        cout <<  "Kozrozec";
    }
    else if (((dzien>=20)&&(miesiac>=1))&&((dzien<=18)&&(miesiac=2)))
    {
        cout <<  "Wodnik";
    }else if (((dzien>=19)&&(miesiac>=2))&&((dzien<=19)&&(miesiac=3)))
    {
        cout <<  "Ryby";
    }

    return 0;
} 

Pozostało 580 znaków

2015-06-14 18:09

Rejestracja: 6 lat temu

Ostatnio: 3 lata temu

Polecam zacząć od nowa, uruchomić jakiś dobry kurs podstaw np. videokurs Mirosława Zelenta i nadrabiać zaległości. Kod jaki napisałaś jest straszny :D

Pozostało 580 znaków

2015-06-15 16:55

Rejestracja: 5 lat temu

Ostatnio: 5 lat temu

0

Siema,
masz gotowy program bo było dużo błędów ale to nie rozwiązuje problemu :-P musisz wziąć się za jakiś kurs
mam nadzieję że sam nie zrobiłem jakichś głupich błędów :-P

#include <iostream>

int dzien, miesiac;

using namespace std;

int main()
{
    cout << "Witam w moim pierwszym programie!" << endl;
    cout << "Podaj dzien, w ktorym sie urodziles: ";
    cin >> dzien;

    if ((0<dzien) && (dzien <= 31))
    {
        cout << "Podaj teraz miesiac, w ktorym sie urodziles: ";
        cin >> miesiac;
    }
    else
    {
        cout << "Podales bledny dzien miesiaca!";
    }

    if ((0<miesiac) && (miesiac <= 12))
    {
        cout << "Urodziles sie w dniu: " << dzien << endl << "w miesiacu: " << miesiac << endl;
    }
    else
    {
        cout << "Podales niewlasciwy numer miesiaca!";
    }

    cout << "Twoj znak zodiaku to: " << endl << endl;
    if (((dzien >= 21) && (miesiac == 3)) || ((dzien <= 19) && (miesiac == 4)))
    {
        cout << "Baran";
    }
    else if (((dzien >= 20) && (miesiac == 4)) || ((dzien <= 22) && (miesiac == 5)))
    {
        cout << "Byk";
    }
    else if (((dzien >= 23) && (miesiac == 5)) || ((dzien <= 21) && (miesiac == 6)))
    {
        cout << "Bliznieta";
    }
    else if (((dzien >= 22) && (miesiac == 6)) || ((dzien <= 22) && (miesiac == 7)))
    {
        cout << "Rak";
    }
    else if (((dzien >= 23) && (miesiac == 7)) || ((dzien <= 23) && (miesiac == 8)))
    {
        cout << "Lew";
    }
    else if (((dzien >= 24) && (miesiac == 8)) || ((dzien <= 22) && (miesiac == 9)))
    {
        cout << "Panna";
    }
    else if (((dzien >= 23) && (miesiac == 9)) || ((dzien <= 22) && (miesiac == 10)))
    {
        cout << "Waga";
    }
    else if (((dzien >= 23) && (miesiac == 10)) || ((dzien <= 21) && (miesiac == 11)))
    {
        cout << "Skorpion";
    }
    else if (((dzien >= 22) && (miesiac == 11)) || ((dzien <= 19) && (miesiac == 12)))
    {
        cout << "Strzelec";
    }
    else if (((dzien >= 22) && (miesiac == 12)) || ((dzien <= 21) && (miesiac == 1)))
    {
        cout << "Kozrozec";
    }
    else if (((dzien >= 20) && (miesiac == 1)) || ((dzien <= 18) && (miesiac == 2)))
    {
        cout << "Wodnik";
    }
    else if (((dzien >= 19) && (miesiac == 2)) || ((dzien <= 19) && (miesiac == 3)))
    {
        cout << "Ryby";
    }

    getchar();
    getchar();
    return 0;
} 
edytowany 3x, ostatnio: witekv, 2015-06-15 16:58

Pozostało 580 znaków

2015-06-15 17:13

Rejestracja: 6 lat temu

Ostatnio: 3 lata temu

0

Jeśli się można przyczepić do kodu @witekv to:

  1. Zmienne globalne
  2. Brak jakiejkolwiek pętli w wczytywaniu daty.
  3. Nadmierna ilość warunków.
  4. getchar()

Pozostało 580 znaków

2015-06-15 18:02

Rejestracja: 5 lat temu

Ostatnio: 1 godzina temu

Lokalizacja: Łódź

0

I pomyśleć, że wystarczyłaby tabliza z informacjami oraz prosta pętla, zamiast stada warunków...


Ogólnie na prace domowe mam stawki zaporowe. Czasem coś o programowaniu znajdzie się na mojej stronie

Pozostało 580 znaków

2015-06-15 18:13

Rejestracja: 5 lat temu

Ostatnio: 5 lat temu

0

Chyba działa. Tylko poprawiłem jej kod żeby zadziałał. Przyczepiasz się do jej kodu nie mojego. Jak mówiłem, niech lepiej przerobi jakieś kursy bo nic tak nie uczy jak praktyka. Nie widzę sensu pisać programy za kogoś.

edytowany 1x, ostatnio: witekv, 2015-06-15 18:15

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0