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

ООП / ООП / oop-ekz-tasks / 1 семинар

.doc
Скачиваний:
11
Добавлен:
18.02.2017
Размер:
29.7 Кб
Скачать

Семинар 1 «Организация доступа к памяти, передача параметров в функции»

Указание: программы должны содержать комментарии и использовать как минимум одну ссылку и один указатель.

1. Написать функцию, возвращающую двоичное представление числа, например: dec2bin(5) вернет "00000101". Операции "деление", "умножение" не использовать. Сохранить результат выполнения функции в строковой переменной.

2. Написать программу для ввода и отображения расписания на день. Для хранения времени использовать структуру sTime (час/мин/сек). Для хранения задания использовать структуру sTask (время начала, окончания и название задания). Количество заданий - не более 20. Ввод времен и названия задания осуществлять через функцию SetTask. Вывести на экран в левом столбце время с 7:00 до 23:00 с шагом 30 мин; вывести "*", если в этот период назначено задание, иначе - пробел. Например, для задания с 7:35 до 7:40:

7:00

7:30 *

8:00 *

8:30

#include "stdafx.h"

#include "stdlib.h"

#include"stdio.h"

int main()

{

int time=420;

struct A

{

int start;

int fin;

char zad;

}

S[20];

for(int i=0; i<20; i++)

{

int min, chas;

printf ("vvedite nachalye chasy");

scanf ("%d", &chas);

printf ("vvedite nachalnye minuty");

scanf ("%d", &min);

S[i].start=chas*60+min;

printf("vvedite konechnye chasy");

scanf ("%d", &chas);

printf ("vvedite konechnye minuty");

scanf ("%d", &min);

S[i].fin=chas*60+min;

}

for (int i=0; i<28; i++);

{

int flag=0;

for (int n=0; n<20; n++)

{

if (S[n].start<=time && time<=S[n].fin)

flag=1;

}

printf ("\n %d : %d", time/60, time%60);

if(flag) printf ("*");

flag=0;

time=time+30;

}

return 0;

}

Соседние файлы в папке oop-ekz-tasks