Skocz do zawartości


Zdjęcie

Potrzebna pomoc [C++]


  • Zaloguj się, aby dodać odpowiedź
3 odpowiedzi w tym temacie

#1 Lonioo

Lonioo
  • Użytkownicy
  • 2 postów

Napisano 03 styczeń 2013 - 16:14

Witam mam tutaj oto taki program:

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <ctime>

int main()
{
 const int wordc = 4;
 const char* const data[wordc] = {"Ork", "Elf", "Czlowiek", "Krasnolud",}<img src='http://forum.pcfoster.pl/public/style_emoticons/<#EMO_DIR#>/disagree.png' class='bbc_emoticon' alt=';' />
 int rword;
	std::srand(std::time(NULL))<img src='http://forum.pcfoster.pl/public/style_emoticons/<#EMO_DIR#>/disagree.png' class='bbc_emoticon' alt=';' />
	rword = std::rand() % wordc;
	std::cout << "Wylosowales rase:" << data[rword] <<"\n"<img src='http://forum.pcfoster.pl/public/style_emoticons/<#EMO_DIR#>/disagree.png' class='bbc_emoticon' alt=';' />
	if(rword = 0)
	std::cout << "aaa \n"<img src='http://forum.pcfoster.pl/public/style_emoticons/<#EMO_DIR#>/disagree.png' class='bbc_emoticon' alt=';' />
	else if(rword = 1)
	std::cout << "bbb \n"<img src='http://forum.pcfoster.pl/public/style_emoticons/<#EMO_DIR#>/disagree.png' class='bbc_emoticon' alt=';' />
	else if(rword = 2)
	std::cout << "ccc \n"<img src='http://forum.pcfoster.pl/public/style_emoticons/<#EMO_DIR#>/disagree.png' class='bbc_emoticon' alt=';' />
	else if(rword = 3)
	std::cout << "ddd \n"<img src='http://forum.pcfoster.pl/public/style_emoticons/<#EMO_DIR#>/disagree.png' class='bbc_emoticon' alt=';' />
	system("pause")<img src='http://forum.pcfoster.pl/public/style_emoticons/<#EMO_DIR#>/disagree.png' class='bbc_emoticon' alt=';' /> 
}

I chciałbym aby zależnie od tego którą rasę wylosuje program to będzie on robił daną czynność. Niestety w przypadku if-ów to nie działa, albo ja tego nie umiem zrobić. Chciałbym kogoś poprosić, aby zmienił ten tekst źródłowy tak, aby program ten działał i jeśli można o wytłumaczenie, gdzie zrobiłem błąd i na czym polega poprawne rozwiązanie. Dodam, że jestem początkującym programistą, c++ uczę się od około tygodnia. Za pomoc z góry dziękuję.

PS:
tak, wiem mogłem użyć using namespace std
  • 0


#2 magik092

magik092
  • Użytkownicy
  • 1555 postów

Napisano 03 styczeń 2013 - 23:24

@Lonioo, wszystko śmiga jak najlepiej tylko w ifach stosujesz przypisanie zamiast sprawdzenia ^^ Jeden znak równa się ZAWSZE jest przypisaniem, jeśli w warunkach wstawisz == wszystko będzie pięknie działać.
Co do kodu to zalecam użycie switch()

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <ctime>

int main()
{
 const int wordc = 4;
 const char* const data[wordc] = {"Ork", "Elf", "Czlowiek", "Krasnolud",}<img src='http://forum.pcfoster.pl/public/style_emoticons/<#EMO_DIR#>/disagree.png' class='bbc_emoticon' alt=';' />
 int rword;
        std::srand(std::time(NULL))<img src='http://forum.pcfoster.pl/public/style_emoticons/<#EMO_DIR#>/disagree.png' class='bbc_emoticon' alt=';' />
        rword = std::rand() % wordc;
        std::cout << "Wylosowales rase:" << data[rword] <<"\n"<img src='http://forum.pcfoster.pl/public/style_emoticons/<#EMO_DIR#>/disagree.png' class='bbc_emoticon' alt=';' />
        switch(rword) {
                case 0 : std::cout << "aaa \n"<img src='http://forum.pcfoster.pl/public/style_emoticons/<#EMO_DIR#>/disagree.png' class='bbc_emoticon' alt=';' />
                break;
                case 1: std::cout << "bbb \n"<img src='http://forum.pcfoster.pl/public/style_emoticons/<#EMO_DIR#>/disagree.png' class='bbc_emoticon' alt=';' />
                break;
                case 2: std::cout << "ccc \n"<img src='http://forum.pcfoster.pl/public/style_emoticons/<#EMO_DIR#>/disagree.png' class='bbc_emoticon' alt=';' />
                break;
                case 3: std::cout << "ddd \n"<img src='http://forum.pcfoster.pl/public/style_emoticons/<#EMO_DIR#>/disagree.png' class='bbc_emoticon' alt=';' />
                break;
                default : std::cout << "domyslnie \n"<img src='http://forum.pcfoster.pl/public/style_emoticons/<#EMO_DIR#>/disagree.png' class='bbc_emoticon' alt=';' />
                break;
        }
        system("pause")<img src='http://forum.pcfoster.pl/public/style_emoticons/<#EMO_DIR#>/disagree.png' class='bbc_emoticon' alt=';' /> 
}

  • 1

Dołączona grafika


#3 Lonioo

Lonioo
  • Użytkownicy
  • 2 postów

Napisano 04 styczeń 2013 - 17:42

Wielkie dzięki, kompletnie o tym zapomniałem. No cóż, dopiero zaczynam muszę pewne nawyki przyswoić. Jeszcze raz wielkie dzięki za pomoc.
  • 0

#4 magik092

magik092
  • Użytkownicy
  • 1555 postów

Napisano 04 styczeń 2013 - 18:09

Nie ma sprawy, jak masz więcej pytań to pisz 8)
  • 0

Dołączona grafika



Użytkownicy przeglądający ten temat: 1

0 użytkowników, 1 gości, 0 anonimowych