[C++]Problem z porównaniem tablic znakowych

0

Witam wszystkich, jestem studentem informatyki i dopiero uczę się programować. Mam problem z moim programem, który jest niczym innym, jak grą w zgadywankę. Pierwsza osoba podaje słowo, zaś druga stara się je odgadnąć. Udało mi się sprawdzać i wypisywać liczbę znaków w tym słowie, ale nie wiem, jak mam zrobić odpowiedni warunek, aby po wpisaniu poprawnej odpowiedzi program kończył swoje działanie i wypisywał jakiś komunikat. Obecnie, nawet po wpisaniu dobrej odpowiedzi, program dalej podaje wskazówkę.

#include <iostream>

using namespace std;

int main()
{
    int i;
    int k=0;
    const int n=20;
    const int m=20;
    char wyraz[n];
    char odpowiedz[m];


    cout << "Podaj wyraz: ";
    cin >> wyraz;




    for(i=0;i<n;i++)

    if(wyraz[i]=='\0')break;
    cout << "\nWyraz ma " << i << " liter"  << endl;



    do
    {

    cout << "Wskazówka: ";
    for(int j=0;j<k;j++)

                cout<<wyraz[j];
                cout << "\nPodaj odpowiedź: ";
                cin >> odpowiedz;
                k++;



    }while(odpowiedz!=wyraz);

    cout << "Dobrze!";
 

Korzystam z Code::Blocks pod Ubuntu 12.04. Z góry dziękuję za pomoc.

0

Uczysz się programować od pół roku i nie potrafisz tego poprawnie napisać?

  1. Naucz się formatować kod jak człowiek
  2. Naucz się używać {} przy pętlach i warunkach
  3. Naucz się korzystać z std::string albo doczytaj jak się porównuje char* bo NIE za pomocą operatora == i !=
0

Hmmm, tak naprawdę to nie wiedziałem, że nie można tego przyrównać w taki sposób. Spróbuję doczytać o std::string w Symfonii C++, bo na zajęciach tego jeszcze nie omawialiśmy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1