ООП / ООП / oop-ekz-tasks / 1 семинар
.docСеминар 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;
}