Wstawianie wyrazow do zmiennej
Ostatnio zmodyfikowano 2011-12-13 20:45
zupka Temat założony przez niniejszego użytkownika |
Wstawianie wyrazow do zmiennej » 2011-12-13 20:09:36 Witam mam problem otoz gdy chce aby do zmiennej 'cala' dodawaly sie litery cale.insert(szuka,twoja); program spr tylko 1 litere i sie wyl. PS. Prosze o wyrozumialosc dopiero sie ucze. #include <iostream> #include <string> #include <windows.h>
using namespace std;
void szukaj( string & haslo, int & proba, COORD & p ) { string twoja, cale; cale = ""; cin >> twoja; size_t szuka = haslo.find( twoja ); if( szuka == string::npos ) proba++; while( szuka != string::npos ) { p.Y = 10; p.X = 25 + szuka; SetConsoleCursorPosition( GetStdHandle( STD_OUTPUT_HANDLE ), p ); cout << twoja; cale.insert( szuka, twoja ); if( cale == haslo ) cout << "sniek"; szuka = haslo.find( twoja, szuka + 1 ); } }
void komunikaty( int & proba, COORD & p ) { p.X = 55; p.Y = 23; SetConsoleCursorPosition( GetStdHandle( STD_OUTPUT_HANDLE ), p ); cout << "Zostalo ci: " << 5 - proba << " Serduszek"; p.X = 5; p.Y = 5; SetConsoleCursorPosition( GetStdHandle( STD_OUTPUT_HANDLE ), p ); cout << "Podpowiedz: Jedni mowia ze to snieg ja i tak wiem ze to:"; p.X = 0; p.Y = 0; SetConsoleCursorPosition( GetStdHandle( STD_OUTPUT_HANDLE ), p ); cout << "Zapodaj Literke lub Cyfre potrzebna do odgadniecia hasla: "; }
int main() { string haslo = "sniek"; int proba = 0; COORD p; do { komunikaty( proba, p ); szukaj( haslo, proba, p ); } while( proba <= 4 ); getchar(); return 0; }
|
|
pekfos |
» 2011-12-13 20:11:31 flagi błędów? |
|
DejaVu |
» 2011-12-13 20:13:00 Upewnij się, że wartości argumentów są poprawne. Jeżeli się wysypuje ta metoda to tylko i wyłącznie dlatego, że miejsce w którym chcesz w stawić znak nie istnieje (wychodzisz poza długość tekstu). |
|
zupka Temat założony przez niniejszego użytkownika |
» 2011-12-13 20:13:44 jesli chodzi o czy sie wysypal kompilator to nie, a jesli nie o to chodzi to prosil bym o sprecyzowanie pytania |
|
pekfos |
» 2011-12-13 20:24:36 string twoja, cale; cale.resize( haslo.size() ); może to? |
|
DejaVu |
» 2011-12-13 20:24:53 Nie piszę o wysypaniu kompilatora, tylko o wysypaniu się aplikacji. Z Twojego pierwszego posta wynika, że to aplikacja się wysypała.
PS. Pisz pełnymi zdaniami i nie używaj skrótów w pytaniach. Im lepiej zostanie opisany problem tym łatwiej komuś udzielić na niego odpowiedź. |
|
zupka Temat założony przez niniejszego użytkownika |
» 2011-12-13 20:25:40 przypisałem wartości cale = " " i już działa :) |
|
pekfos |
» 2011-12-13 20:28:12 Takie rozwiązanie nie zawsze będzie działać. |
|
« 1 » 2 |