28.05.2009, 22:30. Просмотров 752. Ответов 4
Есть две задачи которые требуют работать с файлами, а опыт работы с файлами из приложения у меня очень слабый.
Задача 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
| void main()
{
char name[20], s_name[20];
printf ("Введите имя ученика: ");
scanf ("%s", name);
printf ("\n Введите фамилию ученика: ");
scanf ("%s", s_name);
char street[20];
int house, flat;
printf ("\n Введите улицу/дом/квартиру ученика: ");
scanf ("%s", street);
scanf ("%d", &house);
scanf ("%d", &flat);
int class;
printf ("Введите класс ученика: ");
scanf ("%d", &class);
FILE * fo;
fo = fopen("Uchen.txt","a");
fprintf( fo, "\n Имя Фамилия -> %s %s \n", name, s_name);
fprintf( fo, "Адресс %s %d %d \n", street, house, flat);
fprintf( fo, "Класс -> от %d ", class);
fclose(fo);
} |
|
А вот как брать содержимое файла, производить с ним действия и работать с ним, я не могу разобратся. Ведь там вроде как всё идёт как сплошной текст ,как же выбрать из всего текста улицу Ленина?
Задача 2:
"В бинарном файле записана случайная последовательность чисел из 100 эллементов, вывести отрицательные числа из файла на экран."
В этой задаче загвоздка ещё больше ,ходя похожа на предыдушую. Как вводить что-то в бинарный файл, и извлекать это обратно (что бы работать с извлечёными данными) я не знаю. Один преподователь сказал что можно сделать эту задачу в обычном текстовом файле, но опять же я не знаю как извлечь числа из этого файла, так что бы они воспринимались, как 100 отдельных элементов, а не как набор символов.
Очень слёзно прошу помочь ламеру с этими задачами