Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 14.06.2015
Сообщений: 1
1

Организовать поиск чисел в файле

14.06.2015, 02:25. Показов 1400. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Возник вопрос по поиску страны по численности населения. С поиском символов в строке проблем нет, а вот с числами проблема... Не могли бы подсказать как организовать поиск чисел?
P.S. Замечания по тексту программы приветствуются.
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
#include <stdio.h>
#include <iostream>
#include <string.h>
#include <windows.h>
#include <conio.h>
struct Country {
    int number,size,population;
    char name[16];
    char location[16];
};
 
FILE *f;
 
void menu(void) {
    setlocale( LC_ALL, ".1251" );
    printf(
        "\n"
        "1. Добавление стран.\n"
        "2. Список стран .\n"
        "3. Поиск страны по названию.\n"
        "4. Поиск страны по численности населения.\n"
        "9. Выйти.\n\n"
    );
}               
 
int main() {
    setlocale( LC_ALL, "Russian" );
    
    // Открытие файла ------------------------------
    f = fopen( "Country.dat", "ab+" );
    
    menu();
    char c;
    while(true) {
        printf( "\rВыберите режим работы: " );
        c = _getche();
        Country t;
        
        switch (c) {
            case '1': // Добавление;
                printf( "\n\nПополнение списка.\n"
                        "Для выхода в главное меню введите 0 .\n\n" );
                fseek( f, 0, SEEK_END );
                while( true )  {
                    printf( "Номер: " );
                    scanf( "%d", &t.number );
                    if( t.number==0 )break;
 
                    printf( "Название: " );
                    scanf( "%15s%*[^\n]5000s", t.name);
                    if( t.name[0]=='0' )break;
 
                    printf( "Местонахождение: " );
                    scanf( "%15s", t.location);
                    if( t.location[0]=='0' )break;
 
                    printf( "Площадь: " );
                    scanf( "%d", &t.size );
                    if( t.size==0 )break;
                    
                    printf( "Численность населения: " );
                    scanf( "%d", &t.population );
                    if( t.population==0 )break;
 
                    fwrite( &t, sizeof(t), 1, f );
                    printf( "Информация добавлена.\n Для продолжения нажмите любую клавишу\n" );
                    getch ();
                    system ("cls");
                    menu();
                    break;
                }
 
                break;
            case '2': // Просмотр
                system ("cls");
                printf(
                    "\n\nСписок стран:\n\n");
                fseek( f, 0, SEEK_SET );
                while( true ) {
                    if( fread( &t, sizeof(Country), 1, f ) !=1 ) break;
                    printf("\n");
                    printf( "Номер: %d\n", t.number);
                    printf("Название: ");setlocale( LC_ALL, ".866" );printf("%-15s\n",t.name);
                    setlocale( LC_ALL, ".1251" );printf("Местонахождение: ");setlocale( LC_ALL, ".866" );printf("%-15s\n",t.location);setlocale( LC_ALL, ".1251" );
                    printf("Площадь: %d\n",t.size);
                    printf("Численность населения: %d\n",t.population);
                            }
                setlocale( LC_ALL, ".1251" );
                printf("\n\nДля продолжения нажмите любую клавишу");
                getch ();
                system ("cls");
                menu();
                break;
            case '3': // Поиск по названию
                system ("cls");
                printf( "\n\nПоиск страны по названию.\n\n" );
                char s[16];
                printf( "Введите название: " );
                scanf( "%15s", s, 16 );
 
                fseek( f, 0, SEEK_SET );
                setlocale( LC_ALL, ".1251" );
                while( true ) {
                    if( fread( &t, sizeof(Country), 1, f ) !=1 ) break;
                    if( strstr( t.name, s ) != NULL )
                    {
                        printf("\n");
                        printf( "Номер: %d\n", t.number);
                        printf("Название: ");setlocale( LC_ALL, ".866" );printf("%-15s\n",t.name);
                        setlocale( LC_ALL, ".1251" );printf("Местонахождение: ");setlocale( LC_ALL, ".866" );printf("%-15s\n",t.location);setlocale( LC_ALL, ".1251" );
                        printf("Площадь: ");printf("%d\n",t.size);
                        printf("Численность населения: %d\n",t.population);
                    }
                }
                setlocale( LC_ALL, ".1251" );
                printf("\nДля продолжения нажмите любую клавишу");
                getch ();
                system ("cls");
                menu();
                break;
            case '4': // Поиск по численности населения
                system ("cls");
                printf( "\n Поиск по численности населения:" );
                
                printf("\n Для продолжения нажмите любую клавишу");
                getch ();
                system ("cls");
                menu();
                break;              
            case '9': // Выход ---------------------------------------
                fclose(f);
                return 0;
        }
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.06.2015, 02:25
Ответы с готовыми решениями:

Методом Хоора организовать в файле поиск по фамилии
Добрый день. Если у вас есть время и желание - прошу помощи в неразрешимом для меня вопросе:) ...

Организовать поиск в файле
есть таблица с данными. нужно составить к этой таблице поиск.

Как организовать поиск в файле
Как организовать поиск из файла, чтобы при вводе фамилии, выводило эту фамилию, откуда выезд, и...

Организовать поиск в XML-файле
Нужно написать такое условие: (если в xml файле присутствует &lt;listbox2&gt; &lt;item&gt; ...

1
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
14.06.2015, 02:46 2
Цитата Сообщение от Sukhov_E Посмотреть сообщение
С поиском символов в строке проблем нет, а вот с числами проблема...
И в чём проблема? Поиск такой же, как по названию страны, но сравниваются population. Сравнение int-ов: ==.

Добавлено через 6 минут
Для поиска по названию strstr() не к месту, есть strcmp().
0
14.06.2015, 02:46
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.06.2015, 02:46
Помогаю со студенческими работами здесь

Колонка из чисел, поиск чисел в другом файле и запись в новом файле
Доброго времени суток! Очень сложная задачка, которую я не могу реализовать. Есть файл 2.txt, и...

Как организовать поиск в файле-презентации .PPT
Вводиться в екселе текст и надо этот текст найти в файле-презентации .PPT. Как это сделать?

Как организовать поиск в открытом файле htm на диске?
Как организовать поиск в открытом файле HTM на диске !!!! Можно ли так выполнить! Дело в том, что...

Как организовать поиск в файле и вывод в другой файл?
В файл записать информацию о сотрудниках некоторого предприятия: фамилия, домашний адрес, телефон,...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
[Golang] 121. Best Time to Buy and Sell Stock
alhaos 28.01.2025
В этой задаче мы получаем слайс целых чисел, которые означают цену акции в разные моменты времени, и должны вернуть максимально возможную прибыль от купли продажи акции. / / . . .
Проектирование и моделирование
hw_wired 28.01.2025
Введение в моделирование Моделирование представляет собой один из фундаментальных методов научного познания, который позволяет изучать объекты и явления через создание их упрощенных аналогов. В. . .
Алгоритмы и исполнители
hw_wired 28.01.2025
Введение в алгоритмы В современном мире информационных технологий алгоритмы играют основополагающую роль в решении различных задач и автоматизации процессов. Алгоритм представляет собой точную. . .
Хранение информации
hw_wired 28.01.2025
Введение: Роль систем хранения информации в современном мире В современную эпоху цифровых технологий эффективное хранение информации становится одним из ключевых факторов успешного развития любой. . .
Обработка числовой информации
hw_wired 28.01.2025
Введение в обработку числовой информации В современном мире обработка числовой информации стала неотъемлемой частью как профессиональной деятельности, так и повседневной жизни. Электронные таблицы. . .
Мультимедиа
hw_wired 28.01.2025
Введение в мультимедийные технологии В современном мире мультимедийные технологии стали неотъемлемой частью нашей жизни, проникнув во все сферы человеческой деятельности. Термин "мультимедиа". . .
Обработка текстовой информации
hw_wired 28.01.2025
Введение в обработку текстовой информации В современном мире обработка текстовой информации играет фундаментальную роль в различных сферах человеческой деятельности. Текстовые редакторы стали. . .
Обработка графической информации
hw_wired 28.01.2025
Введение в компьютерную графику Компьютерная графика стала неотъемлемой частью современного цифрового мира, пройдя впечатляющий путь развития от простейших черно-белых изображений до сложных. . .
Python в Алгоритмике: Решение задач
hw_wired 28.01.2025
Введение в Python и Алгоритмику В современном мире программирование стало неотъемлемой частью образования и профессионального развития. Python зарекомендовал себя как один из самых популярных и. . .
Компьютер как универсальное устройство для работы с информацией
hw_wired 28.01.2025
Введение в устройство компьютера Компьютер представляет собой универсальное электронное устройство, предназначенное для автоматической обработки информации. В современном мире компьютер стал. . .
Информация и информационные процессы
hw_wired 28.01.2025
Понятие информации и ее виды В современном мире информация является одним из фундаментальных понятий, пронизывающих все сферы человеческой деятельности. Под информацией понимают любые сведения об. . .
Алгоритмика
hw_wired 28.01.2025
Введение: Основы алгоритмики и её роль в информатике В современном мире программирование и алгоритмическое мышление стали неотъемлемой частью образования и профессиональной деятельности. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru