Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Slaya
0 / 0 / 0
Регистрация: 10.05.2013
Сообщений: 3
1

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

11.05.2013, 20:13. Просмотров 757. Ответов 4
Метки нет (Все метки)

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) Возможно кто-то может предложить схему поиска по-лучше, буду благодарен.
А вообще, тема звучит так
"Функции для обработки линейных структур данных (разработка, тестирование):
а)создать список, упорядоченный по возрастанию ключей; структура данных элемента: фамилия – номер телефона.; по номеру телефона звонившего абонента выдать его фамилию;
б)по заданной фамилии выдать телефоны всех однофамильцев;
в) создать список, упорядоченный по возрастанию ключей, в котором разрешены записи с одинаковыми ключами, выдать данные всех элементов по заданному ключу.
Организовать интерфейс работы с функциями."
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.05.2013, 20:13
Ответы с готовыми решениями:

Сортировка и работа с файлами
В текстовом файле src.txt в каждой строке записывается выражение вида:A op B Где: A –...

Работа с формами в angularjs (добавление в список, удаление, поиск по списку)?
добрый день, всем! есть такая тема: &lt;!DOCTYPE html&gt; &lt;html ng-app='store'&gt; &lt;head&gt; ...

Формула считывает список, делает поиск на другой странице по этому списку и добавляет данные на третью страицу
Доброго времени суток, уважаемые знатоки Excel! Задача такова. Нужно, автоматически заполнить...

РАбота с файлами(сортировка)
Доброе время суток) у меня такая проблема: надо отсортировать несколько тысяч файлов... есть 2...

Сортировка, работа с файлами
Уважаемые!!! есть такая задачка:нужно скопировать из одног файла содержимое в другой(известно, что...

4
Qazan
214 / 62 / 25
Регистрация: 30.04.2013
Сообщений: 864
Записей в блоге: 10
11.05.2013, 21:45 2
Лучший ответ Сообщение было отмечено mik-a-el как решение

Решение

Перегрузи оператор
operator []
и сортируй как массив))
0
Slaya
0 / 0 / 0
Регистрация: 10.05.2013
Сообщений: 3
11.05.2013, 21:45  [ТС] 3
Спасибо, разобрался. Тему можно закрыть
0
The_Immortal
1561 / 497 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
12.05.2013, 04:01 4
Slaya,
Цитата Сообщение от Slaya Посмотреть сообщение
Спасибо, разобрался
Если разобрались, то поделитесь решением - быть может, оно кому-нибудь в будущем поможет
0
Slaya
0 / 0 / 0
Регистрация: 10.05.2013
Сообщений: 3
13.05.2013, 02:08  [ТС] 5
The_Immortal, fsize имеет тип данных int, a file.tellg() имеет тип long long.
Их нежелательно сравнивать.
0
13.05.2013, 02:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2013, 02:08

Работа с файлами. Сортировка прямым слиянием
вот само задание 1. Отсортировать по возрастанию последовательность чисел (вторая колонка таблицы...

Работа с файлами (запись данных, сортировка)
Здравствуйте, помогите пожалуйста с заданием: написать программу, которая запрашивает у...

По списку с подсписками построить список из положительных и список из отрицательных числовых элементов
Написать функцию, которая по списку с подсписками строит списки из положительных числовых...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru