Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
Теоретические положения
1
Доступ к элементам (полям) структуры
struct student
{
char name[10];
char surname[15];
int age;
} stud; //переменная stud объявлена как структура типа student
void main ()
{
struct student *s; /* указатель на структуру student*/
s=&stud; /* инициализация указателя*/
strcpy(s->name,"Larry"); /*обращение как к указателю на структуру*/
strcpy(s->surname,"Johnson");
(*s).age=34; /*обращение как к переменной*/
printf("\n Name: %s Surname: %s Age=%i",s->name,s->surname,s->age);
}
Задание
Варианты заданий
1) struct card
{
/* масть карт */
enum {spades, clubs, diamonds, hearts} suit;
/* достоинство карт */
enum {six, seven, eight, nine, ten, jack, queen, king, ace} value;
} c1, c2;
Описать логическую функцию Kick(с1, с2, сs), проверяющую, бьёт ли карта с1
карту с2, с учётом того, что масть cs является козырной.
2) struct peak
{
char name[15]; // название вершины
2
int height; // высота вершины
} list[30];
Описать процедуру, печатающую название самой высокой вершины из списка.
3) struct point
{
float x,y;
}A, B;
Описать переменную d равную расстоянию между точками A и B.
4) Описать переменную "студент", содержащую: имя, фамилию, отчество,
название учебного заведения, номер группы. Создать список студентов (N>10).
Определить фамилии студентов, учащихся в одной и той же группе, в одном и том же
учебном заведении.
5) Описать переменную "адрес", содержащую: название города, название
улицы, номер дома, корпус, номер квартиры. Создать массив адресов. Поменять
местами номер дома в N-ом адресе и номер квартиры в M-ом адресе.
6) Описать переменную "студент" (см. вариант 4). Создать список студентов
(N>10). Определить названия учебных заведений, в которых учатся однофамильцы и
если у них одинаковые имена, сообщить, что они тёзки.
7) Описать переменную "служащий", состоящую из: имени, фамилии, отчества
служащего, даты рождения, полученного образования, домашнего адреса, профессии.
Создать список служащих (N>10). Определить имена людей с высшим образованием.
Выдать данные о служащем, который имеет ту или иную профессию.
8) Описать переменную "круг", в которой содержатся все данные для
построения круга в декартовой системе координат. Определить площадь и длину
окружности круга.
9) Описать комплексное число. Умножить одно комплексное число на другое.
10) Описать переменную «экзаменационная ведомость» (предмет, номер
группы, список студентов данной группы, их оценки). Определить отличников,
хорошистов, троечников и двоечников.
11) Создать структуры, определяющие положение точки в декартовой и
полярной системе координат. Описать процедуру, преобразующую координаты точки
на плоскости из декартовых в полярные.
12) Создать структуры, определяющие положение точки в декартовой и
полярной системе координат. Описать процедуру, преобразующую координаты точки
на плоскости из полярных в декартовые.
13) Создать список студентов в группе. Определить средний рост и вес
студентов.
3
14) Даны комплексное число z (пара вещественных чисел) и вещественное
число Eps>0. Вычислить с точностью Eps значение следующей комплексной
функции: e z 1 1z! z2! z3! ... zn! .
2 3 n
4
a) день недели
b) количество пар в этот день
c) время начала и конца пары
d) предмет
e) фамилию преподавателя
27) Описать переменную "валюта", содержащую:
a) название страны
b) название валюты
c) достоинство купюры
d) номерной знак (серия и номер)
28) Описать переменную "автомобиль", содержащую:
a) марка машины
b) Ф. И. О. владельца
c) номерной знак
29) В библиотеке имеются: книги, газеты, журналы. Для каждого печатного
издания указать:
a) название
b) год выпуска (для книги), дату выпуска (для газет и журналов)
c) автора (для книги), редактора (для газеты), редколлегию (для
журнала)
d) объём
30) Составить таблицу, содержащую данные о 20 участниках забега,
включающую в себя: фамилию участника, время (в часах, минутах и секундах).
Выбрать три лучших результата и вывести на экран фамилии и время призёров.
31) Расположить в порядке возрастания произвольную последовательность
игральных карт (масти возрастают в порядке: бубны, червы, винны, трефы) с учётом
козырной масти.
32) Описать переменную "квартира", для которой указать:
1. количество комнат
2. названия комнат
Для каждой комнаты указать:
1. площадь
2. количество мебели
Для каждого элемента мебели:
1. стоимость
2. название
3. материал
5