Премини към съдържанието
Ester007

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

  • Любов 1

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


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

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

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

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

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

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


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

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

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

  • Любов 1

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


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

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

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


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

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

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


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


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

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

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

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


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

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

  • Ядосан 1

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


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

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

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

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


Линк към този отговор
Сподели в други сайтове
преди 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;
}

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

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


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

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

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


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

А бе нали ти казах че n e const бе.Според теб правилно ли е да променяш 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 променлива НЕ СЕ КОМПИЛИРА!!!!!!!!!!!

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

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


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

Регистрирайте се или влезете в профила си за да коментирате

Трябва да имате регистрация за да може да коментирате това

Регистрирайте се

Създайте нова регистрация в нашия форум. Лесно е!

Нова регистрация

Вход

Имате регистрация? Влезте от тук.

Вход

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

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

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

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

    • от Alexandar Jelev
      Здравейте, искам  да попитам някой може ли да ми помогне за курсовата задача, ще му бъда изключително благодарен? :)
      Задачата е следната:
      Съставете програма с функции за:
      а) Въвеждане от клавиатура във файл и в масив ( чрез добавяне) данни за автобусни превози ( до 35 ) - Автогара Варна: маршрут, дата (1 до 31), номер на автобуса, фамилия на водача, брой пътници, цена на съответните билети, обща сума на билетите - през месец юли. Извеждане текущото съдържание на масива (файла) на екран;
      б) Извеждане на екран справка за всички превози през избран ден от месеца ( със запитване за нова справка);
      в) Извеждане на екран номерата на автобусите и общата сума на билетите от превозите, извършени с тях, подредени в низходящ ред по сумата.
                   Главна функция main() -с меню  за избор на функции и проврка за състоянието на данните.  Използване на функции с предаване на параметри.
       
    • от Plamy Gerova
      Здравейте, може ли помощ за курсовата ми задача?
      съставете програма с функции за:
      а) въвеждане от клавиатурата във файл и в масив( чрез добавяне) данни за морски пътувания (до 25)- Морска гара Варна: маршрут, кораб-име, име на капитан, цени на билетите- I,II класа, брой пасажери в съответната класа, обща сума на продадените билети- през избран месец от годината.Извеждане текущото съдържание на масива(файла) на екрана.
      б) извеждане на екран данните за превозите на кораб по въведено от клавиатурата име на кораб(със запитване за справка)
      в) извеждане на екран данните за морско пътуване с най- голяма обща сума на продадени билети.
      Главна функция main()- с меня за избор на функции и проверка за състоянието та данните.Използване на локални променливи и функции с предаване на параметри. 
       
    • от Десислава Нешева
      Здравейте на всички. Имам въпрос, свързан с програмата си++. Имам матрица, на която търся сума от отрицателните елементи. Въпроса ми е как ще стане това нещо да се запише във файл, искам резултата да се показва само във файла, а не цялата матрица. Ето моя код:

      #include <iostream>

      #include<fstream>

      int main()

      {

      int a[10][10],m,n;

      int sum=0;

      std::cout<<"rows= ";

      std::cin>>m;

      std::cout<<"cols= ";

      std::cin>>n;

      for (int i=0; i<m; i++)

      for (int j=0; j<n; j++)

      {

      std::cout<<"a["<<i<<"]["<<j<<"]= ";

      std::cin>>a[j];

          if(a[j]<0) sum=sum+a[j];

      std::cout<<"sum= "<<sum;}

      return 0;

      }

      Благодаря, предварително !!!
    • от Boqn Tzonev
      #include <iostream> #include <iomanip> #include <string> #include <fstream> using namespace std; const int N = 5; struct player { string ime; string familia; string otbor; int nomer; int vk_golove; } igrachi[N], podredba; // Prototypes. int add_player(player a[]); void search_by_number(player a[], int &nomer_na_igracha); void search_by_team(player a[], string & ime_na_otbora); void klasirane(player a[]); void actual(player a[], int &nomer_na_igracha, string & ime_na_otbora); //********************************************** fstream igrachi_file; //********************************************** int add_player(player a[]) { int br; igrachi_file.open("igrachi.txt", ios::out | ios::app); // <--- As an "fstream" this needs to know if it is input or output. do { //cout << "\n Broi igrachi:"; cout << "\n Number of players:"; cin >> br; } while (br <= 0 || br > N); if (igrachi_file.fail()) { cout << "Error. The file is missing."; exit(1); } for (int i = 0; i < br; i++) { //cout << "Vuvedi ime na igrach:"; cout << " Enter player's first name: "; cin >> a[i].ime; igrachi_file << a[i].ime << endl; //cout << "Vuvedi familia na igrach:"; cout << " Enter a player's last name :"; cin >> a[i].familia; igrachi_file << a[i].familia << endl; //cout << "Vuvedi otbor na igracha:"; cout << " Enter a player's team: "; cin >> a[i].otbor; igrachi_file << a[i].otbor << endl; //cout << "Vuvedi nomer na igracha:"; cout << " Enter the player number: "; cin >> a[i].nomer; if (a[i].nomer > 99 || a[i].nomer < 1) { do { //cout << "Vuvedete nomer ot 1 do 99. \n"; cout << "Enter number 1 to 99. \n"; cin >> a[i].nomer; } while (a[i].nomer > 99 || a[i].nomer < 1); } igrachi_file << a[i].nomer << endl; //cout << "Vuvedi vkarani golove na igracha:"; cout << " Enter player goals scored: "; cin >> a[i].vk_golove; if (a[i].vk_golove < 0) { do { //cout << "Vuvedete golove >= 0 \n"; cout << "Enter goals >= 0 \n"; cin >> a[i].vk_golove; } while (a[i].vk_golove < 0); } igrachi_file << a[i].vk_golove << endl; } igrachi_file.close(); } void search_by_number(player a[], int &nomer_na_igracha) { int flag = 0; igrachi_file.open("igrachi.txt", ios::in); igrachi_file.seekg(0); if (igrachi_file.fail()) { cout << "Fail to open the file"; exit(1); } for (int i = 0; i < N; i++) { igrachi_file >> a[i].ime; igrachi_file >> a[i].familia; igrachi_file >> a[i].otbor; igrachi_file >> a[i].nomer; igrachi_file >> a[i].vk_golove; if (nomer_na_igracha == a[i].nomer) { cout << "Igrach: " << a[i].ime << " " << a[i].familia << "\nOtbor: " << a[i].otbor << "\nNomer: " << a[i]. nomer << "\nVkarani golove: " << a[i].vk_golove << endl; flag++; } } if (!flag) cout << endl << "Nqma takuv igrach!" << endl; igrachi_file.close(); } void search_by_team(player a[], string & ime_na_otbora) { int flag = 0; igrachi_file.open("igrachi.txt", ios::in); igrachi_file.seekg(0); if (igrachi_file.fail()) { cout << "Fail to open the file"; exit(1); } for (int i = 0; i < N; i++) { igrachi_file >> a[i].ime; igrachi_file >> a[i].familia; igrachi_file >> a[i].otbor; igrachi_file >> a[i].nomer; igrachi_file >> a[i].vk_golove; if (ime_na_otbora == a[i].otbor) { cout << "Igrach: " << a[i].ime << " " << a[i].familia << "\nOtbor: " << a[i].otbor << "\nNomer: " << a[i]. nomer << "\nVkarani golove: " << a[i].vk_golove << endl << endl; flag++; } } if (!flag) cout << endl << "Nqma takuv otbor!" << endl; igrachi_file.close(); } void klasirane(player a[]) { igrachi_file.open("igrachi.txt", ios::in); igrachi_file.seekg(0); // <--- Not needed as the file pointer is already at the beginning from the open statement. for (int i = 0; i < N; i++) { igrachi_file >> a[i].ime; igrachi_file >> a[i].familia; igrachi_file >> a[i].otbor; igrachi_file >> a[i].nomer; igrachi_file >> a[i].vk_golove; } cout << "ime" << setw(15) << "familia" << setw(15) << "otbor" << setw(15) << "nomer" << setw(15) << "vkarani golove" << endl; for (int i = 0; i < N; i++) { cout << a[i].ime << right << setw(15) << a[i]. familia << right << setw(15) << a[i]. otbor << right << setw(15) << a[i]. nomer << right << setw(15) << a[i].vk_golove << endl; } igrachi_file.close(); } int main() { int choice; int nomer_na_igracha; string ime_na_otbora, familia_na_igracha; player a[N]; do { cout << "\n================================================================================" << endl; cout << "\t\tMenu\n\n"; //cout << "= Izberete:\n"; cout << " Choose:\n"; //cout << "= 1. Dobavqne na igrachi\n"; cout << " 1. Add players\n"; //cout << "= 2. Spisuk s igrachite\n"; cout << " 2. List of players\n"; //cout << "= 3. Spravka za igrach po nomer\n"; cout << " 3. Reference for player by number\n"; //cout << "= 4. Spravka za igrach po otbor\n"; cout << " 4. Player report by team\n"; //cout << "= 5. Aktualizirane\n"; cout << " 5. Update\n"; //cout << "= 6. Krai\n"; cout << " 6. End\n"; cout << "\n================================================================================" << endl; cin >> choice; switch (choice) { case 1: { add_player(a); break; } case 2: { klasirane(a); break; } case 3: { cout << "Tursene po nomer: "; cin >> nomer_na_igracha; search_by_number(a, nomer_na_igracha); break; } case 4: { cout << "Tursene po otbor: "; cin >> ime_na_otbora; search_by_team(a, ime_na_otbora); break; } case 5: { cout<< "Update:"; cin>> nomer_na_igracha, ime_na_otbora; } break; } } while (choice != 6); } Здравейте имам нужда от малко помощ с моята курсова задача.Остана ми да направя единствено актуализацията ,но не мога да се справя. Ето и какво съм направил по актуализацията.Ще го постна като отговор долу.

      void actual(player a[], int nomer_na_igracha, string ime_na_otbora) { int i{}; fstream igrachi_file; igrachi_file.open("igrachi.txt", ios::in); while (getline(igrachi_file, a[i].familia)) // <--- Changed. { igrachi_file >> a[i].vk_golove; igrachi_file.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); // <--- Requires header file <limits>. getline(igrachi_file, a[i].otbor); i++; } igrachi_file.close(); //cout << "Vuvedete igrachite chiqto informaciq iskate da redaktirate: "; cout << "Enter the players whose information you want to edit: "; //cin >> num; // <--- Not defined or used. //cout << "\n Ime: "; cout << "\n Name: "; std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); // <--- Requires header file <limits>. getline(cin, a[i].familia); //cout << "\n Golove: "; cout << "\n Goals: "; cin >> a[i].vk_golove; // <--- goals. cin.get(); cout << endl << endl; } Кодът не е правилен.Да се види до къде съм стигнал.
    • от kirilov_philip
      Моля за помощ!!!
      Задача: Даден е двумерен масив A с m реда и n стълба. Да се напише програма на C++, която създава нов масив B, като стойността на елемента Bi(i e долен индекс) е равна на индекса на най-малката стойност в i-ия ред на A.
      Стигнах дотук.
      #include <iostream>
      #include <stdlib.h>
      using namespace std;
      int main()
      {
          int m, n;
          cout << "m="; cin >> m;
          cout << "n="; cin >> n;
          int A[100][100];
          int i, j;
          for(i=0;i<m;i++)
              for (j = 0; j < n; j++)
              {
                  cout << "A[" << i << "][" << j << "]="; cin >> A[j];
              }
      }
  • Дарение

×

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите условия за ползване.