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

Сравнение строк - C++

Восстановить пароль Регистрация
 
Holodov
 Аватар для Holodov
5 / 5 / 0
Регистрация: 01.10.2011
Сообщений: 46
30.10.2011, 20:21     Сравнение строк #1
Доброго времени суток) Помогите пожалуйста студенту)
Написал пользовательскую функцию для поиска совпадений строк.
При вводе переменной f 1 строки в списке поиск проходит успешно , а когда ввожу 2 и более строчку NULL не возвращается.
В чем может быть проблема?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
void search(table *str,int n)
{   
    char f[14];
    int c=4;
    int i=0;
    int k=0;
    HANDLE hCon;                     // Задал имя заголовка который будет использовать в дальнейшем
    COORD cPos;                       // Задал координаты X и Y. Тип Short - целочисленный знаковый тип
        
        hCon = GetStdHandle(STD_OUTPUT_HANDLE); 
                                                                     
    ifstream in;
    in.open("database.txt");
    if(!in.is_open())
    {cout<<"Ошибка! Файл не может быть найден/открыт.";exit(1);}
    system("cls");
    cout<<"Введите фамилию";
    cin>>f;
    in>>str[i].name;
    if(strcmp(str[i].name,f)==NULL){
        cout<<i;
                    k=k+1;
                    c=i+4;
                    system("cls");
                    cout<<"#############################################################################\n";
                    cout<<"#   Фамилия    #   Отдел   # Кат.вредн #    Должность    #  Оклад  # Премия #\n";
                    cout<<"#############################################################################\n";
                    cPos.Y = c;
                    cPos.X = 1;    
                    SetConsoleCursorPosition(hCon, cPos);
                    cout<<str[i].name;
                    cPos.Y = c;
                    cPos.X = 16;
                    SetConsoleCursorPosition(hCon, cPos);
                    in>>str[i].otdel;
                    cout<<str[i].otdel;
                    cPos.Y = c;
                    cPos.X = 33;
                    SetConsoleCursorPosition(hCon, cPos);
                    in>>str[i].vred;
                    cout<<str[i].vred;
                    cPos.Y = c;
                    cPos.X = 40;
                    SetConsoleCursorPosition(hCon, cPos);
                    in>>str[i].dolj;
                    cout<<str[i].dolj;
                    cPos.Y = c;
                    cPos.X = 58;
                    SetConsoleCursorPosition(hCon, cPos);
                    in>>str[i].oklad;
                    cout<<str[i].oklad;
                    cPos.Y = c;
                    cPos.X = 68;
                    SetConsoleCursorPosition(hCon, cPos);
                    in>>str[i].premia;
                    cout<<str[i].premia;
                    cout<<endl;
    }
                    
    
    
                
 
 
 
            if(k==0) 
            cout<<"Совпадений нет"<<endl;
    in.close();
    cout<<"\n";
    system("PAUSE");
    system("cls");
}
Добавлено через 1 час 51 минуту
Спасибо разобрался.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2011, 20:21     Сравнение строк
Посмотрите здесь:

Сравнение строк C++
C++ Сравнение строк
C++ Сравнение 2 строк
C++ Сравнение строк
Сравнение строк C++
Сравнение строк C++
Сравнение строк C++
Сравнение строк C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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