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

Список. Сортировка и поиск по списку. Работа с файлами - C++

Восстановить пароль Регистрация
 
Slaya
0 / 0 / 0
Регистрация: 10.05.2013
Сообщений: 3
11.05.2013, 20:13     Список. Сортировка и поиск по списку. Работа с файлами #1
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
void Search_secondname(void)
{
Print_header();
cout << "Введите фамилию для поиска" << endl;
int i = 0;
char secondname[15];
    cin.clear();                          
    cin.sync(); 
    cin.getline(secondname , 15);
    ifstream file("spisok.txt", ios::in);                 //открытие файла для чтения
    if(!file)
    {
        cout<<"Файл не может быть открыт"; exit (1);    
    }                           
        file.seekg(0,ios::end);                     //указатель в конец файла
    int fsize = 0;
    fsize = file.tellg();                           /*поиск размера (Тут компилятор выдает ошибку)
пишет "Предупреждение   1   warning C4244: =: преобразование "std::streamoff" в "int", возможна потеря данных*/
 
        file.seekg(0,ios::beg);                             //указатель на начало
    while(fsize-file.tellg() >= sizeof(d))       
      {
                     file.read((char*) &d, sizeof (d));         //чтение файла 
                     if(strcmp(d.secondname, secondname)==0)    
                        {
                          Print_file();
                          i++; 
                        }
 cout << "Хотите выполнить поиск еще раз?" << endl << "(1 - да. 2-нет.)" << endl;
 int choise_YesOrNo;
 while ((choise_YesOrNo = _getch()) != EOF)
 {
     switch (choise_YesOrNo)
     {
        case '1': Search_secondname();
        case '2': main();
        default: _getch();
        
     }
 }
    if(i==0) 
    {
        cout<<"Ничего не найдено\n";
    }
    file.close();
    }       
}
Так вот, вопрос, почему компилятор выдает такую ошибку?(строка 17)
2)Где можно почитать информацию по сортировке списка? (Читал Шилдта, там нет)
3) Возможно кто-то может предложить схему поиска по-лучше, буду благодарен.
А вообще, тема звучит так
"Функции для обработки линейных структур данных (разработка, тестирование):
а)создать список, упорядоченный по возрастанию ключей; структура данных элемента: фамилия – номер телефона.; по номеру телефона звонившего абонента выдать его фамилию;
б)по заданной фамилии выдать телефоны всех однофамильцев;
в) создать список, упорядоченный по возрастанию ключей, в котором разрешены записи с одинаковыми ключами, выдать данные всех элементов по заданному ключу.
Организовать интерфейс работы с функциями."
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Qazan
211 / 59 / 9
Регистрация: 30.04.2013
Сообщений: 778
Записей в блоге: 10
11.05.2013, 21:45     Список. Сортировка и поиск по списку. Работа с файлами #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Перегрузи оператор
operator []
и сортируй как массив))
Slaya
0 / 0 / 0
Регистрация: 10.05.2013
Сообщений: 3
11.05.2013, 21:45  [ТС]     Список. Сортировка и поиск по списку. Работа с файлами #3
Спасибо, разобрался. Тему можно закрыть
The_Immortal
1548 / 484 / 8
Регистрация: 04.04.2009
Сообщений: 1,891
12.05.2013, 04:01     Список. Сортировка и поиск по списку. Работа с файлами #4
Slaya,
Цитата Сообщение от Slaya Посмотреть сообщение
Спасибо, разобрался
Если разобрались, то поделитесь решением - быть может, оно кому-нибудь в будущем поможет
Slaya
0 / 0 / 0
Регистрация: 10.05.2013
Сообщений: 3
13.05.2013, 02:08  [ТС]     Список. Сортировка и поиск по списку. Работа с файлами #5
The_Immortal, fsize имеет тип данных int, a file.tellg() имеет тип long long.
Их нежелательно сравнивать.
Yandex
Объявления
13.05.2013, 02:08     Список. Сортировка и поиск по списку. Работа с файлами
Ответ Создать тему
Опции темы

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