Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие С++- не книжкой_новое.doc
Скачиваний:
4
Добавлен:
04.11.2018
Размер:
765.44 Кб
Скачать

Void del()

{

student *adr;

while (begin)

{

adr=begin;

begin=begin->next;

delete adr;

}

cout<<"\nСписок удален";

}

Void main ()

{

N:

clrscr();

cout<< "Введите номер функции\n";

cout<<" 1 – Создание списка из файла\n";

cout<<" 2 – Вывод списка на экран\n";

cout<<" 3 – Вывод списка в файл\n";

cout<<" 4 – Добавление студента в список\n";

cout<<" 5 – Удаление студентов с заданной фамилией\n";

cout<<" 6 – Удаление списка \n";

cout<<" 0 – Выход из программы \n";

int nom;

cin>>nom;

switch (nom)

{

case 0: {del();exit(0);}

case 1: {vvod(); break;}

case 2: {vivod (); break;}

case 3: {vivod_f(); break;}

case 4: {add(); break;}

case 5: {udol(); break;}

case 6: {udol(); break;}

default: cout<<"Ошибка ввода ";

}

cout<<"\nДля продолжение нажмите Enter "; getch();

goto N;

}

Решить следующие задачи, используя динамическую структуру списка (однонаправленного или двунаправленного). В каждой из перечисленных ниже задач необходимо составить функции:

  • создания списка на основе данных из файла,

  • записи данных из списка в файл,

  • добавления элемента в начало (конец) списка,

  • удаления всего списка,

  • вывода всего списка данных на экран в виде таблицы.

  1. Ввести структуру АВТОМАШИНА с полями МАРКА, ГОД ВЫПУСКА, НОМЕР, ФАМИЛИЯ ВЛАДЕЛЬЦА. Составить функцию поиска машины по любой из комбинации признаков.

  2. Ввести структуру АВТОМАШИНА с полями МАРКА, ГОД ВЫПУСКА, НОМЕР, ФАМИЛИЯ ВЛАДЕЛЬЦА. Составить функцию поиска всех владельцев машин, имеющих более одной машины и вывода полной информации об их машинах.

  3. Ввести структуру ИСТОРИЧЕСКОЕ СОБЫТИЕ с полями ЧИСЛО, МЕСЯЦ, ГОД, СОБЫТИЕ. Составить и протестировать функцию

    1. сортирующую список исторических событий по дате (год, месяц, число);

    2. добавляющее новое событие в отсортированный по датам события список в нужное место.

  4. Ввести структуру ИСТОРИЧЕСКОЕ СОБЫТИЕ с полями ГОД, СОБЫТИЕ. Составить функцию

    1. вычисляющую в каком году произошло больше всего событий;

    2. формирующую новый список из событий, произошедших в этом году.

  5. Ввести структуру ИСТОРИЧЕСКОЕ СОБЫТИЕ с полями ГОД, СОБЫТИЕ. Составить функцию

    1. сортирующую список исторических событий по полю ГОД;

    2. подсчитывающую средний интервал между датами.

  6. Ввести структуру СТУДЕНТ с полями ФИО, ЧИСЛО, МЕСЯЦ, ГОД РОЖДЕНИЯ, НОМЕР ГРУППЫ. Составить функцию

    1. удаляющую всех студентов из заданной группы,

    2. сортирующую список студентов по возрасту.

  7. Ввести структуру УЧЕНИК с полями ФИО, ГОД РОЖДЕНИЯ, НОМЕР КЛАССА. Составить функцию

    1. сортирующую список студентов по алфавиту

    2. добавляющего нового студента в алфавитном порядке

  8. Ввести структуру ЭКСПОРТИРУЕМЫЙ ТОВАР с полями НАИМЕНОВАНИЕ ТОВАРА, СТРАНА (импортирующая товар), ОБЪЕМ ПАРТИИ (в штуках). Составить функцию

    1. сортирующая список товаров по полю СТРАНА;

    2. увеличивающую объем партий на n % для стран, импортирующих более k наименований товара.

  9. Ввести структуру УЧЕНИК с полями ФИО, ГОД ОБУЧЕНИЯ, НАЗВАНИЯ КЛАССА (БУКВА). Составить функцию

    1. сортирующую список учеников по классам;

    2. проверяющую, чтобы в каждом классе было не более n учеников (если количество учеников в классе больше n, то в этом классе оставляется только n учеников, а из остальных формируется новый класс с буквой, следующей по алфавиту за имеющимися).

  10. Ввести структуру УЧЕНИК с полями ФИО, ГОД ОБУЧЕНИЯ, НАЗВАНИЯ КЛАССА (БУКВА), ИТОГОВАЯ ОЦЕНКА. Составить функцию

    1. сортирующую список учеников по классам;

    2. подсчитывающего среднюю оценку для каждого класса.

  11. Ввести структуру КНИГА с полями НАЗВАНИЕ, ФИО АВТОРА, ГОД ИЗДАНИЯ, КОЛИЧЕСТВО ЭКЗЕМПЛЯРОВ. Составить функцию

    1. подсчитывающую общее количество книг,

    2. вычисляющее в какой год было издано больше всего книг (по наименованию, а не по количеству экземпляров)

  12. Ввести структуру КНИГА с полями НАЗВАНИЕ, ФИО АВТОРА, ГОД ИЗДАНИЯ, КОЛИЧЕСТВО ЭКЗЕМПЛЯРОВ. Составить функцию

    1. удаляющую все книги, изданные ранее заданного года;

    2. формирующую новый список из книг заданного автора.