Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Wstawianie wyrazow do zmiennej

Ostatnio zmodyfikowano 2011-12-13 20:45
Autor Wiadomość
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.

C/C++
#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;
}
P-45604
pekfos
» 2011-12-13 20:11:31
flagi błędów?
P-45605
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).
P-45606
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
P-45607
pekfos
» 2011-12-13 20:24:36
C/C++
string twoja, cale;
cale.resize( haslo.size() );
może to?
P-45609
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ź.
P-45610
zupka
Temat założony przez niniejszego użytkownika
» 2011-12-13 20:25:40
przypisałem wartości cale = "     " i już działa :)
P-45611
pekfos
» 2011-12-13 20:28:12
Takie rozwiązanie nie zawsze będzie działać.
P-45612
« 1 » 2
  Strona 1 z 2 Następna strona