Удаление и добавление элементов в файле 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Удаление и добавление элементов в файле



Пример 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. Создание бинарных и текстовых файлов, удаление, добавление, корректировка элементов, печать файлов.

 

 

25. Примеры задач для подготовки к экзамену

1.
3
Определить, попадет ли точка с координатами (х, у) в указанную область.

     
 
-3

 

 


2. Дана последовательность целых чисел из n элементов. Найти:

· - среднее арифметическое;

· - (максимальное значение;

· - количество отрицательных элементов;

· -номер минимального элемента;

· -количество четных чисел;

· - минимальный из четных элементов этой последовательности.

 

3. Дана последовательность целых чисел, за которой следует 0. Найти:

· - среднее арифметическое;

· - (максимальное значение;

· - количество отрицательных элементов;

· -номер минимального элемента;

· -количество четных чисел;

· - минимальный из четных элементов этой последовательности.

4. Найти сумму чисел Фибоначчи, меньших заданного числа Q.

5. Напечатать N простых чисел.

6. Дан массив целых чисел. Найти:

· - среднее арифметическое;

· - (максимальное значение;

· - количество отрицательных элементов;

· -номер минимального элемента;

· -количество четных чисел;

· - минимальный из четных элементов этого массива.

7. Дан массив целых чисел. Перевернуть массив.

8. Дан массив целых чисел. Поменять местами пары элементов в массиве: 1и2, 3 и 4, 5 и 6 и т. д.

9. Циклически сдвинуть массив на К элементов влево (вправо).

10. Найти первое вхождение элемента К в массив целых чисел.

11. Удалить из динамической матрицы строку с номером K.

12. Дана строка символов, состоящая из слов, слова разделены между собой пробелами. Удалить из строки все слова, начинающиеся с цифры.

13. Сформировать динамический массив строк. Удалить из него строку с заданным номером.

14. Заданы координаты сторон треугольника. Если такой треугольник существует, то найти его площадь. Решить задачу с использованием функций.

15. Дан массив int a[100]. Удалить из массива все четные элементы.

16. Дан массив int *a.Удалить из массива все элементы, совпадающие с первым элементом, используя динамическое выделение памяти.

17. Найти количество цифр в строке символов, используя функции.

18. Удалить из однонаправленного (двунаправленного) списка элемент с заданным номером (ключом).

19. Добавить в однонаправленный (двунаправленный) список элемент с заданным номером.

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

21. Добавить в бинарный файл, в который записаны элементы типа

struct Student

{char name[20];int age;};

К элементов после элемента с заданной фамилией.

22. Удалить из текстового файла все четные строки.

23. Добавить порядковый номер в каждую строку текстового файла.

24. struct Date

{сhar Month[15];int Day;}

В файле содержатся даты типа Date. Заменить все даты, у которых поле Month равно “Май”,”Июнь” или ”Июль” на даты, у которых поле Day не меняется а поле Month меняется на “Август”.

25. В текстовом файле заменить все строки, начинающиеся с буквы ‘f’ на строки, начинающиеся с буквы ‘a’.

 



Поделиться:


Последнее изменение этой страницы: 2021-12-15; просмотров: 52; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.138.114.198 (0.015 с.)