Funkcja wypisuje liczby zamiast znaków
Ostatnio zmodyfikowano 2014-04-06 13:33
Sorbet Temat założony przez niniejszego użytkownika |
Funkcja wypisuje liczby zamiast znaków » 2014-04-06 12:45:21 Napisałem krótki program, który losuje dwie współrzędne (jedna to litera od A do L, druga - liczba od 1 do 12). Jednak po tym jak chciałem go skrócić, żeby nie pisać trzy razy tego samego. Napisałem więc funkcję, która za argumenty przyjmuje miejsce do wypisania (np. "Skarb") i tablicę ze znakami (w tym wypadku xLitery[]). Problem polega na tym, że kiedy używam tablicy w funkcji nie wypisuje ona np.'L', tylko 70. Proszę o pomoc. Załączam kod źródłowy i przykładowe wyjściowe. #include "stdafx.h" #include <iostream> #include <cstdlib> #include <ctime> #include <string>
int los( int start, int stop ) { return rand() %( stop - start + 1 ) + start; }
void podaj( std::string miejsce, char tab[] ) { int i = los( 0, 11 ); int x = tab[ i ]; int y = los( 1, 12 ); std::cout << miejsce << "(" << x << ", " << y << ")" << std::endl; }
int _tmain( int argc, _TCHAR * argv[] ) { srand( time( NULL ) ); char x; int y; int i; char xLitery[ 12 ] = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L' }; i = los( 0, 11 ); x = xLitery[ i ]; y = los( 1, 12 ); std::cout << "Spawn(" << x << ", " << y << ")" << std::endl; i = los( 0, 11 ); x = xLitery[ i ]; y = los( 1, 12 ); std::cout << "Skarb(" << x << ", " << y << ")" << std::endl; i = los( 0, 11 ); x = xLitery[ i ]; y = los( 1, 12 ); std::cout << "Power up(" << x << ", " << y << ")" << std::endl; std::cout << "++++++++++++\n"; podaj( "Spawn", xLitery ); podaj( "Skarb", xLitery ); podaj( "Power up", xLitery ); return 0; } Spawn(L, 7) Skarb(H, 10) Power up(G, 6) ++++++++++++ Spawn(70, 10) Skarb(75, 10) Power up(76, 12) Z góry dziękuję -Sorbet |
|
Saluter |
» 2014-04-06 12:56:39 W funkcji podaj zmienną x definiujesz jako int zamiast jako char . |
|
Sorbet Temat założony przez niniejszego użytkownika |
» 2014-04-06 13:33:25 Dziękuję bardzo. Tak myślałem, że to jakiś mały błąd. Zamykam temat |
|
« 1 » |