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

Zimbadze

Потребител
  • Публикации

    6
  • Регистрация

  • Последно онлайн

Харесвания

0 Неутрална репутация

Всичко за Zimbadze

  • Титла
    Новобранец

Последни посетители

624 прегледа на профила
  1. Така имам следните проблеми с курсовата си по БП.

    1) Дава ми следната грешка когато затварям конзолата 

    Unhandled exception at 0x5588DF62 (msvcp120d.dll) in CourseProject.exe: 0xC0000005: Access violation writing location 0xFEEEFEEE.

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

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

     

    Благодаря предварително за помощта!

    #include <iostream>
    #include <fstream>
    #include <stdlib.h>
    #include <string>
    using namespace std;

    fstream fp; //указател към файла

    const int N = 20;  //Най-голям брой сътрудници

    struct person
    {
        string idn; //Идентификационнен номер 
        float rate; //Почасово заплащане 
        int hours; //Отработени часове за една седмица 
        double salary; //Седмична заплата 
    };

    void creation(person pers[], int &size);
    void display(person pers[], int &size);
    void suplement(int size);

    int main()
    {
        person per[N];      //Масив от сътрудници
        int choice;         // Променлива за избор от менюто
        int number;        //Променлива за броя на сътрудниците 
        do
        {
            do
            {
                for (int i = 0; i < 80; i++)
                {
                    cout << "-";
                }
                cout << "     Menu!     " << endl;
                for (int j = 0; j < 80; j++)
                {
                    cout << "-";
                }
                cout << "1.Create file." << endl
                    << "2.Data output." << endl
                    << "3.Supplement." << endl
                    << "4.End!." << endl
                    << "Enter your choice from 1 to 4 : ";
                cin >> choice;
            } while (choice < 1 || choice>4);
            switch (choice)
            {
            case 1: creation(per, number); break;
            case 2:; system("cls"), display(per, number); break;
            case 3: system("cls"), suplement(number); break;
            default: cout << endl << " End!" << endl;
            }
        } while (choice != 4);

        system("pause");
        return 0;
    }

    /*Функция за въвеждане на данните за
    сътрудниците и записването им във файл */
    void creation(person pers[], int  &size)
    {
        cout << endl << "Enter the number of associates: ";
        do
        {
            cin >> size;
        } while ((size<1) || (size>N));

        fp.open("danni.dat", ios::binary | ios::out ); // Двоичен файл за запис
        if (!fp)
        {
            cout << endl << "Error opening file:" << endl;
            exit(1);
        }

        for (int i = 0; i < size; i++)
        {
            cout << endl << "Enter data for assistant number "
                << i + 1 << endl;
            cout << endl << "IDN: ";
            cin.ignore();
            getline(cin, pers.idn);
            cout << endl << "Hourly wage: ";
            cin >> pers.rate;
            cout << endl << "Hours worked: ";
            cin >> pers.hours;
            pers.salary = pers.rate*pers.hours; //Седмична заплата 
        }
        fp.write((char*)pers, size*sizeof(person)); //Запис на масива във файл
        fp.close();
    }

    /*Функция за четене на данните от файл,
    попълване на масива и извеждането им на екрана на монитора*/
    void display(person pers[], int &size)
    {
        person p;
        cout << endl << "List of contributors:" << endl;
        fp.open("danni.dat", ios::binary | ios::in);
        if (!fp)
        {
            cout << endl << "File does not exist.";
            exit(1);
        }
        for (int i = 0; i < size; i++)
        {
            fp.read((char*)&p, sizeof(person));
            pers = p;
            cout << endl << "IDN: " << pers.idn
                << endl << "Hours worked: " << pers.hours
                << endl << "Coefficient of paid: " << pers.rate;
            if (pers.hours > 40)
            {
                cout << endl << "Spend salary is: " << pers.salary + 0.5*pers.salary*(pers.hours - 40) - (0.3625*pers.salary);
            }
            else
            {
                cout << endl << "Spend salary is: " << pers.salary - (0.3625*pers.salary);
            }
        }
        fp.close();
    }

    /*Функция за допълване на
    файла с данни за един сътрудник*/

    void suplement(int size)
    {
        person newOne; // Локална променлива с данни за новия сътрудник
        fp.open("danni.dat", ios::binary | ios::app); //Файлат се отваря за допълване, като указателя е разположен в края
        if (!fp)
        {
            cout << endl << "File does not exit!";
            exit(1);
        }
        cin.clear(); //Изчистване на буфера
        cout << endl << "Enter data for assistant number: " << size + 1
            << endl << "IDN: ";
        cin.ignore();
        getline(cin, newOne.idn);
        cout << endl << "Hourly wage: ";
        cin.ignore();
        cin >> newOne.rate;
        cout << endl << "Hours worked: ";
        cin.ignore();
        cin >> newOne.hours;
        newOne.salary = newOne.rate*newOne.hours;
        fp.write((char*)&newOne, sizeof(person));
        fp.close();
    }

  2. Zimbadze

    Операционна система

    само да попитам как ще е най-добре да разделя твърдия диск на дискове
  3. Zimbadze

    Операционна система

    Ими да ще позваме visual studio
  4. Купих си лаптоп ASUS Republic of Gamers Announces GL552 Ии ме интересуват мнения каква операционна система да си сложа като се има предвид че съм студент първа година и ще ставам програмист
  5. Zimbadze

    Инфектиран ми е компютъра

    Ето и този файл FRST.txt
  6. Zimbadze

    Инфектиран ми е компютъра

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Junkware Removal Tool (JRT) by Thisisu Version: 6.3.3 (10.14.2014:1) OS: Windows 7 Ultimate x64 Ran by Petar on бкЎ 18.10.2014 Ј. at 9:05:25,22 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~ Services ~~~ Registry Values ~~~ Registry Keys ~~~ Files ~~~ Folders Successfully deleted: [Folder] "C:\Program Files (x86)\search extensions" ~~~ Event Viewer Logs were cleared ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Scan was completed on бкЎ 18.10.2014 Ј. at 9:09:50,54 End of JRT log ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Прикачъл съм и двата файла JRT.txt AdwCleanerS0.txt
  7. FRST файла е прекалено дълъг и затова го прикачих. Addition.txt FRST.txt
  • Разглеждащи това в момента   0 потребители

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

×

Информация

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