Премини към съдържанието
  • Добре дошли!

    Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

    Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

     

Естервина Ариас

C++ Моля за помощ със задача за запис на час

Препоръчан отговор


Здравейте!

Опитвам се да съставя програма, с която да бъдат записвани часове. Ето и кода, който имам.


#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();
}

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Първоначално, докато четях това което е написано. Направи ми впечатление това.  Може при C++  да е така не знам. :)

 for е брояч и когато се знае,  до колко ще се повтаря самата задача. 

Другото, което while  от примера горе while (day!=5). Ако въведа 6 или 0. 0 не е 5 или 6 не е 5.  Какво ще стане?  

Няма и try catch. Няма и Exception.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

:) Благодаря за отговора първо.
Тепърва започвам с програмирането и имам много неизвестни. 
За часа няма да коментирам изобщо.

Опитвам се да премахна грешките, с което опростявам програмата. Ползвах код на друга такава, която е със сходни за моите потребности функции.
Искаше ми се, да запазва въведените от потребителя данни, да могат да бъдат извиквани, при нужда променяни...

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Имам въпрос: Защо не сте почнали с простите неща като цикли типове променливи и други а директно с ООП? Предполагам структурата на учебника ви е точно такава...

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Това е 7-ма версия :(

Започвам я отначало.


Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Вижте структури ако сте взели

Код няма да ви дам щот следвам  структурите в учебника а тук някои колеги вдигат пара и викат че не знам С++

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

А ако ви дам учебници ще ви помогне ли

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
Цитат

Код няма да ви дам щот следвам  структурите в учебника а тук някои колеги вдигат пара и викат че не знам С++

Какво имаш предвид с колеги?А че не знаеш Ц++ е повече от ясно.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 11 часа, Martin Chekurov написа:

Какво имаш предвид с колеги?А че не знаеш Ц++ е повече от ясно.

Сигурен ли си? Пак казвам следвам структурата на учебниците ясно ли е? Напишете учебник с удоволствие бих го разучил ако МОН го приеме с удоволствие ще го следвам. Как си мислите ако ученик иде с код написан от вас каква ще е оценката му?

Аз бих го повикал на рандеву и стъпка по стъпка бих го накарал да обясдни кое какво е ако дори един ред не може двойка..... Ако обясни целия код лиично бих го уредил в най доброте ни университети

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
на 13.11.2018 г. в 0:09, petie1 написа:

Сигурен ли си? Пак казвам следвам структурата на учебниците ясно ли е? Напишете учебник с удоволствие бих го разучил ако МОН го приеме с удоволствие ще го следвам. Как си мислите ако ученик иде с код написан от вас каква ще е оценката му?

Аз бих го повикал на рандеву и стъпка по стъпка бих го накарал да обясдни кое какво е ако дори един ред не може двойка..... Ако обясни целия код лиично бих го уредил в най доброте ни университети

Аз не мога да разбера какво имаш в предвид, че следваш структурата на учебниците.Ученик ли си?Учител ли си?Какво си?Ти нямаш елементарни познания по C/C++ и просто не мога да си представя да изпитваш когото и да било.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 9 часа, Martin Chekurov написа:

Аз не мога да разбера какво имаш в предвид, че следваш структурата на учебниците.Ученик ли си?Учител ли си?Какво си?Ти нямаш елементарни познания по C/C++ и просто не мога да си представя да изпитваш когото и да било.

Пак ви Ви казвам писах каквото има дадено в учебнинците единственото което забравих  обаче беше размера на масива и то щот не бях писал на С++ скоро за което Вие ми напомнихте

 

#include <iostream> 

using namespace std;


int main()

{
  const int n=30;
  
    cout <<" Vyvedi razmera na masiva"<<"\n";
    cin>>n;
  
  while (n<0 || n>30 )
  {
    cout <<" Vyvedi razmera na masiva"<<"\n";
    cin>>n;
  }
  
  for (int c=0; c<n; c++)
  {
    cin>>array[c];
  }
  
  cin.get();
  return 0;
}

Ето този код е верен  според Тони Гладис ако не сте съгласен пишете му или издайте собствен учебник който МОН да приеме ще го разуча и ще пиша по "мартински"....

Кой съм аз никак ама никак не ви интересува нито пък мен кой сте вие.......

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

А бе ти да не си трол?Какъв е този супер грешен код който пак качваш тук.Или пиши верни неща или въобще недей да пишеш.Този код пробва ли да го компилираш?Значи първо array не се знае какво е, второ n e const и ти се опитваш да пишеш в него, трето защо ти е стойност със знак за размер на масив по-правилно е unsigned int (ако не знаеш по подразбиране int е signed).Иначе грам не ме интересува кой си.Интересува ме с какво се занимаваш.И хайде стига с тези учебници.Учебник за програмиране няма.Има книги за програмиране и очевидно тези които ползваш не стават за нищо.По-добре ги запали.Какво означава "пиша по мартински"?Да не би да означава "пиша правилно"?Виж сега програмирането не е за всеки и със сигурност не е за теб.По-добре си намери друго занимание и не си губи времето.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 9 часа, Martin Chekurov написа:

А бе ти да не си трол?Какъв е този супер грешен код който пак качваш тук.Или пиши верни неща или въобще недей да пишеш.Този код пробва ли да го компилираш?Значи първо array не се знае какво е, второ n e const и ти се опитваш да пишеш в него, трето защо ти е стойност със знак за размер на масив по-правилно е unsigned int (ако не знаеш по подразбиране int е signed).Иначе грам не ме интересува кой си.Интересува ме с какво се занимаваш.И хайде стига с тези учебници.Учебник за програмиране няма.Има книги за програмиране и очевидно тези които ползваш не стават за нищо.По-добре ги запали.Какво означава "пиша по мартински"?Да не би да означава "пиша правилно"?Виж сега програмирането не е за всеки и със сигурност не е за теб.По-добре си намери друго занимание и не си губи времето.

A Грешка при преписването извинете ме ще го редактирам,Ич не ми пука грам кой сте,какво е трол? Кода е по Тони Гладис,същия код е дал и Бярне Строускоп казах ви напишете учебник по програмиране опишете как се пише и аз ще пиша по "Мартински"

#include <iostream> 

using namespace std;


int main()

{
  const int n=30;
  int array[n];// eto ti go masiva koyto zabravih da napisha pri prepisvaneto
  
    cout <<" Vyvedi razmera na masiva"<<"\n";
    cin>>n;
  
  while (n<0 || n>30 )
  {
    cout <<" Vyvedi razmera na masiva"<<"\n";
    cin>>n;
  }
  
  for (int c=0; c<n; c++)
  {
    cin>>array[c];
  }
  
  cin.get();
  return 0;
}

Нещо става с форума

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 1 час, Martin Chekurov написа:

А бе нали ти казах че n e const бе.Според теб правилно ли е да променяш const?

Не но като казах разберете се с Тони Гладис и Бярне Строускоп или напишете ваш учебник аз не оспорвам това което са писали те

И аз бях учуден като вас но нямам право да им оспорвам нещата...

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Starting Out  C++ Tonny Gladdis Chapter 7 Arrays

bjarne stroustrup programming principles and practice using c++  chapter 18 Vector and Arrays

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Чакай пак да видя и аз да не са две променливи само

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Ти си пълен идиот айде стига спори като не разбираш нищо.Не можеш да променяш const променлива НЕ СЕ КОМПИЛИРА!!!!!!!!!!!

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Хе Браво на мен създадох нов С++ и се чудя каква тази нова конструкция тя константата си била вътре в цикъла аз прочетох че я въвевежда и се чудя какво е това.......

преди 7 минути, Martin Chekurov написа:

Ти си пълен идиот айде стига спори като не разбираш нищо.Не можеш да променяш const променлива НЕ СЕ КОМПИЛИРА!!!!!!!!!!!

А аз да ви обиждам? Нали затова се чудех защо е тази промяна на константата

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Добавете отговор

Можете да публикувате отговор сега и да се регистрирате по-късно. Ако имате регистрация, влезте в профила си за да публикувате от него.

Гост
Напишете отговор в тази тема...

×   Вмъкнахте текст, който съдържа форматиране.   Премахни форматирането на текста

  Разрешени са само 75 емотикони.

×   Съдържанието от линка беше вградено автоматично.   Премахни съдържанието и покажи само линк

×   Съдържанието, което сте написали преди беше възстановено..   Изтрий всичко

×   You cannot paste images directly. Upload or insert images from URL.


  • Разглеждащи това в момента   0 потребители

    Няма регистрирани потребители разглеждащи тази страница.

  • Горещи теми в момента

  • Подобни теми

    • от М. Проданов
      Здравейте! Изпитвам затруднение с една задача по програмиране C++.
      Някой може ли да ми помогне?  
      За тези, които  няма да помагат и ще пишат безсмислени  коментари  от типа на: тази задача е лесна, научи: циклите,операторите и функциите и тогава пиши форум - моля да напуснат! Знам всички оператори, функции и цикли. Не съм назад с материала.
      Благодаря за вниманието! 
      Ето го и условието!
       
      Дадено:
      Мед:
      1кг акациев - А1 лева
      1кг. липов -А2 лева
      1кг.слънчогледов - А3 лева.

      Има 3 съда:
      1 съд - B1 кг.
      2 съд - B2 кг.
      3 съд - B3 кг.
      В кой съд какъв мед да сложи така че да получи най-много пари?
       
      Решение:
      Вход: ред 1 -> числата A1  A2  A3
      Ред 2: числата B1 B2 и B3
      Изход: едно число - максималната печалба, която може да се получи.
      Пример: Вход -> 7 2 9
      10 5 3
      Изход: 131лв.
       
      Пускам и cpp файла 
       
      task4.cpp
    • от georgi999
      Здравейте от доста време ме затрудняват едни въпросчета между които винаги си мисля че има повече верни .Благодаря предварително
      1ВЪПРОС-Кое от следните твърдения е вярно
      А)всеки път когато създаваме и компилираме нов клас се създава съответен обект от class
      Б)всеки път когато създаваме и компилираме нов клас се създава класа class
      В) jvm не използва класа class
      2ВЪПРОС -кое от твърденията не е вярно ?
      А) конструкторите могат да се задават подразбиране
      Б)конструкторите са полиморфни и претоварени
      В)конструкторите не са полиморфни но са претоварени
      3 ВЪПРОС- Кое от следните твърдения не е вярно ?
      А)final, референция не означава че не може да се променя рефенираният от нея обект
      Б)всички private методи в един клас по подразбиране са final и могат да бъдат предефинирани 
      В)final референция означава че не може да се обвърже повторно в нови обекти.
    • от Jay Ed
      Здравейте! Имам проблем с една задачка по програмиране. Ще се радвам, ако успеете да ми помогнете! :)
      "Да се създаде програма, която пресмята лице на определен брой квадрати и определя кой от тях е с най - малка площ. Да се декларира структура, описваща квадрат чрез страна квадрата, да се дефинира масив от квадрати и масив от площите на тези квадрати. Търсенето на площ на квадрат, както и на най - малката стойност, да се реализира с отделни функции."
    • от Wilhelm
      Здравейте, трябва ми спешна помощ за решение на тази задача по два варианта най-късно до утре! Ще съм ви длъжен!
       
       
    • от FlippyBG
      Здравейте хора, кякой може ли да каже как да оправя програмата. Мерси предварително.
      Да се направи функция за копиране на дадена опашка C++ 
       
      #include <iostream>
      using namespace std;
      struct elem
      {
          int key; elem *next;
      };
      void push(elem * &first, elem * &last, elem * p, int n);
      int pop(elem * &first, elem * &last, elem * &p, int &n);
      void copyQueue(elem * first, elem * last, elem * p, elem * &first2, elem * &last2, elem * &p2, int num);
      int main()
      {
          int num;
          elem *first = NULL, *last = NULL, *p;
          elem *first2 = NULL, *last2 = NULL, *p2;

          cout << "\n ~~~ Enter a symbol to stop entering numbers ~~~\n";
          cout << "\n Enter numbers:  \n";
          while (cin >> num)
              push(first, last, p, num);
          cout << "\n The numbers are:  \n";
          //while (pop(first, last, p, num))
      //    {
      //        cout << num << " ";
      //    }

          copyQueue(first, last,p , first2, last2, p2, num);
          while (pop(first2, last2, p2, num))
          {
              cout << num << " ";
          }
          cout << "\n";
          while (pop(first, last, p, num))
          {
              cout << num << " ";
          }
      }
      void push(elem * &first, elem * &last, elem * &p, int n)
      {
          p = last;
          last = new elem;
          last->key = n;
          last->next = NULL;
          if (p != NULL) p->next = last;
          if (first == NULL)
          {
              first = last;
          }
      }
      int pop(elem * &first, elem * &last, elem * &p, int &n)
      {
          if (first)
          {
              n = first->key;
              p = first;
              first = first->next;
              if (first == NULL) last = first;
              delete p;
              return 1;
          }
          else
              system("pause");
          return 0;
      }
      void copyQueue(elem * first, elem * last, elem * p, elem * &first2, elem * &last2, elem * &p2, int num)
      {
          while (pop(first, last, p, num))
          {
              push(first2, last2, p2, num);
          }
      }
       
  • Дарение

×
×
  • Добави ново...