Привет, ребята, я новичок в c++, и на практике я делаю "Создай свою собственную приключенческую игру". Я понятия не имею, в чем проблема. Я считаю, что это имеет какое-то отношение к моей переменной char, в основном я буду размещать код моего main.cpp. Как бы там ни было других внешних файлов заголовков. Но я не вижу причин для их публикации, также мой код будет работать, не выдавая мне ошибку, и я не вижу, как это можно сделать, если инструкция if if if/my char.
Спасибо за помощь.
#include <iostream>
//LVL1
#include "C:\Users\QuestionMark\Desktop\Make Your Own Adventure\LVL1\Dog.h"
#include "C:\Users\QuestionMark\Desktop\Make Your Own Adventure\LVL1\Dream.h"
#include "C:\Users\QuestionMark\Desktop\Make Your Own Adventure\LVL1\GTFO.h"
using namespace std;
int main(){
cout << "Welcome to my 'MAKE YOUR OWN ADVENTURE GAME!!!'\n";
cout << "Have Fun and enjoy the ride!\n";
cout << "Would you like to put in a cheat code??\n";
cout << "Yes or No, Cap Sensitive!\n";
char y[3];
cin >> y;
if(y == "Yes"){
cout << "Please Enter Cheat Code now\n";
char z[5];
if(z == "Dog"){
Dog();
}else if(z == "Dream"){
Dream();
}else if(z == "GTFO"){
GTFO();
}else if(z == "Path"){
Path();
}else if(z == "Sword"){
Sword();
}else if(z == "Weird"){
Weird();
}else{
cout << "Invalid Cheat Code\n";
}
}else if(y == "No"){
cout << endl;
cout << "You wake up and your house is on fire what do you do ??\n";
cout << "Quick Grab The Dog = 0, GTFO = 1, Go back to sleep = any other number\n";
int x;
cin >> x;
if(x == 0){
Dog();
}else if(x == 1){
GTFO();
}else{
Dream();
}
}else{
cout << "Invalid Answer\n\n\n";
return main();
}
return 0;
}
На боковой ноте. В "Ячейке заголовка" я назвал "Все функции для уровня2". И мне просто интересно, почему моя программа работает нормально, если я не позволю мне вызвать все функции уровня2 в моем заголовке GTFO и моем заголовке Dream.
ps: Просто, чтобы удалить путаницу Path() ;, Sword() ;, и Weird(); все функции уровня 2.
pps: Также просто интересно, почему мне не нужно вызывать функции level2 в моем main.cpp?
Заключительная мысль: Спасибо за ваше время и приятный день!
ps окончательные мысли: Это портал 1 ссылки.
Вы не сравниваете строки c с ==. Вместо этого используйте strcmp(). Поскольку это c++, вы все равно должны использовать std :: string. Кроме того, z [5] недостаточно велик, чтобы удерживать "Dream" или другие 5 символьных строк.
Вы не можете вызвать main()
в программе C++. Период. В C, да, но в C++, нет. Когда у вас есть вызов main()
в вашей программе, вы вызываете неопределенное поведение, и программа может что-то делать.