01/10/2018, 08:42

Lỗi trong visual studio

#include <iostream>

using namespace std;

const int MAX_BAD_GUESSES = 7;

string chooseWord();
void renderGame(string guessedWord, int badGuessCount);
char readAGuess();
bool contains(string word, char guess);
string update(string guessedWord, string word, char guess);

int main()
{
	string word = chooseWord();
	string guessedWord = string(word.length(), '-');
	int badGuessCount = 0;
	
	do {
		renderGame(guessedWord, badGuessCount);
		char guess = readAGuess();
		if (contains(word, guess)) 
			guessedWord = update(guessedWord, word, guess);
		else badGuessCount++;
	} while (badGuessCount < MAX_BAD_GUESSES && word != guessedWord);
	
	renderGame(guessedWord, badGuessCount);
	if (badGuessCount != MAX_BAD_GUESSES) 
		cout << "Congratulations! You win!";
	else 
		cout << "You lost. The correct word is " << word; 
		
	return 0;
}

string chooseWord() 
{
	return "book";
}

void renderGame(string guessedWord, int badGuessCount)
{
	cout << guessedWord << endl;
	cout << "Number of wrong guesses: " << badGuessCount << endl;
}

char readAGuess() 
{
	char input;
	cout << "Your guess: ";
	cin >> input;
	return input;
}

bool contains(string word, char c)
{
	return (word.find_first_of(c) != string::npos);
}

string update(string guessedWord, string word, char guess)
{
	for (int i = word.length()-1; i >= 0; i--) {
        if (word[i] == guess) {
            guessedWord[i] = guess;
        }
    }
    return guessedWord;
}

em code bài này bằng visual studio nhưng lại báo có lỗi ở những đoạn in ra những biến kiểu string như <<word hoặc là <<guessedWord

*grab popcorn* viết 10:56 ngày 01/10/2018

Lỗi gì vậy bạn, bạn up lỗi lên cho mọi người biết để cùng sữa chứ.

Trần Vũ Đức viết 10:47 ngày 01/10/2018

mình sửa lại post rồi bạn xem xem hộ mình với

*grab popcorn* viết 10:44 ngày 01/10/2018

Bạn thêm include string vào thử xem
Có thể khi ko không include, nên toán tử << chưa được nạp chồng cho lớp string nên nó báo lỗi vậy.

Trần Vũ Đức viết 10:55 ngày 01/10/2018

đúng như bạn nói, mình sửa được rồi. Cảm ơn nha

Khâm Bùi viết 10:50 ngày 01/10/2018

anh ơi tạ sao e nhập string thì lỗi còn int thì lại được ạ e là newbie


cảm ơn các a trong gruop trước nhé

Henry viết 10:48 ngày 01/10/2018

cho hỏi là smiley: là gì vậy?

Khâm Bùi viết 10:53 ngày 01/10/2018

dạ em thấy các a cmt trên nên ấn bừa ạ

Henry viết 10:43 ngày 01/10/2018

trời ạ :smiley: là cái icon smile trên diễn đàn nó đâu phải thứ mà C++ nó hiểu

Nguyen Kien viết 10:57 ngày 01/10/2018
#include <string>
Khâm Bùi viết 10:57 ngày 01/10/2018

là sao a. A có thể nói rõ hơn đc ko?

Henry viết 10:55 ngày 01/10/2018

xóa cái smiley: đi xem đã

Khâm Bùi viết 10:42 ngày 01/10/2018

em không hiểu là tại sao string: thì lại lỗi ạ

Henry viết 10:56 ngày 01/10/2018

bạn thử thay đổi lại là int main() rồi thêm câu lệnh return 0; dưới câu lệnh system("pause");

Khâm Bùi viết 10:56 ngày 01/10/2018

Khâm Bùi viết 10:50 ngày 01/10/2018

Henry viết 10:54 ngày 01/10/2018

Bạn tham khảo bài viết này

www.howkteam.com

Cơ bản về chuỗi ký tự trong C++ (An introduction to std::string) | Website hướng...

Chuỗi ký tự là tập hợp các ký tự được đặt trong dấu ngoặc kép. Dùng để biểu diễn những thông báo, văn bản, … trong chương trình. Trong chương trình trên, "Hello, HowKteam.com!" chính là một chuỗi ký tự.

Dark.Hades viết 10:49 ngày 01/10/2018

Header chưa có dòng này

#include <string>
Bài liên quan
0