Форум программистов, компьютерный форум CyberForum.ru

При вводе имени сообщить, что есть такое имя - C++

Восстановить пароль Регистрация
 
Scaletta
0 / 0 / 0
Регистрация: 06.03.2012
Сообщений: 29
07.03.2012, 23:50     При вводе имени сообщить, что есть такое имя #1
Хочу написать программу, при вводе имени(например Katy), должно вывестись что есть такое имя. Что не так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
int main()
{
    setlocale (0,"Russian");
    char x;
    cout<<"Введите имя:"<<endl;
    cin>>x;
    if (x=='Katy')
        {
            cout<<"Есть такое имя"<<x<<endl;
        }
        else 
            if(x!='Katy')
            {
                cout<<"ошбика"<<endl;
            }
    system ("pause");
    return 0;
}
 Комментарий модератора 
Один вопрос — одна тема
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.03.2012, 23:50     При вводе имени сообщить, что есть такое имя
Посмотрите здесь:

C++ При перегрузке оператора для класса не получается использовать имя переменной такое же, как в описании класса
C++ При вводе имени абонента или его номера выводить его фамилию, номер телефона и адрес.
при вводе четного числа. все операции необходимые выполняются, но потом переходит на нечетные.есть код. помогите, пожалуйста C++
Что такое указатель и с чем его есть C++
C++ Назначение flag, то есть что это вообще такое
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Oleg_Brovko
 Аватар для Oleg_Brovko
8 / 8 / 1
Регистрация: 07.03.2012
Сообщений: 57
08.03.2012, 02:23     При вводе имени сообщить, что есть такое имя #2
Вот как вариант:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{
    setlocale (0,"Russian");
    string s1,s2;
    s2="Katy";
    cin>>s1;
 
    if(s1==s2)
    
        cout<<"Есть такое имя \n";
    else
        cout<<"Такого имени нет \n ";
 
    return 0;
}
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
08.03.2012, 07:07     При вводе имени сообщить, что есть такое имя #3
Да кто же вас так учил С-строки сравнивать?
C++
1
2
3
4
#include <cstring>
//...
if ( ! strcmp(x, "Katy") )
  // Нашлась Катюха...
strcmp
Цитата Сообщение от Scaletta Посмотреть сообщение
char x;
Да и имя из одной буквы - это редкость...
А вообще, если на С++ пишете, то постом выше правильный пример.
Scaletta
0 / 0 / 0
Регистрация: 06.03.2012
Сообщений: 29
08.03.2012, 12:04  [ТС]     При вводе имени сообщить, что есть такое имя #4
Да и имя из одной буквы - это редкость...
А вообще, если на С++ пишете, то постом выше правильный пример.
Вообще я хотел присвоить x="Katy", но получалось зацикливание и если даже я неправильное имя вводил, выводило что правильно и шло зацикливание.
А вот теперь вопрос возник, если имя введено неправильно, но я хочу чтобы оно вводилось до тех пор пока не будет верным. Для этого мне нужно будет использовать return s1; как это должно примерно выглядеть?
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
08.03.2012, 13:43     При вводе имени сообщить, что есть такое имя #5
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <string.h>
 
int main(void){
    char name[256];
    
    do {
        printf("Name: ");
        scanf("%255s", name);
    } while ( strcmp(name, "Katy") && printf("Wrong answer, try one more time...\n") );
    
    printf("Hello, Katy!\nGoodbye, Katy!\n");
    
    return 0;
}
Yandex
Объявления
08.03.2012, 13:43     При вводе имени сообщить, что есть такое имя
Ответ Создать тему
Опции темы

Текущее время: 04:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru