C/C++

C++, начало. Помогите понять синтаксис, ошибки.

Во-1ых, и без подсказки нетрудно догадаться, что ставить STRING в IF не очень корректно.
Что я хочу написать - выбор пользователя. Либо у него есть сиблинг, либо нет. Но пользователь не должен давать ответ в форме int (1-есть, 0-нету). Может быть можно bool как-то дать выбрать? Как это написать - чтобы ответ был в формате Yes/No?

Во-2х, из Листа Ошибок видно, что я не поняла синтаксис if else.

Остальные ошибки не поняла...

-----------------------------------------------------------------------------------------------

#include

int main()
{
std::string myName;
int myAge;
std::string yesORno;

std::cout << "Greeting, my friend. Tell me, what is your name? \n";
std::cin >> myName;
std::cout << "Nice to meet you, " << myName << "! \n Do you have a sibling? \n";
std::cin >> yesORno;
if yesORno = "yes"; std:cout << "Is it a male or female? \n";
else std::cout << "Got you. Bye.";

return 0;
}
#include <algorithm>
#include <iostream>
#include <string>
#include <cctype>
using namespace std;
int main() {
cout << "Greeting, my friend. Tell me, what is your name?\n";
string name;
getline(cin, name);
cout << "Nice to meet you, " << name << "!\nDo you have a sibling?\n";
while (true) {
cout << "Yes or No?\n";
string choice;
cin >> choice;
transform(choice.begin(), choice.end(), choice.begin(), tolower);
if (choice == "yes") {
while (true) {
cout << "Is it a male or female?\n";
string sex;
cin >> sex;
transform(sex.begin(), sex.end(), sex.begin(), tolower);
if (sex == "male") {
cout << "Do you have a brother!\n";
break;
}
if (sex == "female") {
cout << "Do you have a sister!\n";
break;
}
cout << "Incorrect answer!\n";
}
break;
}
if (choice == "no") {
cout << "Got you. Bye.";
}
cout << "Incorrect answer!\n";
}
system("pause > nul");
}
АЛ
Андреи Лагун
50 218
Лучший ответ
Это разве С++ ?
if yesORno = "yes"; std:cout << "Is it a male or female? \n";
else std::cout << "Got you. Bye.";

Надо if( yesORno == "yes") std:cout << "Is it a male or female? \n";
else std::cout << "Got you. Bye.";
Denis Yuvelir
Denis Yuvelir
44 146
Манвел Мхиторян Спасибо. Забыла про "==". Исправила.
Error list сообщает еще о 4х ошибках. Среди которых (о 18й строчке) - illigal else without matching if. А как их связать?
и expected a statement (а что, cout разве без переменной не работает?)
Манвел Мхиторян и остальные 2 ошибки о 17й строчке (if (yesORno == "yes"); std:cout << "Is it a male or female? \n";)
1)identifier "cout" is undefined, и
2) 'cout': unclear undefiner. Тут вообще не понимаю, что не так.
Такое чувство, что ты с Паскаля перепрыгнула, увидев один раз С++ код. Ты хоть почитай учебник какой нибудь, а то даже элементарный синтаксис не знаешь, печально
```
#include

using namespace std;

int main() {
string myName, yesORno;
int myAge;
cout << "Greeting, my friend. Tell me, what is your name? \n";
cin >> myName;
cout << "Nice to meet you, " << myName << "! \n Do you have a sibling? \n";
cin >> yesORno;
if (yesORno == "yes") {
cout << "Is it a male or female? \n";
} else {
cout << "Got you. Bye.";
}
return 0;
}
```
Алексей Крашенников Ошибочное употребление операции равенства == вместо операции
присваивания = и наоборот приводит к логическим ошибкам.