Организовать в файле базу данных расписания занятий студентов - C (СИ)
Формулировка задачи:
Привет. У меня задание: "Организовать в файле базу данных расписания занятий студентов. Расписание составляется на две недели: числитель и знаменатель с указанием даты.
Возможности программы:
* вывод недельного расписания в виде таблицы
* редактирование записи
* вывод списка всех преподавателей
* вывод занятий в конкретный день (день года, допустим 12 августа 2014)
Изначально таблица пуста. День должен позволять вводить одну из восьми пар по времени. Каждая пара содержит название, аудиторию и преподавателя, а также метку (числитель, знаменатель или каждую неделю)"
Не знаю как реализовать поиск по времени и собственно само расписание. Т.е. каждый предмет должен быть связан с преподавателем, а также должна быть возможность его найти. Не могу понять как собственно записать расписание, в виде чего?
вот мой код
#include <stdio.h>
char weekName[6][12] = {
"------------",
"Monday-----",
"Tuesday----",
"Wednesday--",
"Thursday---",
"Friday----\n"
};
char timeTable[6][13] = {
"8:00-9:35\n",
"9:45-11:20\n",
"11:30-13:05\n",
"13:25-15:00\n",
"15:10-16:45\n",
"16:55-18:30\n",
};
int i,k;
void printSchedule()
{
printf("\n1 First week\n");
printf("\n2 Second week\n");
char w;
do{
w = getchar();
switch (w)
{
case '1':
for(i=0;i<6;i++)
{
printf(weekName[i]);
}
for (k=0;k<6;k++)
{
printf(timeTable[k]);
}
main();
break;
case '2':
for(i=0;i<6;i++)
{
printf(weekName[i]);
}
for (k=0;k<6;k++)
{
printf(timeTable[k]);
}
main();
break;
}
} while (w != '1' || w != '2');
}
void edit()
{
printf("Choose day\n\n");
printf("1 Monday\n");
printf("2 Tuesday\n");
printf("3 Wednesday\n");
printf("4 Thursday\n");
printf("5 Friday\n");
char d = getchar();
do{
switch (d)
{
case '1':
break;
case '2':
break;
case '3':
break;
case '4':
break;
case '5':
break;
}
}while (d != '1' || d != '2' || d != '3' || d != '4' || d != '5');
}
//void listTeacher()
//{
// string teacher[20];
//}
void main()
{
printf(":Welcome!:\n\n");
printf("1 Schedule\n");
printf("2 Edit\n");
printf("3 Teachers\n");
printf("4 Find\n");
printf("5 Save and exit\n");
char c;
do
{
c = getchar();
switch (c)
{
case '1':
printSchedule();
//printf("\na\n");
system ("pause");
break;
case '2':
edit();
system ("pause");
break;
case '3':
printf("\nc\n");
system ("pause");
break;
case '4':
printf("\nd\n");
system ("pause");
break;
case '5':
printf("\ne\n");
system ("pause");
break;
}
}while (c != '1' || c != '2' || c != '3' || c != '4' || c != '5');
}Решение задачи: «Организовать в файле базу данных расписания занятий студентов»
textual
Листинг программы
struct Day {
timestamp day;
struct Lesson {
teacher teacher;
lessonType type;
number;
}
...
};
Объяснение кода листинга программы
- Структура
Dayсодержит в себе массив структурLesson - Каждый элемент массива
Lessonсодержит в себе три поля:teacher,typeиnumber - Поле
dayструктурыDayсодержит в себе timestamp (время) дня, для которого задано расписание - Поле
teacherструктурыLessonсодержит в себе имя преподавателя - Поле
typeструктурыLessonсодержит в себе тип занятия (например, лекция или практика) - Поле
numberструктурыLessonсодержит в себе номер аудитории, где проходит занятие