Головна |
Створити програму, в якій реалізовані створення, додавання та перегляд файлу, що містить інформацію про прізвища і середній бал студентів. Процес додавання інформації закінчується при натисканні точки.
#include
#include
struct Sved {
char Fam [30];
double S_Bal;
} Zap, zapt;
char Spis [] = "c: \\ work \\ Sp.dat";
FILE * F_zap;
FILE * Open_file (char *, char *);
void main (void)
{
int i, j, kodR, size = sizeof (Sved), kod_read;
while (1) {
puts ("Створити - 1 \ n Додати- 3 \ nПросмотреть- 2 \ nВиход - 0");
scanf ("% d", & kodR);
switch (kodR) {
case 1: case 3:
if (kodR == 1) F_zap = Open_file (Spis, "w +");
else F_zap = Open_file (Spis, "a +");
while (2) {
puts ("\ n Fam (. - end)");
scanf ("% s", zap.Fam);
if ((zap.Fam [0]) == '.') break;
puts ("\ n Ball:");
scanf ("% lf", & zap.S_Bal);
fwrite (& zap, size, 1, F_zap);
}
fclose (F_zap);
break;
case 2: F_zap = Open_file (Spis, "r +"); int nom = 1;
while (2) {
if (! fread (& zap, size, 1, F_zap)) break;
printf ("% 2d:% 20s% 5.2lf \ n",
nom ++, zap.Fam, zap.S_Bal);
}
fclose (F_zap);
break;
case 0: return; // exit(0);
} // Закриває switch()
} // Закриває while()
}
// Функція обробки помилкової ситуації при відкритті файлу
FILE * Open_file (char * file, char * kod)
{
FILE * f;
if (! (f = fopen (file, kod))) {
puts ("Open File Error!");
exit (1);
}
return f;
}
Поради з програмування
При виконанні варіантів завдань дотримуйтеся наступних ключових моментів.
1. Об'єкти типів структури і об'єднання застосовуються для логічно пов'язаних між собою даних різних типів.
2. Після опису шаблону структурного типу даних ставиться крапка з комою.
3. Елементи даних, що входять до структури і об'єднання, називаються полями. Поля можуть бути будь-якого базового (стандартного) типу даних, масивом, покажчиком, об'єднанням або структурою.
4. Для звернення до полю використовується операція приналежності (прив'язки, вибору) «.» (Крапка) при зверненні через ID структури, або «->» (стрілка) при зверненні через покажчик.
5. Структури одного типу можна присвоювати один одному з використанням стандартної функції memcpy.
6. Введення-виведення структур виконується поелементно.
7. Структури, пам'ять під які виділяє компілятор, можна форматувати значеннями їх полів.
8. Файл - це іменований об'єкт, який зберігає дані на будь-якому носії, хоча може розташовуватися і на електронному диску в ОП.
9. Файл не має фіксованої довжини, т. Е може збільшуватися або зменшуватися в процесі обробки.
10. Перед роботою файл необхідно відкрити (функція fopen), А після роботи закрити (функція fclose).
Позиціонування в файлі | Перший рівень складності
Другий рівень складності | масиви структур | бітові поля | ГЛАВА 14. Файли в мові Сі | Запис-читання інформації | Другий рівень складності | лінійні списки | Структура даних СТЕК | Алгоритм формування стека | Структура даних ЧЕРГУ |