Контрольні запитання та завдання
Завдання
Варіанти завдань
Общие требования.
1. Необходимо каждый пункт задания оформить в виде функции. Все необходимые данные для функций должны передаваться им в качестве параметров. Использование глобальных переменных в функциях не допускается.
2. Все структуры и функции должны бить сгруппированы в поименованную область и сохранены в отдельном файле (*.h).
Вариант 1
Описать структуру с именем STUDENT, содержащую следующие поля: - фамилия и инициалы;
- номер группы;
- успеваемость (массив из пяти элементов). Написать программу, выполняющую следующие действия:
- ввод с клавиатуры данных в массив, состоящий из десяти структур типа STUDENT; записи должны быть упорядочены по возрастанию номера группы;
- вывод на дисплей фамилий и номеров групп для всех студентов, включенных в массив, если средний балл студента больше 4.0;
- если таких студентов нет, вывести соответствующее сообщение.
Вариант 2
Описать структуру с именем STUDENT, содержащую следующие поля; - фамилия и инициалы;
- номер группы;
- успеваемость (массив из пяти элементов). Написать программу, выполняющую следующие действия:
- ввод с клавиатуры данных в массив, состоящий из десяти структур типа STUDENT; записи должны быть упорядочены по возрастанию среднего балла;
- вывод на дисплей фамилий и номеров групп для всех студентов, имеющих оценки 4 и 5;
|
|
- если таких студентов нет, вывести соответствующее сообщение.
Вариант 3
Описать структуру с именем STUDENT, содержащую следующие поля:
- фамилия и инициалы; - номер группы;
- успеваемость (массив из пяти элементов). Написать программу, выполняющую следующие действия:
- ввод с клавиатуры данных в массив, состоящий из десяти структур типа STUDENT; записи должны быть упорядочены по алфавиту;
- вывод на дисплей фамилий и номеров групп для всех студентов, имеющих хотя бы одну оценку 2;
- если таких студентов нет, вывести соответствующее сообщение.
Вариант 4
Описать структуру с именем AEROFLOT, содержащую следующие поля:
- название пункта назначения рейса;
- номер рейса;
- тип самолета.
Написать программу, выполняющую следующие действия:
- ввод с клавиатуры данных в массив, состоящий из семи элементов типа AEROFLOT; записи должны быть упорядочены по возрастанию номера рейса;
- вывод на экран номеров рейсов и типов самолетов, вылетающих в пункт назначения, название которого совпало с названием, введенным с клавиатуры;
- если таких рейсов нет, выдать на дисплей соответствующее сообщение
Вариант 5
Описать структуру с именем AEROFLOT, содержащую следующие поля:
|
|
- название пункта назначения рейса;- номер рейса;
- тип самолета.
Написать программу, выполняющую следующие действия:
- ввод с клавиатуры данных в массив, состоящий из семи элементов типа AEROFLOT; записи должны быть размещены в алфавитном порядке по названиям пунктов назначения;
- вывод на экран пунктов назначения и номеров рейсов, обслуживаемых самолетом, тип которого введен с клавиатуры;
- если таких рейсов нет, выдать на дисплей соответствующее сообщение.
Вариант 6
Описать структуру с именем WORKER, содержащую следующие поля:
- фамилия и инициалы работника;
- название занимаемой должности;
- год поступления на работу.
Написать программу, выполняющую следующие действия:
- ввод с клавиатуры данных в массив, состоящий из десяти структур типа WORKER; записи должны быть размещены по алфавиту;
-вывод на дисплей фамилий работников, чей стаж работы в организации превышает значение, введенное с клавиатуры;
- если таких работников нет, вывести на дисплей соответствующее сообщение.
Вариант 7
Описать структуру с именем TRAIN, содержащую следующие поля:
- название пункта назначения;
- номер поезда;
- время отправления.
Написать программу, выполняющую следующие действия:
|
|
- ввод с клавиатуры данных в массив, состоящий из восьми элементов типа TRAIN; записи должны быть размещены в алфавитном порядке по названиям пунктов назначения;
- вывод на экран информации о поездах, отправляющихся после введенного с клавиатуры времени;
- если таких поездов нет, выдать на дисплей соответствующее сообщение.
Вариант 8
Описать структуру с именем TRAIN, содержащую следующие поля:
- название пункта назначения;
- номер поезда;- время отправления.
Написать программу, выполняющую следующие действия:
- ввод с клавиатуры данных в массив, состоящий из шести элементов типа TRAIN; записи должны быть упорядочены по времени отправления поезда;
- вывод на экран информации о поездах, направляющихся в пункт, название которого введено с клавиатуры;
- если таких поездов нет, выдать на дисплей соответствующее сообщение.
Вариант 9
Описать структуру с именем TRAIN, содержащую следующие поля:
- название пункта назначения;
- номер поезда;
- время отправления.
Написать программу, выполняющую следующие действия:
-ввод с клавиатуры данных в массив, состоящий из восьми элементов типа TRAIN; записи должны быть упорядочены по номерам поездов;
- вывод на экран информации о поезде, номер которого введен с клавиатуры;
|
|
- если таких поездов нет, выдать на дисплей соответствующее сообщение.
Вариант 10
Описать структуру с именем MARSH, содержащую следующие поля:
- название начального пункта маршрута;
- название конечного пункта маршрута;
- номер маршрута.
Написать программу, выполняющую следующие действия:
- ввод с клавиатуры данных в массив, состоящий из восьми элементов типа MARSH; записи должны быть упорядочены по номерам маршрутов;
- вывод на экран информации о маршруте, номер которого введен с клавиатуры;
- если таких маршрутов нет, выдать на дисплей соответствующее сообщение.
Вариант 11
Описать структуру с именем MARSH, содержащую следующие поля:
- название начального пункта маршрута;
- название конечного пункта маршрута;
- номер маршрута.
Написать программу, выполняющую следующие действия:
- ввод с клавиатуры данных в массив, состоящий из восьми элементов типа MARSH; записи должны быть упорядочены по номерам маршрутов;- вывод на экран информации о маршрутах, которые начинаются или оканчиваются в пункте, название которого введено с клавиатуры;
- если таких маршрутов нет, выдать на дисплей соответствующее сообщение.
Вариант 12
Описать структуру с именем NOTE, содержащую следующие поля:
- фамилия, имя;
- номер телефона;
- дата рождения (массив из трех чисел).
Написать программу, выполняющую следующие действия:
- ввод с клавиатуры данных в массив, состоящий из восьми элементов типа NOTE; записи должны быть упорядочены по датам рождения;
- вывод на экран информации о человеке, номер телефона которого введен с клавиатуры;
- если такого нет, выдать на дисплей соответствующее сообщение.
Вариант 13
Описать структуру с именем NOTE, содержащую следующие поля:
- фамилия, имя;
- номер телефона;
- дата рождения (массив из трех чисел).
Написать программу, выполняющую следующие действия:
- ввод с клавиатуры данных в массив, состоящий из восьми элементов типа NOTE; записи должны быть размещены по алфавиту;
- вывод на экран информации о людях, чьи дни рождения приходятся на месяц, значение которого введено с клавиатуры;
- если таких нет, выдать на дисплей соответствующее сообщение.
Вариант 14
Описать структуру с именем NOTE, содержащую следующие поля:
- фамилия, имя; - номер телефона;
- дата рождения (массив из трех чисел).
Написать программу, выполняющую следующие действия:
- ввод с клавиатуры данных в массив, состоящий из восьми элементов типа NOTE; записи должны быть упорядочены по трем первым цифрам номера телефона;
- вывод на экран информации о человеке, чья фамилия введена с клавиатуры;
- если такого нет, выдать на дисплей соответствующее сообщение.
Вариант 15
Описать структуру с именем ZNAK, содержащую следующие поля:
- фамилия, имя;
- знак Зодиака;
- дата рождения (массив из трех чисел).
Написать программу, выполняющую следующие действия:
- ввод с клавиатуры данных в массив, состоящий из восьми элементов типа ZNAK; записи должны быть упорядочены по датам рождения;
- вывод на экран информации о человеке, чья фамилия введена с клавиатуры;
- если такого нет, выдать на дисплей соответствующее сообщение.
Вариант 16
Описать структуру с именем ZNAK, содержащую следующие поля:
- фамилия, имя;
- знак Зодиака;
- дата рождения (массив из трех чисел).
Написать программу, выполняющую следующие действия:
- ввод с клавиатуры данных в массив, состоящий из восьми элементов типа ZNAK; записи должны быть упорядочены по датам рождения;
- вывод на экран информации о людях, родившихся под знаком, название которого введено с клавиатуры!
- если таких нет, выдать на дисплей соответствующее сообщение.
Вариант 17
Описать структуру с именем ZNAK, содержащую следующие поля: - фамилия, имя;
- знак Зодиака;
- дата рождения (массив из трех чисел).
Написать программу, выполняющую следующие действия:
- ввод с клавиатуры данных в массив, состоящий из восьми элементов типа ZNAK; записи должны быть упорядочены по знакам Зодиака;
- вывод на экран информации о людях, родившихся в месяц, значение которого введено с клавиатуры;
- если таких нет, выдать на дисплей соответствующее сообщение.
Вариант 18
Описать структуру с именем PRICE, содержащую следующие поля:
- название товара;- название магазина, в котором продается товар;
- стоимость товара в руб.
Написать программу, выполняющую следующие действия:
- ввод с клавиатуры данных в массив, состоящий из восьми элементов типа PRICE; записи должны быть размещены в алфавитном порядке по названиям товаров;
- вывод на экран информации о товаре, название которого введено с клавиатуры;
- если таких товаров нет, выдать на дисплей соответствующее сообщение
Вариант 19
Описать структуру с именем PRICE, содержащую следующие поля:
- название товара;
- название магазина, в котором продается товар;
- стоимость товара в руб.
Написать программу, выполняющую следующие действия:
- ввод с клавиатуры данных в массив, состоящий из восьми элементов типа PRICE; записи должны быть размещены в алфавитном порядке по названиям магазинов;
- вывод на экран информации о товарах, продающихся в магазине, название которого введено с клавиатуры;
- если такого магазина нет, выдать на дисплей соответствующее сообщение.
Вариант 20
Описать структуру с именем ORDER, содержащую следующие поля:
- расчетный счет плательщика; - расчетный счет получателя;
- перечисляемая сумма в руб.
Написать программу, выполняющую следующие действия:
- ввод с клавиатуры данных в массив, состоящий из восьми элементов типа ORDER; записи должны быть размещены в алфавитном порядке по расчетным счетам плательщиков;
- вывод на экран информации о сумме, снятой с расчетного счета плательщика, введенного с клавиатуры;
- если такого расчетного счета нет, выдать на дисплей соответствующее сообщение.
Вариант 21
Описать структуру с именем STUDENT, содержащую следующие поля; - фамилия и инициалы;
- номер группы;
- успеваемость (массив из пяти элементов). Написать программу, выполняющую следующие действия:
- ввод с клавиатуры данных в массив, состоящий из десяти структур типа STUDENT; записи должны быть упорядочены по возрастанию среднего балла;
- вывод на дисплей фамилий и номеров групп для всех студентов, у которых успеваемость выше среднего;
Вариант 22
Описать структуру с именем STUDENT, содержащую следующие поля; - фамилия и инициалы;
- номер группы;
- успеваемость (массив из пяти элементов). Написать программу, выполняющую следующие действия:
- ввод с клавиатуры данных в массив, состоящий из десяти структур типа STUDENT; записи должны быть упорядочены по возрастанию среднего балла;
- вывод на дисплей фамилий и номеров групп для всех студентов, у которых успеваемость выше 2.0 бала и ниже 4.5.
Вариант 23
Описать структуру с именем PRICE, содержащую следующие поля:
- название товара;
- название магазина, в котором продается товар;
- стоимость товара в руб.
Написать программу, выполняющую следующие действия:
- ввод с клавиатуры данных в массив, состоящий из восьми элементов типа PRICE;
- вывод на экран перечень магазинов, в которых есть в наличии товаре, название которого введено с клавиатуры;
- если таких товаров нет, выдать на дисплей соответствующее сообщение
Вариант 24
Описать структуру с именем PRICE, содержащую следующие поля:
- название товара;
- название магазина, в котором продается товар;
- стоимость товара в руб.
Написать программу, выполняющую следующие действия:
- ввод с клавиатуры данных в массив, состоящий из восьми элементов типа PRICE;
- вывод на список товаров, в которые есть в наличии в указанном магазине;
- если такого магазина нет, выдать на дисплей соответствующее сообщение
Вариант 25
Описать структуру с именем COMP, содержащую следующие поля:
- название компьютера;
- рейтинговая частота процессора;
- количество ОЗУ.
Написать программу, выполняющую следующие действия:
- ввод с клавиатуры данных в массив, состоящий из восьми элементов типа COMP;
- вывод на экран список компьютеров у которых мощность процессора выше среднего;
Вариант 25
Описать структуру с именем COMP, содержащую следующие поля:
- название компьютера;
- рейтинговая частота процессора;
- количество ОЗУ.
Написать программу, выполняющую следующие действия:
- ввод с клавиатуры данных в массив, состоящий из восьми элементов типа COMP;
- вывод на экран список компьютеров у которых количество памяти больше 64Мб и меньше 1024Мб.
Вариант 26
Описать структуру с именем COMP, содержащую следующие поля:
- название компьютера;
- рейтинговая частота процессора;
- количество ОЗУ.
Написать программу, выполняющую следующие действия:
- ввод с клавиатуры данных в массив, состоящий из восьми элементов типа COMP;
- вывод на экран список компьютеров у которых количество памяти больше 128Мб и частота процессора больше 1000Гц.
Контрольний приклад
Описать структуру с именем STUDENT, содержащую следующие поля:
- фамилия и инициалы;
- средний бал успеваемости;
Написать программу, выполняющую следующие действия:
- ввод с клавиатуры;
- вывод полного списка на экран;
- поиск студента с наихудшей успеваемостью.
Пример решения:
Текст файла main.cpp
#include"student.h"
using namespace grup;
int main()
{
int n;
cout<<"Vvedite kolichestvo studentov=";
char kolTMP[10]; //
cin.getline(kolTMP,10); //Делаем защиту от
n=atoi(kolTMP); //ошибочного ввода
if(!n) return 1;
Stud *PMM=new Stud[n];
input(PMM,n);
output(PMM,n);
Stud *StudMin=serchMin(PMM,n);
cout<<"Student s minim balom:"<<endl;
cout<<StudMin->FIO<<'\t'<<StudMin->bal<<endl;
cin.get();
delete []PMM;
return 0;
}
Текст файла student.h
#include<iostream>
using namespace std;
namespace grup
{
struct Stud
{
char FIO[80];
float bal;
};
void input(Stud *IB,int n);
//Функция для ввода с клавиатуры
void output(Stud *IB,int n);
//Функция для вывода на экран
Stud *serchMin(Stud *IB,int n);
//Функция для нахождения студента с минимальным бaлом
}// конец namespace grup
void grup::input(Stud *IB,int n)
//Функция для ввода с клавиатуры
{
for(int i=0;i<n;i++)
{
cout<<"Vvedite imja Studenta "<<endl;
cin.getline(IB[i].FIO,80);
char strTMP[10];
cout<<"Vvedite bal Studenta "<<endl;
cin.getline(strTMP,80);
IB[i].bal=atoi(strTMP);
}
};
void grup::output(Stud *IB,int n)
//Функция для вывода на экран
{
for(int i=0;i<n;i++)
{
cout<<IB[i].FIO<<'\t'<<IB[i].bal<<endl;
}
};
grup::Stud *grup::serchMin(Stud *IB,int n)
//Функция для нахождения студента с минимальным бaлом
{
Stud *Min;
Min=&IB[0];
for(int i=1;i<n;i++)
if(Min->bal>IB[i].bal)
Min=&IB[i];
return Min;
};
Пошук і сортування
Мета роботи
Отримати практичні навички програмування на С++задач, де використовується пошук і сортування інформації.
Дата добавления: 2018-04-15; просмотров: 481; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!