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

question-closed Jak poprawnie to napisac?

Mały hosting, OGROMNE możliwości
0 głosów
755 wizyt
pytanie zadane 19 czerwca 2015 w C i C++ przez Lukasz Bywalec (2,320 p.)
zamknięte 21 czerwca 2015 przez Lukasz
Witam ma taki kłopot. W pętli while nic nie chce dzialac. linijki pisza sie w nieskonczonosc albko pisze ze liczba jest za duza i za mala jednoczesnie.

 

#include <iostream>
#include <cstdlib>
#include <ctime>
#include <windows.h>

using namespace std;

void grakosc()
{
    int liczba,suma=0,wybor;
    cout<<"Rzucilem koscia szescienna 6 razy. Zgadnij jaka jest suma oczek po 6 rzutach!"<<endl;
    srand(time(NULL));
    for(int i=0;i<6;i++)
    {
    liczba = rand()%6+1;
    Sleep(100);
    suma+=liczba;
    }

    cin>>wybor;
    while(wybor=suma)
    {
    if(wybor=suma)
        cout<<"Brawo zgadles, to liczba "<<suma<<endl;
    if(wybor<suma)
        cout<<"To za malo.";
    if(wybor>suma);
        cout<<"To za duzo.";
    }

}

int main()
{
    grakosc();
}
komentarz zamknięcia: pytanie rozwiazane przez autora

1 odpowiedź

+2 głosów
odpowiedź 19 czerwca 2015 przez Arkadiusz Waluk Ekspert (291,470 p.)

Operator = to przypisanie, a porównanie to ==

Czyli w tej pętli while i warunku poniżej powinno być np. while(wybor==suma)

W tej chwili przypisujesz tą wartość w nieskończoność dlatego to nie może działać ;)

komentarz 19 czerwca 2015 przez Lukasz Bywalec (2,320 p.)
Po wpisaniu == w wybor==suma nie wykonuja sie zadne ify
komentarz 19 czerwca 2015 przez Arkadiusz Waluk Ekspert (291,470 p.)

Pętla wykona się dopiero wtedy gdy warunek będzie prawdziwy czyli wartość zmiennej wybor będzie taka sama jak wartość zmiennej suma. Patrząc dalej na kod to nie za bardzo rozumiem jak miałoby to działać bo chcesz aby w pętli która wykona się tylko wtedy gdy te liczby będą takie same sprawdzać czy te liczby nie są większe/mniejsze od siebie? Masz tutaj jakiś błąd logiczny...

komentarz 19 czerwca 2015 przez Lukasz Bywalec (2,320 p.)
Ma byc tak ze mam jakas sume i mam ja zgadnac a program podpowiada czy za duzo czy za malo.

teraz napisalem to tak i nie dziala dalej. Pokazuje ze za duzo i za malo jedoczesnie

    cin>>wybor;
    do
    {
    if(wybor==suma)
        cout<<"Brawo zgadles, to liczba "<<suma<<endl;
    if(wybor<suma)
        cout<<"To za malo.";
    if(wybor>suma);
        cout<<"To za duzo.";
    }while(wybor==suma);
komentarz 19 czerwca 2015 przez Lukasz Bywalec (2,320 p.)
Juz rozwiązalem klopot. wszystko przez male ; po 3 if. temat do zamknięcia ;)
komentarz 19 czerwca 2015 przez Arkadiusz Waluk Ekspert (291,470 p.)
Akurat byłem troszkę zajęty i nie mogłem pomóc ale fajnie że już wszystko jest dobrze :)

I jakby coś to sam możesz zamykać pytanie - służy do tego ikona kłódki pod pytaniem.

Podobne pytania

0 głosów
1 odpowiedź 1,187 wizyt
0 głosów
2 odpowiedzi 710 wizyt
pytanie zadane 3 stycznia 2020 w Sieci komputerowe, internet przez zkkf56 Dyskutant (8,710 p.)
0 głosów
1 odpowiedź 880 wizyt
pytanie zadane 3 stycznia 2018 w Sieci komputerowe, internet przez Raba_Ababa Początkujący (390 p.)

93,717 zapytań

142,629 odpowiedzi

323,261 komentarzy

63,261 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...