Pierwszy program i pierwsze schodki

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;
} 
2

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

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;
} 
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()
0

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

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ś.

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