Моля за помощ със задача за запис на час
Здравейте!
Опитвам се да съставя програма, с която да бъдат записвани часове. Ето и кода, който имам.
#include <iostream>
#include<fstream>
#include<windows.h>
#include<conio.h>
#include<stdio.h>
using namespace std;
class kabinet
{
    string day;
    int hour;
    string exam;
    char name[50];
    char address[50];
    int phone[10];
    int age[3];//години
public:
    void main_menu();//главно меню
    void type_examin();//вид преглед
    void setDay();//въвеждане на  ден
    void setHour();//назоваването на часа
    int check(int);
void price_menu();//ценова листа на предлаганите услуги
void showHour();//показване на свободните часове
void edit();//опция за промяна
    void modifyHour();//промяна на часа
    void delete_hour();//изтриване на запазения час
void showDisp();//изписване на информацията относно прегледа
};
void kabinet::main_menu()
{
    system("color D1");
    setlocale(LC_ALL, "bulgarian");    //за използване на български език
    system("chcp 1251>0");
    int choice = 0;
    while (choice != 5)
    {
system("cls");
        
        cout << "                              /      1.Записване на час                 / /  /" << endl;
        cout << "                             /      2.Показване записани часове        / /  /" << endl;
        cout << "                            /      3.Промяна на час                   / /  /" << endl;
        cout << "                           /      4.Ценоразпис                       /  \_/" << endl;
        cout << "                          /      5.Изход                            /    *" << endl;
        cout << "                         /                                         /  " << endl;
        cout << "                        /                                         /  " << endl;
        cout << "                       /                                         /  " << endl;
        cout << "                      /_________________________________________/  " << endl
            << endl << endl << endl << "Моля въведете своя избор." << endl;
        cin >> choice;
        switch (choice) {
        case 1:system("cls");;
            type_examin();
            break;
        case 2: system("cls");;
            showHour();
            break;
        case 3: system("cls");;
            modifyHour();
            break;
        case 4: system("cls");;
            price_menu();
            break;
        case 5:
            default: {
            cout << "Благодарим Ви!";
            cout << "Благодарим Ви, че използвахте нашата система за записване." << endl;
            _getch();
        }
        }
    }
}
void kabinet::type_examin()
{
    system("cls");
    system("color F6");
    int choiExam = 0;
    string exam;
    while (choiExam != 7)
    {
cout << endl << endl << endl;
        
        cout << "                               /     1.Медицински преглед                / /  / *" << endl;
        cout << "                              /     2.Диспансерен преглед               / /  /" << endl;
        cout << "                             /     3.Профилактичен преглед             / /  /" << endl;
        cout << "                            /     4.Детска консултация                / /  /" << endl;
        cout << "                           /     5.Женска консултация                /  \_/" << endl;
        cout << "                          /     6.Издаване на документи             /    *" << endl;
        cout << "                         /                                         /  " << endl;
        cout << "                        /     7.Изход                             /  " << endl;
        cout << "                       /                                         /  " << endl;
        cout << "                      /_________________________________________/  " << endl
            << endl << endl << endl << "Моля въведете своя избор." << endl;
        cin >> choiExam;
string exam;
        switch (choiExam)
        {
        case 1:
            exam = "Медицински преглед";
            setDay(); break;
        case 2: exam = "Диспансерен преглед";
            setDay(); break;
        case 3: exam = "Профилактичен преглед ";
            setDay(); break;
        case 4: exam = "Детска консултация";
            setDay(); break;
        case 5: exam = "Женска консултация ";
            setDay(); break;
        case 6:  exam = "Издаване на документи ";
            setDay(); break;
        case 7:break;
        default:
        {
            cout << "Благодарим Ви!";
            _getch();
        }
        }
    }
}
                void kabinet::setDay()
                {
                    system("cls");
                    system("color B2");
                    int day;
                    string date;
while (day!=5) {
cout << endl << endl << endl;
                        cout << "                                  __________________________________   " << endl;
                        cout << "                                 /                                 /  " << endl;
                        cout << "                                /                                 /  " << endl;
                        cout << "                               /     1.Понеделник                /  " << endl;
                        cout << "                              /     2.Вторник                   /  " << endl;
                        cout << "                             /     3.Сряда                     /  " << endl;
                        cout << "                            /     4.Четвъртък                 /  " << endl;
                        cout << "                           /     5.Петък                     /  " << endl;
                        cout << "                          /                                 /  " << endl;
                        cout << "                         /                                 /  " << endl;
                        cout << "                        /_________________________________/  " << endl
<< endl << endl << endl << "Моля въведете своя избор." << endl;
cin >> day;
                        switch (day)
                        {
                        case 1:
                            date = " Понеделник ";
                            setHour();
                            break;
                        case 2: date = " Вторник ";
                            setHour();
                            break;
                        case 3: date = " Сряда ";
                            setHour();
                            break;
                        case 4: date = " Четвъртък ";
                            setHour();
                            break;
                        case 5: date = " Петък ";
                            setHour();
                            break;
                        default:{
                            cout << "Грешен избор";
                            _getch();
                        }
                    }
                }
            }
            void kabinet::setHour()
            {
                system("cls");
                system("color C3");
                string custumer;
                string day;
                int c, flag;
                ofstream fout("Записани", ios::app);
                cout << endl << endl << " Въведете час: ";
                cin >> c;
                flag = check(c);
                if (flag)
                {
                    cout << "-----------------------------------" << endl;
                    cout << "   Избраният от Вас час е зает.    " << endl;
                    cout << "-----------------------------------" << endl;
                    cout << "      Моля, въведете друг.         " << endl;
                    cout << "-----------------------------------" << endl;
                }
                else
                {
                hour = c;
cout << endl << endl << "Въведете име и фамилия: ";
gets(name);
                cout << "Адрес: ";
                gets(address);
cout << " Телефонен номер: ";
gets(phone);
                cout << endl << endl << "Възраст: ";
                gets(age);
fout.write((char*)this, sizeof(kabinet));
                cout << "Успешно записан час!";
            }
                cout << "Натиснете, който и да е клавиш, за да продължите!!!";
                _getch();
                fout.close();
        }
void kabinet::price_menu()
                {
                    cout << endl << endl << endl;
                    cout << "                                  _______________________________________________  " << endl;
                    cout << "                                 /                                              /  " << endl;
                    cout << "                                /                                              /  " << endl;
                    cout << "                               /  Медицинско за работа - 15 лева.             /  " << endl;
                    cout << "                              /  Медицинско за шофьорска книжка              /  " << endl;
                    cout << "                               /                        - 20 лева.            /  " << endl;
                    cout << "                            /  Оформяне на документи за застраховка        /  " << endl;
                    cout << "                           /                       - 50 лева.             /  " << endl;
                    cout << "                          /   Потребителски такси:                       /  " << endl;
                    cout << "                         /           за пенсионери - 1лев.              /  " << endl;
                    cout << "                        /            за осигурени лица - 2,90лева.     /  " << endl;
                    cout << "                       /                                              /  " << endl;
                    cout << "                      /   Преглед за лица, които не са осигурени     /  " << endl;
                    cout << "                     /                       - 20 лева.             /  " << endl;
                    cout << "                    /  1.Назад към главното меню                   /  " << endl;
                    cout << "                   /______________________________________________/  " << endl;
                    cout << "Натиснете, който и да е клавиш, за да продължите!!!";
                    _getch();
                    fout.close();
        }
        void kabinet::showHour();
        {
            system("cls");
            system("color B1");
            ifstream fin("Записани данни: ", ios::in);
            int c, flag;
            cout << "Въведете запазен час: ";
            cin >> c;
            while (!fin.eof())
            {
                fin.read((char*)this, sizeof(kabinet));
                if (hour == c)
                {
                    system("cls");
                    cout << " Данни на пациента. ";
                    cout << "--------------------" << endl;
                    cout << "Имена: " << name;
                    cout << "Адрес: " << address;
                    cout << "Телефонен номер: " << phone;
                    cout << "Записан час за: " << date << "Час: " << hour;
                    flag = 1;
                    break;
}
            }
            if (nomb== 0)
                cout << "Търсеният от вас номер не фигурира!!!";
            cout << "Натиснете, който и да е клавиш, за да продължите!!!";
            _getch();
            fin.close();
        }
        void kabinet::edit()
        {
            system("cls");
            system("color A3");
            int c, flag;
            cout << "\n Меню за промяна";
            cout << "\n ***************";
            cout << "\n 1.Промяна на час ";
            cout << "\n 2.Изтриване на запазен час";
            cout << "Моля, изберете: ";
            cin >> choise;
            system("cls");
            cout << "\n Въведете запазен час: ";
            cin >> c;
            switch (choice)
            {
            case 1: modifyHour(c);
                break;
            case 2:
                 delete_hour(c);//изтриване на запазения час
                break;
            default: cout << "\n Грешен избор!!";
            }
            cout << "\n  Натиснете, който и да е клавиш, за да продължите!!!";
            _getch();
        }
        int kabinet::check(int c)
        {
            system("color F2");
            int flag = 0;
            ifstream fin("Записи: ", ios::in);
            while (!fin.eof())
            {
                fin.read((char*)this, sizeof(hotel));
                if (hour== c)
                {
                    flag = 1;
                    break;
                }
            }
            fin.choice();
            return (flag);
}
void kabinet::modifyHour(int c)
        {
            system("color C3");
            long pos, flag = 0;
            fstream file("Record.dat", ios::in | ios::out | ios::binary);
            while (!file.eof())
            {
                pos = file.tellg();
                file.read((char*)this, sizeof(kabinet));
                if (hour == c)
                {
                    cout << "\n Въведете данните наново";
                    cout << "\n ***********************";
                    cout << "\n Име: ";
                    gets(name);
                    cout << " Адрес: ";
                    gets(address);
                    cout << " Телефонен номер: ";
                    gets(phone);
                    file.seekg(pos);
                    file.write((char*)this, sizeof(kabinet));
                    cout << "\n Данните Ви са променени!!!";
                    flag = 1;
                    break;
                }
            }
            if (flag == 0)
                cout << "\n Часът не е намерен!";
file.close();
        }
void kabinet::delete_hour(int c)
            int flag = 0;
        char ch;
        ifstream fin("Record.dat", ios::in);
        ofstream fout("temp.dat", ios::out);
        while (!fin.eof())
        {
            fin.read((char*)this, sizeof(kabinet));
            if (hour == c)
            {
                cout << "\n Име: " << name;
                cout << "\n Адрес: " << address;
                cout << "\n Телефонен номер: " << phone;
                cout << "\n\n Искате ли да изтриете данните? (y/n): ";
                cin >> ch;
                if (ch == 'n')
                    fout.write((char*)this, sizeof(kabinet));
                flag = 1;
            }
            else
                fout.write((char*)this, sizeof(kabinet));
        }
        fin.close();
        fout.close();
        if (flag == 0)
            cout << "\n Часът не е намерен.";
        else
        {
            remove("Record.dat");
            rename("temp.dat", "Record.dat");
        }
}
int main()
{
    kabinet h;
system("color A4"
        system("cls");
    cout << "\n\t\t\t*********************************";
    cout << "\n\t\t\t*    Проект за запис на час     *";
    cout << "\n\t\t\t*********************************";
    Sleep(200);
    char text[] = { "\n\n\n\n\t\t };
    for (int p = 0; p < strlen(text); p++)   
        cout << text[p];
        Sleep(40);
    }
    cout << "\n\n\tНатиснете който и да е клавиш!!";
    _getch();
    h.main_menu();
}
Ползвах код от друга програма, която има сходните функции, които ми трябват и на мене, заради което излизат 143 грешки и 13 предупреждения.
Оправям грешките, като премахвам проблемите, с което програмата се опрости много.
Не съм наясно как да използвам ctime
Също как да направя така, че въведените данни да излизат на екрана , с възможност да бъдат променяни.
ctime го нямаш в кода, как и защо трябва да го използваш?
Първо я компилирай (изчисти всички грешки), после добавяй функционалности, които ти трябват; Накрая напиши кода в main() и работи с класовете за да изкараш каквото ти трябва
Благодаря!