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

Początki z C++, if w pętli while :(

Object Storage Arubacloud
0 głosów
176 wizyt
pytanie zadane 8 sierpnia 2018 w C i C++ przez Krzymado Początkujący (370 p.)

Witam,

dopiero zaczynam zabawę z C++. To mój pierwszy dzień, obejrzałem 3 filmy z serii na ten temat na YT. Chcę stworzyć program który będzie losował liczbę od 1 do 10, pokazywał ją graczowi, a jego zadaniem jest odgadnięcie czy następna losowa liczba będzie od niej większa/mniejsza/równa. Gracz ma szanse popełnić 3 błędy. Liczy się jak największy wynik.

Siedzę nad tym pół godziny i nadal nie wiem czemu wyskakuje błąd, może jestem głupi a odpowiedź jest banalna:

To jest kod:

#include <iostream>
#include <cstdlib>
#include <time.h>
#include <cstdlib>
#include <stdio.h>

using namespace std;

int los1, los2, szanse=3, punkty=0;
string wyb;

int main()
{


     cout << "Nastepna liczba to: " << los2 << cout;


    srand(time(NULL));
    los1 = rand()%10+1;
    los2 = rand()%10+1;

    cout << "Zakres od 1 do 10" << endl << endl << endl
    << "Poczatkowa liczba to: " << los1 << endl << endl
    << "Wybierz  'M'  jesli uwazasz, ze nastepna liczba bedzie MNIEJSZA." << endl
    << "Wybierz  'W'  jesli uwazasz, ze nastepna liczba bedzie WIEKSZA." << endl
    << "Wybierz  'R'  jesli uwazasz, ze nastepna liczba bedzie ROWNA" << endl;
    cin >> wyb;

    while(szanse=0)
    {

        cout << "Twoj aktualny wynik to: " << punkty << endl << endl;

        if(wyb="M")
        {
            if (los1>los2){
                system("cls");
                punkty++;
                cout << "POPRAWNE";
            }

            else {
                system("cls");
                szanse--;
                cout << "ZLE";
            }
        }

        if(wyb="W")
        {
             if (los1<los2){
                system("cls");
                punkty++;
                cout << "POPRAWNE";
            }

            else {
                system("cls");
                szanse--;
                cout << "ZLE";
            }
        }

        if(wyb="R"){
             if (los1==los2){
                system("cls");
                punkty++;
                cout << "POPRAWNE";
            }

            else {
                system("cls");
                szanse--;
                cout << "ZLE";
            }
        }
    }

    return 0;
}

Nie jest to jeszcze gotowe (tam nie powinno być "ŻLE"/"DOBRZE") to tak na razie zanim uporam się z tym problemem...

Z góry dziękuje za odpowiedź :)

1 odpowiedź

0 głosów
odpowiedź 8 sierpnia 2018 przez k222 Nałogowiec (30,150 p.)
W C++ jeżeli chcesz sprawdzić czy dwie liczby są sobie równe piszesz ==, a czy różne piszesz !=, = służy do przypisywania, tak więc w if'ach powinno być if(wyb=="M") a nie if(wyb="M") oraz w pętli pewnie powinno być while(szanse!=0) zamiast while(szanse=0).
komentarz 8 sierpnia 2018 przez FaloY Bywalec (2,180 p.)
Jak dla mnie, linia z while, jest poprawnie.
komentarz 8 sierpnia 2018 przez Krzymado Początkujący (370 p.)
Wiedziałem, że powód musi być banalny. Dziękuje bardzo, teraz działa.
komentarz 9 sierpnia 2018 przez k222 Nałogowiec (30,150 p.)

@FaloY, nie, nie jest 

komentarz 9 sierpnia 2018 przez criss Mędrzec (172,590 p.)

@FaloY, to napisz do C++ standard commitee, żeby zmienili XD wtf serio

Podobne pytania

0 głosów
2 odpowiedzi 279 wizyt
0 głosów
0 odpowiedzi 90 wizyt
pytanie zadane 18 stycznia 2020 w C# przez r.mar Początkujący (470 p.)

92,552 zapytań

141,399 odpowiedzi

319,533 komentarzy

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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy 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!

...