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

Proszę o wytłumaczenie

Object Storage Arubacloud
+1 głos
154 wizyt
pytanie zadane 11 czerwca 2017 w C i C++ przez zales Nowicjusz (210 p.)

Jestem początkującym programistą i zetknąłem się z problem, którego nie mogę rozwiązać od wielu dni.

Tak wygląda mój kod źródłowy: 

#include <iostream>

using namespace std;

int main()
{

short liczba_graczy, runda, licznik_wygranych;
short wygrany[5], punkty_stracone[5];
string gracze[5];

cout<< "Podaj liczbe graczy(maksymalna ilosc graczy to 5): ";    cin>> liczba_graczy;

gracze[0]="a";
gracze[1]="b";
gracze[2]="c";
gracze[3]="d";
gracze[4]="e";

cout<<"Napisz ilu graczy wygralo runde: ";    cin>> runda;


for(short i=0; i<runda; i++)
{        
    cout<<"Napisz numer "<< i+1 <<" gracza ktory wygral: ";
    cin>> wygrany[i];
}

licznik_wygranych=0;


     for(short i=0; i<liczba_graczy; i++)
        {

        if(i=wygrany[licznik_wygranych]-1)
        {
        cout<<gracze[wygrany[licznik_wygranych]-1] <<" wygral. Nie traci on wiec punktow.";  licznik_wygranych++;
        }

        else
        {
        cout<<" Napisz ile punktow stracil w tej rundzie " <<gracze[i] <<": ";
        cin>> punkty_stracone[i];
        }
        }


    return 0;
}

Nie rozumiem dlaczego program nie działa prawidłowo, mógłby mi to ktoś wytłumaczyć?
2
komentarz 11 czerwca 2017 przez Munvik Dyskutant (9,350 p.)
Nie działa prawidłowo bo ? Crashuje czy złe wyniki daje ?
komentarz 11 czerwca 2017 przez draghan VIP (106,230 p.)
Popieram, pytanie trochę mało określone. Na przyszłość: żeby nie zgadywać, potrzebujemy m.in. dokładny opis problemu.

2 odpowiedzi

+3 głosów
odpowiedź 11 czerwca 2017 przez draghan VIP (106,230 p.)
wybrane 11 czerwca 2017 przez zales
 
Najlepsza
        if(i=wygrany[licznik_wygranych]-1)

Ta linia wygląda na klasyczny błąd początkujących. Pojedynczy znak równości to przypisanie. Porównanie to dwa takie znaki.

        if(i == wygrany[licznik_wygranych]-1)

Teraz działa odrobinę lepiej? :)

komentarz 11 czerwca 2017 przez zales Nowicjusz (210 p.)
Dzięki wszystko jest już dobrze :D
0 głosów
odpowiedź 11 czerwca 2017 przez mitsuukurinaa Bywalec (2,790 p.)
endl?

Podobne pytania

0 głosów
1 odpowiedź 307 wizyt
0 głosów
1 odpowiedź 485 wizyt

92,579 zapytań

141,429 odpowiedzi

319,657 komentarzy

61,962 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!

...