Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Задачи по программированию на СС++. Учебно-методическое пособие

.pdf
Скачиваний:
0
Добавлен:
11.08.2026
Размер:
528 Кб
Скачать

#include <stdio.h> #define LimS 100 #define LimG 10 #define LimT 5

struct Tutor{

char name_f[]; //название направления int n_group; //число групп

int n_stud; //общее число студентов

int n_estud;//число преуспевающих студентов

};

void InputS(struct Tutor [], int*); void OutputS(struct Tutor [], int); void ProzentS(struct Tutor [], int);

int main(){

struct Tutor ta[LimT];//Объявление массива

//структур

int t; InputS(ta,&t); OutputS(ta,t); ProzentS(ta,t); return 1;

}

void InputS(struct Tutor t[LimT], int * n) {int i,nn;

do{

printf("Введите размерность массива 0<n<=%d ",LimT);

scanf("%d",&nn); }while(nn<=0 || nn>LimT);

printf("Ввод данных по запросу программы:\n"); for(i=0;i<nn;i++)

{printf("\nВведите данные для направления

%d\n",i+1);

printf("Введите название (например NP | NI | NK | NB | NN) \n");

scanf("%s",t[i].name_f); do{

61

printf("Введите количество групп 0<g<=%d ",LimG);

scanf("%d",&t[i].n_group); }while(t[i].n_group<=0||t[i].n_group>LimG);

do{

printf("Введите общее количество студентов

0<n<=%d ",LimS); scanf("%d",&t[i].n_stud); }while(t[i].n_stud<=0 || t[i].n_stud>LimS);

do{

printf("Введите количество преуспевающих студентов 0<=es<=%d ",LimS);

scanf("%d",&t[i].n_estud); }while(t[i].n_estud<0||t[i].n_estud>LimS);

}

*n=nn;

}

void OutputS(struct Tutor t[LimT], int n){ int i;

for(i=0;i<n;i++){ printf("\Название направления %d:

%s\n",i+1,t[i].name_f); printf("Кол-во групп: %d\n",t[i].n_group); printf("Общее кол-во студентов:

%d\n",t[i].n_stud); printf("Кол-во преуспевающих студентов:

%d\n",t[i].n_estud);

}

}

void ProzentS(struct Tutor t[LimT], int n) {int i,Sn,Se; float p;

Sn=0;Se=0;

for(i=0;i<n;i++)

{Sn+=t[i].n_stud; Se+=t[i].n_estud;} p=100.0*Se/Sn;

printf("%2.2f%%\n",p);

}

62

Задачи

1.Определить структуру с именем Student, содержащую следующие поля: фамилия и инициалы; номер группы; успеваемость – массив из пяти элементов.

2.Определить структуру с именем Aeroflot, содержащую следующие поля: название пункта назначения; номер рейса; тип самолета.

3.Определить структуру с именем Worker, содержащую следующие поля: фамилия и инициалы работника; название занимаемой должности; год поступления на работу.

4.Определить структуру с именем Train, содержащую следующие поля: название пункта назначения; номер поезда; время отправления.

5.Определить структуру с именем Route, содержащую следующие поля: название начального пункта; название конечного пункта; номер маршрута.

6.Определить структуру с именем Note, содержащую следующие поля: фамилия, имя; номер телефона; дата рождения – массив из трех чисел.

7.Определить структуру с именем Zodiac_Sign, содержащую следующие поля: фамилия, имя; знак Зодиака; дата рождения – массив из трех чисел.

8.Определить структуру с именем Prise содержащую следующие поля: название товара; название магазина, в котором продается товар; стоимость товара в руб.

9.Определить структуру с именем Order содержащую следующие поля: расчетный счет плательщика (формат уточнить в Интернете); расчетный счет получателя; перечисляемая сумма в руб.

10.Определить структуру с именем Merto содержащую следующие поля: название начального пункта; название конечного пункта; время поездки; номер линии.

63

11.Определить структуру с именем Autobus содержащую следующие поля: название начального пункта; название конечного пункта; номер маршрута; время поездки.

12.Определить структуру с именем Mobile содержащую следующие поля: начало звонка; длительность звонка; фамилия, имя абонента; название оператора.

13.Определить структуру с именем Express содержащую следующие поля: дата начала и дата срока действия билета; номер маршрута; дата проезда; время посадки.

14.Определить структуру с именем Credit содержащую следующие поля: название кредитной программы; процентная ставка по кредиту; срок предоставления кредита; сумма переплаты.

15.Определить структуру с именем Insurance содержащую следующие поля: название страховой программы; процентная ставка по страховке; срок предоставления страховки; сумма страховки.

16.Определить структуру с именем Payment содержащую следующие поля: фамилия имя отчество плательщика; адрес плательщика; период платежа – месяц и год; сумма платежа.

17.Определить структуру с именем Netbook содержащую следующие поля: название фирмы изготовителя; размер экрана; объем оперативной памяти; цена.

18.Определить структуру с именем VUZ содержащую следующие поля: название вуза; общее количество студентов; количество факультетов; стипендия студента.

19.Определить структуру с именем Home содержащую следующие поля: адрес дома; этажность; количество подъездов; количество квартир на этаже.

20.Определить структуру с именем Tea содержащую следующие поля: страна производитель; сорт чая; вес в упаковке; цена чая за 100 гр.

64

21.Определить структуру с именем TV содержащую следующие поля: страна производитель; размер диагонали; цена телевизора.

22.Определить структуру с именем Monitor содержащую следующие поля: страна производитель; размер диагонали монитора; время отклика; цена монитора.

23.Определить структуру с именем Lamp содержащую следующие поля: страна производитель лампы освящения; мощность; уровень энергосбережения (А,В,С); цена.

24.Определить структуру с именем Bicycle содержащую следующие поля: страна производитель; количество скоростей велосипеда; вид; цена.

25.Определить структуру с именем Car содержащую следующие поля: страна производитель; объем двигателя; расход топлива на 100 км; цена автомобиля.

26.Определить структуру с именем Gold содержащую следующие поля: страна производитель; цвет золота; проба; цена золота за 1 гр.

27.Определить структуру с именем City содержащую следующие поля: название города; площадь; плотность населения; количество улиц.

28.Определить структуру с именем Street содержащую следующие поля: название улицы; протяженность; количество домов; количество перекрестов.

29.Определить структуру с именем Country содержащую следующие поля: название; количество крупных городов; количество рек; плотность населения.

30.Определить структуру с именем Printer содержащую следующие поля: страна производитель; скорость печати (в мин); качество печати; цена.

31.Определить структуру с именем Scaner содержащую следующие поля: страна производитель; скорость сканирования (в мин); качество сканирования; цена.

65

32.Определить структуру с именем Phone содержащую следующие поля: страна производитель; вес телефон; размер диагонали экрана телефона; цена.

33.Определить структуру с именем Pen содержащую следующие поля: страна производитель; толщина линии письма; вид (шариковая, гелевая); цена.

34.Определить структуру с именем EGE содержащую следующие поля: регион проведения; количества предметов для сдачи ЕГЭ; количество выпускников; средний балл выпускников.

35.Определить структуру с именем Cupboard содержащую следующие поля: фирма производитель шкафа; материал; количество полок; цена.

36.Определить структуру с именем Table содержащую следующие поля: страна производитель стола; высота стола; материал, из которого изготовлен; цена.

37.Определить структуру с именем Book содержащую следующие поля: автор; объем (в страницах); число экземпляров; цена.

38.Определить структуру с именем Cup содержащую следующие поля: страна производитель; объем стакана; материал, из которого изготовлен; цена.

39.Определить структуру с именем Bag содержащую следующие поля: страна производитель; размер сумки; материал, из которого изготовлен; цена.

40.Определить структуру с именем Chair содержащую следующие поля: страна производитель; высота кресла; материал, из которого изготовлен; цена.

41.Определить структуру с именем Hat содержащую следующие поля: страна производитель; размер шапка; материал, из которого изготовлен; цена.

42.Определить структуру с именем Сoat содержащую следующие поля: страна производитель; размер шубы; материал, из которого изготовлен; цена.

66

43.Определить структуру с именем Dress содержащую следующие поля: страна производитель; размер платья; материал, из которого изготовлен; цена.

44.Определить структуру с именем Glasses содержащую следующие поля: страна производитель; число диоптрий; материал, из которого изготовлен; цена.

45.Определить структуру с именем Iron содержащую следующие поля: страна производитель; мощность утюга; количество режимов глажки; цена.

46.Определить структуру с именем Dictaphone содержащую следующие поля: страна производитель; объем памяти; число режимов записи; цена.

47.Определить структуру с именем Zap содержащую следующие поля: страна производитель; радиус управления пульта; вес пульта; цена.

48.Определить структуру с именем Watch содержащую следующие поля: фирма производитель; диаметр циферблата; вид (муж., жен.); цена.

49.Определить структуру с именем Scooter содержащую следующие поля: фирма производитель; мощность; число скоростей; цена.

50.Определить структуру с именем Sweater содержащую следующие поля: фирма производитель; из какого материала ; размер; цена.

51.Определить структуру, представляющую момент времени (час, минута, секунда). Задача: ввести текущий момент времени, вывести момент на следующую секунду (учесть возможную смену суток).

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

53.Сделать предыдущую задачу в расширенном виде: учесть григорианский стиль (года, оканчивающиеся двумя нулями являются високосными только в том слу-

67

чае, когда после отбрасывания этих двух нулей оставшееся число делится на 4).

54.Определить структуру с именем Tram содержащую следующие поля: бортовой номер трамвая, маршрутный номер трамвая, фамилия водителя. Задача: имеется массив из 10 таких структур. По заданному номеру маршрута вывести бортовые номера соответствующих трамваев и фамилии водителей. Либо сообщение, что такого маршрута нет.

55.Описать структуру, представляющую успеваемость студентов по основам программирования. Поля: фамилия студента, группа, баллы за 1-й семестр, баллы за 2-й семестр, «итоговый балл», «автоматическая оценка» (текстовая). Первые 4 поля ввести с экрана. Программа должна генерировать 5-е и 6-е поля. Итоговый балл считается по формуле 0,4 n1+0,6 n2, где n1 – количество баллов за 1-й семестр, n2 – количество баллов за 2-й семестр. Автоматическая оценка выставляется по итоговому баллу: от 86 до 100 – «отлично», от 69 до 85

– «хорошо», от 51 до 68 – «удовлетворительно», от 31 до 50 – «надо сдавать экзамен», менее 31 – «необходим повтор курса».

56.Вариант предыдущей задачи. Структура с 4 полями: фамилия, группа баллы за 1-й и 2-й семестр. Имеется массив из 10 таких структур. Вывести на экран фамилии и группы студентов с автоматическим «отлично» и студентов, которым необходим повтор курса.

57.Описать иерархическую структуру «горожане» с полями «фамилия» и «адрес». Поле «адрес» само является структурой с полями: «город», «улица», «дом», «квартира». Задача: имеется массив из 15 таких записей. Вывести на экран фамилии живущих по одинаковым адресам, но в разных городах (как в фильме «Ирония судь-

бы»).

68

Литература

1.Подбельский В.В., Фомин С.С. Программирование на языке СИ. – М.:«Финансы и статистика», 2004. – 600 с.

2.Крячков А.В., Сухинина И.В., Томшин В.К. Программирование на С и С++. Практикум: Учеб. пособие для вузов. – М.: Горячая линия – Телеком, 2000. – 344 с.

3.Харви Дейтел, Пол Дейтел. Как программировать на С.

– Бином-Пресс, 2008. – 1024 с.

4.Павловская Т.А., Щупак Ю.А. С/С++. Программирование на языке высокого уровня. Структурное программирование. - СПб.: Питер, 2002.

5.Павловская Т.А. С/С++. Программирование на языке высокого уровня. - СПб.: Питер, 2013. – 461 с.

69

 

Оглавление

 

Тема 1. Линейная структура .......................................................

3

Тема 2. Условный оператор......................................................

10

Тема 3. Оператор-переключатель.............................................

16

Тема 4. Цикл с предусловием...................................................

22

Тема 5. Цикл с постусловием ...................................................

26

Тема 6.

Цикл с параметром.......................................................

29

Тема 7.

Одномерные массивы ..................................................

31

Тема 8.

Двумерные массивы (матрицы)..................................

39

Тема 9.

Функции ........................................................................

46

Тема 10. Структуры данных .....................................................

59

Литература..................................................................................

69

70

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]