RV2020 Ответов: 2

Может ли кто-нибудь помочь мне исправить этот код C++?


Я пытаюсь запрограммировать это так, чтобы если подпись "CCC", то выводилось "нет", иначе выводилось "да"...
Я получаю следующую ошибку:
nccc5j1.cpp: в функции 'int main()':
nccc5j1.cpp:6:9: ошибка: ожидаемый инициализатор перед 'signatureNotAllowed'
signatureNotAllowed = "CCC";
^~~~~~~~~~~~~~~~~~~
nccc5j1.cpp:9:15: ошибка: 'signatureNotAllowed' не был объявлен в этой области
If (input == signatureNotAllowed)
^~~~~~~~~~~~~~~~~~~
nccc5j1.cpp:9:34: ошибка: 'If' не был объявлен в этой области
If (input == signatureNotAllowed)
^

Что я уже пробовал:

#include <iostream>
using namespace std;

int main() {
	string signatureNotAllowed
        signatureNotAllowed = "CCC";
	    string input;
        cin >> input;
	If (input == signatureNotAllowed) 
		cout <<"No"<<endl;
	If (input != signatureNotAllowed) 
		cout << "Yes"<<endl;
	return 0;
}

2 Ответов

Рейтинг:
13

phil.o

Либо добавьте точку с запятой в конце строки. signatureNotAllowed объявление переменной:

string signatureNotAllowed;
signatureNotAllowed = "CCC"s;

или объявить и инициализировать переменную в одной строке:
string signatureNotAllowed = "CCC"s;

Вы также должны суффикс строки с s для инициализации string переменная; в противном случае вы должны объявить ее как char*.


RV2020

Я поправил его на:
#include <iostream>
использование пространства имен std;

тап_п() {
строка signatureNotAllowed;
signatureNotAllowed = "CCC";
строку ввода;
вход cin >> ;
if (input == signatureNotAllowed)
соиь <&ЛТ;"нет"на<<епси;
If (input != signatureNotAllowed)
cout << "Yes"<<endl;
возвращает 0;
}



Но есть еще сообщение об ошибке:
nccc5j1.cpp: в функции 'int main()':
nccc5j1.cpp:11:34: ошибка: 'If' не был объявлен в этой области
If (input != signatureNotAllowed)


-Кстати, спасибо за помощь!

phil.o

C++ чувствителен к регистру, поэтому if является языковым утверждением, тогда как If является неизвестной (а затем рассматривается как необъявленная переменная).

CPallini

5.

phil.o

Спасибо :)

Рейтинг:
11

Richard MacCutchan

Вы также неправильно написали if, он использует цветочный случай i в начале. А второй вам не нужен if поскольку вы уже проверили на равенство, просто используйте else для второй половины то же самое, что и в обычной речи.

if (input == signatureNotAllowed) 
    cout <<"No"<<endl;
else 
    cout << "Yes"<<endl;


CPallini

5.

RV2020

Спасибо!