Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как сравнить одно слово с другим? Как сравнить одно слово с другим? 
:(
    Опции темы
gutmann
  Дата 7.3.2005, 11:55 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Здравствуйте! Я новичок(говорит о многом smile ). Делаю консольную прогу в Microsoft Visual C++6
Стал он у меня по-странному, так что хэлп плохо пашет.
Я хочу чтоб пользователь вводил слово и проводилась проверка этого слова с тем словом, которое записано в проге. Вот мой код. В нем 100% есть ошибки. Если вас не утрудит.... Вроде задачка легкая, но вот синтаксис итд... Не знаю нужно ли брать в кавычки слово apple. Может есть другой способ, потому что здесь ничего не пахает. Благодарю.

// probbba.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "iostream.h"
#include "conio.h"


void main()
{

cout << "Enter the word apple\n";


char d[6] = "";


cin >> d;
cout << "\n";

if (d == "apple"){ // Здесь я хочу выполнить проверку введенного слова
cout << "Correct"; // со словом apple.
}

}
  Вверх
gepard
Дата 7.3.2005, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2477
Регистрация: 29.2.2004

Репутация: 2
Всего: 40



Пишешь функцию, в которую передаётся указатель на массив char'ов:
Код

bool function(char* chr)

В ней нужно сравнивать каждый элемент двух массивов: первый массив - твоё слово, второй - по переданому указателю


--------------------
Когда начинаются цифровые войны, а траффик разносит моё сознание по бесконечным просторам инета, подобно ветру, разносящему листву по полям, тогда и только тогда я чувствую себя свободным!
© Я, Берсерк, что значит - Неистовый. 
PM MAIL WWW ICQ   Вверх
Ni@m
Дата 7.3.2005, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 189
Регистрация: 11.3.2004
Где: почти Киев

Репутация: 0
Всего: 6



Если тебе нужно полное сравнение, то :
Код

#include "iostream.h"
#include "string.h"


void main()
{

cout << "Enter the word apple\n";


char d[6] = "";


cin >> d;
cout << "\n";

if (strstr(d,"apple") != NULL && strlen("apple") == strlen(d))
{ // Здесь я хочу выполнить проверку введенного слова
cout << "Correct"; // со словом apple.
}


Добавлено @ 12:18
gepardМожно и так, но функции из стандартной библиотеки точно будут шустрее.
--------------------
Обучение - как переливание воды из одной чашки в другую: всегда лучше, чтоб чашка со знаниями нахордилась выше.
PM MAIL WWW ICQ   Вверх
GRON
Дата 7.3.2005, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 21.11.2003

Репутация: нет
Всего: нет



d - это указатель на начало массива, и сравнивать его со строкой нельзя. Кроме того, что сказал gepard,
можно юзнуть функции strcmp(char*,char*) - сравнение с учетом регистра букв, и stricmp(char*, char*) - без учета регистра.
PM MAIL   Вверх
__Sergey__
Дата 8.3.2005, 04:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 21.1.2005

Репутация: нет
Всего: 4



А ф-ции lstrcmp и lstrcmpi корректно работают с юникодом и не с ним.
PM MAIL   Вверх
bel_nikita
Дата 8.3.2005, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2304
Регистрация: 12.10.2003
Где: Поезд №21/22 ( ст . Прага )

Репутация: 21
Всего: 47



memcmp
Код

#include <iostream.h>
#include <string.h>

void main()
{
 cout << "Enter the word apple\n";
 char d[6] = "";
 cin >> d;
 cout << "\n";
 
 // выполняем проверку введенного слова
 if ( !memcmp( d,"apple",strlen("apple") ) )
 {
   cout << "Correct"; // слово apple.
 }



--------------------
user posted image — регистрация доменов от 150 руб.
PM MAIL WWW ICQ   Вверх
Goryachev
Дата 9.3.2005, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 23.2.2005
Где: Израиль

Репутация: нет
Всего: нет



А я думаю, что обычный strcmp сработает.
Код

#include <iostream.h>
#include <string.h>

void main()
{
 cout << "Enter the word apple\n";
 char d[6] = "";
 cin >> d;
 cout << "\n";
 
 // выполняем проверку введенного слова
 if ( !strcmp(d,"apple" ) )
 {
   cout << "Correct"; // слово apple.
 }

PM MAIL   Вверх
pablo
Дата 10.3.2005, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 320
Регистрация: 12.2.2005
Где: Вильнюс, Литва

Репутация: 4
Всего: 6



А зачет пользоваться масивами на char если есть string.

Код

#include <iostream>
#include <string>

using std::cin;
using std::string;

int main()
{
    string a = "apple", b;
    cin >> b;
    if(b == a)
    {
         какието действия если строки равны
  
    }
    else
    {
          дейсвия если стоки не равны
    }
    return 0;
}


На мой взгляд проще некуда.


--------------------
Первый блин всегда похож на сферу, иногда бывает и куб.
PM MAIL ICQ   Вверх
MiltonNon
Дата 12.9.2021, 00:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 2.8.2020

Репутация: нет
Всего: нет




Модератор: Сообщение скрыто.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1343 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.