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

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

Восстановить пароль Регистрация
 
Artjom_ja
1 / 1 / 0
Регистрация: 04.03.2011
Сообщений: 22
04.03.2011, 13:57     Сравнить строковые массивы #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
void Search()
{
    char fam [13];
    cout << "\nВведите фамилию хозяина собаки ";
    SetConsoleCP(1251);     //Сменили кодировку консоли для ввода
    cin >> fam;
    SetConsoleCP(cp);       //Восстановили первоначальную 
    i = 0;
    do
    {
        fscanf (fp, "%[^.] %*[.] %[^.] %*[.] %[^.] %*[.] %[^.] %*[.] %[^.] %*[.] %s", c1, c2, c3, c4, c5, c6);  //Чтение строки
        j = strcmp(fam, c6);
        if (j > 0)
        {
            i++;
            printf("У %sа имеется собака по кличке %s породы %s, %s года\nрождения, имеющая %s медалей, состоящая в клубе %s!!!\n", c5, c1, c4, c3, c6, c2);
        }
    }
    while (fscanf(fp, "%c", gf)!= EOF); //Проверка конца файла
    if (i == 0)
        cout << "\nОшибка!!! Имя не найдено в базе!!!\n\n";
}
Это код из программы базы данных, никак не получается организовать поиск по полю хозяин, фамилия хозяина записывается в глобальную переменную char с5[13]
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.03.2011, 13:57     Сравнить строковые массивы
Посмотрите здесь:

Строковые массивы C++
Строковые массивы. C++
C++ как правильно вводить строковые массивы из файла?
Строковые переменные (символьные массивы) C++
Строковые массивы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
04.03.2011, 14:04     Сравнить строковые массивы #2
Artjom_ja, используйте функцию strcmp.
Artjom_ja
1 / 1 / 0
Регистрация: 04.03.2011
Сообщений: 22
04.03.2011, 14:27  [ТС]     Сравнить строковые массивы #3
Цитата Сообщение от MILAN Посмотреть сообщение
Artjom_ja, используйте функцию strcmp.
Посмотрите в код она там присутствует!!!
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
05.03.2011, 04:07     Сравнить строковые массивы #4
C++
1
while (fscanf(fp, "%c", gf)!= EOF);     //Проверка конца файла
no good

C++
1
j = strcmp(fam, c6);
для начала нужно вывести, а что же там в c6

C++
1
if (j > 0)
похоже, что предполагается, что strcmp() возвращает истину, если строки равны

и причём тут c6, если по дальнейшей логике это вообще медали
Artjom_ja
1 / 1 / 0
Регистрация: 04.03.2011
Сообщений: 22
05.03.2011, 16:41  [ТС]     Сравнить строковые массивы #5
ну это я тут чёт не то намутил, а так там должно с5 стоять, это я исправил, но даже после этого исправления функция выдаёт тупо какие-то случайные записи (
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
06.03.2011, 04:45     Сравнить строковые массивы #6
сделай сначала на английском и выводи строки, которые сравниваются, на экран
Yandex
Объявления
06.03.2011, 04:45     Сравнить строковые массивы
Ответ Создать тему
Опции темы

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