Организовать в файле базу данных расписания занятий студентов - 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;
    }
    ...
};

Объяснение кода листинга программы

  1. Структура Day содержит в себе массив структур Lesson
  2. Каждый элемент массива Lesson содержит в себе три поля: teacher, type и number
  3. Поле day структуры Day содержит в себе timestamp (время) дня, для которого задано расписание
  4. Поле teacher структуры Lesson содержит в себе имя преподавателя
  5. Поле type структуры Lesson содержит в себе тип занятия (например, лекция или практика)
  6. Поле number структуры Lesson содержит в себе номер аудитории, где проходит занятие

Оцени полезность:

9   голосов , оценка 3.667 из 5
Похожие ответы