Удаление и добавление элементов в файле
Пример 1:
void del(char *filename)
{
//удаление записи с номером х
FILE *f, *temp;
f=fopen(filename,”rb”);//открыть исходный файл для чтения
temp=fopen(“temp”,”wb”)//открыть вспомогательный файл для записи
student a;
for(long i=0;.fread(&a,sizeof(student),1,f);i++)
if(i!=x)
{
fwrite(&a,sizeof(student)1,temp);
}
else
{
cout<<a<<" - is deleting...";
}
fclose(f); fclose(temp);
remove(filename);
rename(“temp”, filename);
}
Пример 2:
void add(char *filename)
{
//добавление в файл
student a;
int n;
f=fopen(filename,”ab”)открыть файл для добавления
cout<<"\nHow many records would you add to file?";
cin>>n;
for(int i=0;i<n;i++)
{
прочитать объект
fwrite(&a,sizeof(student),1,f);//записать в файл
}
fclose(f);//закрыть файл
}
Вопросы к экзамену.
1. Алгоритм и его свойства. Способы записи алгоритма. Программа. Языки программирования. Примеры алгоритмов и программ.
2. Структура программы на языке С++. Примеры. Этапы создания исполняемой программы.
3. Состав языка С++. Константы и переменные С++.
4. Типы данных в С++.
5. Выражения. Знаки операций.
6. Основные операторы С++ (присваивание, составные, выбора, циклов, перехода). Синтаксис, семантика, примеры
7. Этапы решения задачи. Виды ошибок. Тестирование.
8. Массивы (определение, инициализация, способы перебора).
9. Сортировка массивов (простой обмен, простое включение, простой выбор).
10. Поиск в одномерных массивах (дихотомический и линейный).
11. Указатели. Операции с указателями. Примеры
12. Динамические переменные. Операции new и delete. Примеры.
13. Ссылки. Примеры.
14. Одномерные массивы и указатели. Примеры.
15. Многомерные массивы и указатели. Примеры.
16. Динамические массивы. Примеры.
17. Символьная информация и строки. Функции для работы со строками (библиотечный файл string.h).
18. Функции ввод-вывода (scanf(), printf(), puts(), gets(), putchar(),getchar()).
19. Функции в С++. Формальные и фактические параметры. Передача параметров по адресу и по значению. Локальные и глобальные переменные. Примеры.
20. Прототип функции. Библиотечные файлы. Директива препроцессора #include.
21. Передача одномерных массивов в функции. Примеры.
22. Передача многомерных массивов в функции. Примеры.
23. Передача строк в функции. Примеры.
24. Функции с умалчиваемыми параметрами. Примеры.
25. Подставляемые функции. Примеры.
26. Функции с переменным числом параметров. Примеры.
27. Перегрузка функции. Шаблоны функций. Примеры.
28. Указатели на функции. Примеры.
29. Ссылки на функции. Примеры.
30. Типы данных, определяемые пользователем (переименование типов, перечисление, структуры, объединения). Примеры.
31. Структуры. Определение, инициализация, присваивание структур, доступ к элементам структур, указатели на структуры, битовые поля структур.
32. Динамические структуры данных (однонаправленные и двунаправленные списки).
33. Создание списка, печать, удаление, добавление элементов (на примере однонаправленных и двунаправленных списков).
34. Потоковый ввод-вывод в С++. Открытие и закрытие потока. Стандартные потоки ввода-вывода.
35. Символьный, строковый, блоковый и форматированный ввод-вывод.
36. Прямой доступ к файлам.
37. Создание бинарных и текстовых файлов, удаление, добавление, корректировка элементов, печать файлов.
Дата добавления: 2015-09-18; просмотров: 870;