Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.04.2011, 13:10   #1
XxXGhosTXxX
Пользователь
 
Аватар для XxXGhosTXxX
 
Регистрация: 03.03.2011
Сообщений: 93
По умолчанию Нужно сравнить слово (if , else)

Здраствуйте.У меня MVC 2010.
Вот здесь, есть ошибка.
Чем проблема.Заранее Спасибо.

error C2040: a: "std::string" отличается по уровням косвенного обращения от "char [100]"

Код:
#include <iostream>
#include <conio.h>
using namespace std;
int main ()
{
	char a[100];
	string a;
	cout<<"Write: ";
	cin.getline (a,100);
	if (a=="hello")
	{
		cout<<"Hello!!!";
		cout<<endl;
		getch ();
	}
	else
	{
		cout<<"Error"<<endl;
		getch ();
	}
	return 0;
}

Последний раз редактировалось XxXGhosTXxX; 07.04.2011 в 17:08.
XxXGhosTXxX вне форума Ответить с цитированием
Старый 07.04.2011, 13:23   #2
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

Код:
	char a[100];
	string a;
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 07.04.2011, 14:49   #3
XxXGhosTXxX
Пользователь
 
Аватар для XxXGhosTXxX
 
Регистрация: 03.03.2011
Сообщений: 93
По умолчанию

Цитата:
Сообщение от pproger Посмотреть сообщение
Код:
	char a[100];
	string a;
Брат я так и сделал, но то же проблема.
Пажалуйста, пиши мне весь код.
Спасибо.
XxXGhosTXxX вне форума Ответить с цитированием
Старый 07.04.2011, 14:59   #4
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Цитата:
Сообщение от XxXGhosTXxX Посмотреть сообщение
Брат я так и сделал, но то же проблема.
Пажалуйста, пиши мне весь код.
Спасибо.
имеется в виду, что тут ошибка.
Код:
char a[100];
убери.
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Старый 07.04.2011, 15:02   #5
XxXGhosTXxX
Пользователь
 
Аватар для XxXGhosTXxX
 
Регистрация: 03.03.2011
Сообщений: 93
По умолчанию

Цитата:
Сообщение от Mandrivnyk Посмотреть сообщение
имеется в виду, что тут ошибка.
Код:
char a[100];
убери.
Опять проблема.Брат пожалуйста, пиши правилный код.
Спасибо.
XxXGhosTXxX вне форума Ответить с цитированием
Старый 07.04.2011, 15:18   #6
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Цитата:
Сообщение от Mandrivnyk Посмотреть сообщение
имеется в виду, что тут ошибка.
Код:
char a[100];
убери.
это я поторопился -)
вот рабочий код:
Код:
#include <stdio.h>
#include <string.h>
#include <iostream>

using namespace std;
int main ()
{
	char a[100];
	cout << "Write: ";
	cin.getline (a, 100);
	if (!strcmp(a, "hello\0"))
	{
		cout<<"Hello!!!";
		cout<<endl;
		getch ();
	}
	else
	{
		cout<<"Error"<<endl;
		getch ();
	}
	return 0;
}
или так:
Код:
#include <iostream>
#include <conio.h>

using namespace std;
int main ()
{
	string a;
	cout << "Write: ";
	cin >> a;
        if (a == "hello")
           ...
}
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062

Последний раз редактировалось Mandrivnyk; 07.04.2011 в 15:25.
Mandrivnyk вне форума Ответить с цитированием
Старый 07.04.2011, 15:58   #7
XxXGhosTXxX
Пользователь
 
Аватар для XxXGhosTXxX
 
Регистрация: 03.03.2011
Сообщений: 93
По умолчанию

Цитата:
Сообщение от Mandrivnyk Посмотреть сообщение
это я поторопился -)
вот рабочий код:
Код:
#include <stdio.h>
#include <string.h>
#include <iostream>

using namespace std;
int main ()
{
	char a[100];
	cout << "Write: ";
	cin.getline (a, 100);
	if (!strcmp(a, "hello\0"))
	{
		cout<<"Hello!!!";
		cout<<endl;
		getch ();
	}
	else
	{
		cout<<"Error"<<endl;
		getch ();
	}
	return 0;
}
или так:
Код:
#include <iostream>
#include <conio.h>

using namespace std;
int main ()
{
	string a;
	cout << "Write: ";
	cin >> a;
        if (a == "hello")
           ...
}
Вот и это мне нужен, просто мне не было понятно это
Код:
if (!strcmp(a, "hello\0"))
для чего ты так сделал.

Последний раз редактировалось XxXGhosTXxX; 07.04.2011 в 16:03.
XxXGhosTXxX вне форума Ответить с цитированием
Старый 07.04.2011, 18:13   #8
Сtrl
C++
Форумчанин
 
Аватар для Сtrl
 
Регистрация: 27.03.2011
Сообщений: 803
По умолчанию

Цитата:
для чего ты так сделал.
strcmp - функция библиотеки string.h, которая возвращает результат сравнения строк. В данном случае строки проверяются на равенство.
Ищете информацию по C++?
cplusplus.com
Сtrl вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно сравнить две базы skorobej Microsoft Office Excel 10 30.03.2010 14:01
Нужно сравнить переучетные ведомости deni1982 Microsoft Office Excel 2 02.03.2010 11:57
нужно сравнить компоненты, допустим, с символом => Q NSvirus Паскаль, Turbo Pascal, PascalABC.NET 5 27.04.2009 22:37
нужно сравнить Dreamveaver и FrontPage Sorhia_Bush HTML и CSS 2 15.03.2009 12:53