1

(6 відповідей, залишених у C++)

дякую коало

2

(6 відповідей, залишених у C++)

незнаю я вже методом вгадуваня пробую це завданя виконати сам нерозумію що робиться

3

(6 відповідей, залишених у C++)

Koala написав:

Оригінальний заголовок: Допоможыть(С++(робота з бінарними файлами в стилі ООП))

Замінити всі вибрані числа в масиві на інші.
замінити  b = 4 на a = 888
ось мій код

Прихований текст
#include <iostream>
#include <fstream>
using namespace std;
void main() {
    /*int A[20]{ 3,7,3,2,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 };
    ofstream fout("D://text//1.txt", ios_base::ate | ios_base::binary);
    if (fout.is_open()) {
        fout.write((char*)A, sizeof(A));
    }
    fout.close();
    int B[20] = { 0 };
    fstream fin("D://text//1.txt", ios_base::in | ios_base::binary);
    if (fin.is_open()) {
        fin.read((char*)B, sizeof(B));
    }
    fin.close();
    for (int i = 0; i < 20; i++) {
    cout << B[i] << " ";
    }*/
    int a = 888, b = 4, tmp, j = 0, p;
    fstream f("D://text//1.txt", ios_base::app | ios_base::in | ios_base::binary);
    if (f.is_open()) {
        f.seekp(ios_base::beg);
        for (int i = 0; i < 20; i++) {
            p = f.tellp();
            f.read((char*)&tmp, sizeof(tmp));
            if (tmp == b) {
                f.write((char*)&a, sizeof(a));
                f.flush();
                j = 2;
            }
            else {
                j = 1;
            }
            if (j == 1) {
                f.seekp(sizeof(int)*p, ios_base::beg);
            }
            if (j == 2) {
                f.seekg(sizeof(int)*p - 1, ios_base::beg);
            }
        }
        int B[20] = { 0 };
        f.read((char*)B, sizeof(B));
        f.close();
        for (int i = 0; i < 20; i++) {
        cout << B[i] << " ";
        }
    }
    system("pause");
}

Це потрібно для запису нових даних(якщо під час зміни вони пошкодились або занулились)

Прихований текст
/*int A[20]{ 3,7,3,2,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 };
    ofstream fout("D://text//1.txt", ios_base::ate | ios_base::binary);
    if (fout.is_open()) {
        fout.write((char*)A, sizeof(A));
    }
    fout.close();
    int B[20] = { 0 };
    fstream fin("D://text//1.txt", ios_base::in | ios_base::binary);
    if (fin.is_open()) {
        fin.read((char*)B, sizeof(B));
    }
    fin.close();
    for (int i = 0; i < 20; i++) {
    cout << B[i] << " ";
    }*/

а ось це заміна вибраного числа на інше

Прихований текст
int a = 888, b = 4, tmp, j = 0, p;
    fstream f("D://text//1.txt", ios_base::app | ios_base::in | ios_base::binary);
    if (f.is_open()) {
        f.seekp(ios_base::beg);
        for (int i = 0; i < 20; i++) {
            p = f.tellp();
            f.read((char*)&tmp, sizeof(tmp));
            if (tmp == b) {
                f.write((char*)&a, sizeof(a));
                f.flush();
                j = 2;
            }
            else {
                j = 1;
            }
            if (j == 1) {
                f.seekp(sizeof(int)*p, ios_base::beg);
            }
            if (j == 2) {
                f.seekg(sizeof(int)*p - 1, ios_base::beg);
            }
        }
        int B[20] = { 0 };
        f.read((char*)B, sizeof(B));
        f.close();
        for (int i = 0; i < 20; i++) {
        cout << B[i] << " ";
        }
    }

при заміні в мене нічого не міняє, який був масив такий і залишається

4

(8 відповідей, залишених у C++)

лямбд я ще не вчив

5

(8 відповідей, залишених у C++)

Дякую Коало після переведення всіх 1 букв 1 з маленької в велику все запрацювало добре

6

(8 відповідей, залишених у C++)

koala написав:

Крім того, ви просто тупо переклали код на свою "мову макросів". А можна ж було багато чого спростити.

як спростити?

7

(8 відповідей, залишених у C++)

тепер при сін або сіаут помилка
це обявленя не містить класс зберігання або спеціфікатор типу

8

(8 відповідей, залишених у C++)

ось завдання

Прихований текст

⦁    Створити програму «Калькулятор» (+, -, *, /, %). Програма повинна складатися лише з директив препроцесора, макросів і назв змінних(на вибір). Можна використати наступні макроси або визначити свої:

ось код

Прихований текст
#define namespace using namespace std;
#define plus +
#define minus - 
#define multiply *
#define divide /
#define modulo %
#define assign =
#define print cout<<
#define enter cin>>
#define endline endl 
#define calc void main()
#define stop system("pause");
#define number int
#define first "Enter first number: "
#define second "Enter second number: " 
#define sign "Enter sign: "
#define result "Result: "
#define start { 
#define end }
#define open (
#define close ) 
#define coma ,
#define semicolon ; 
#define ret return
#define set setlocale(LC_ALL,"ru");
#define begin [
#define rbegin ]
#define numfive 5
#define open1 <<
#define text cout<<"1-додавання\n2-вiднiмання\n3-дiлення\n4-множення\n5-дiлення_по_модулю\nВведiть_вибiр:";
#include <iostream>
namespace
    number sum open number a coma number b close semicolon
    number ris open number a coma number b close semicolon
    number dil open number a coma number b close semicolon
    number mn open number a coma number b close semicolon
    number dilm open number a coma number b close semicolon
    calc start
    set
    number open *p begin numfive rbegin close open number coma number close assign start sum coma ris coma dil coma mn coma dilm end semicolon
    number choice coma a coma b semicolon
    text
    enter choice semicolon
    print first semicolon
    enter a semicolon
    print second semicolon
    enter b semicolon
    number c assign p begin choice - 1 rbegin open a coma b close semicolon
    print result semicolon
    print c semicolon
    stop
    end
    number sum open number a coma number b close start
    ret a plus b semicolon
    end
    number ris open number a coma number b close start
    ret a minus b semicolon
    end
    number dil open number a coma number b close start
    ret a divide b semicolon
    end
    number mn open number a coma number b close start
    ret a multiply b semicolon
    end
    number dilm open number a coma number b close start
    ret a modulo b semicolon
    end

і без цих дій не буде працювати
Navigate to C/C++ -> Preprocessor.

Select Preprocessor Definitions and add

_XKEYCHECK_H;
завжди коли пишу сін або сіаут появляється помилка ідентифікатор сін(або сіаут) не визначено але якщо пишу

std::cin >>

то помилка
namespace "std" не містить члена "cin"

9

(1 відповідей, залишених у C++)

ось все завдання

Прихований текст

Розробіть програму «Компанія». Компанія складається з 3 відділів. Кожен відділ має свою назву, рейтинг. В кожному відділі працює певна кількість працівників(від 2 до 10). Працівник має унікальний ідентифікатор,  ім’я, прізвище, вік, посаду, стаж роботи, заробітну плату, дату нарождення(рік, місяць, день). Реалізуйте такі можливості:
Друк всіх працівників.
Друк всіх працівників певного відділу.
Пошук працівника по ідентифікатору.
Пошук працівника по імені.
Пошук працівника по прізвищу.
Пошук працівника по даті народження.
Пошук працівника з найбільшою заробітною платою.
Пошук відділу з найвищим рейтингом.
Пошук працівників по першій букві прізвища.
Пошук всіх працівників, яким залишилось менше 15 років до пенсії, якщо пенсійний вік починається в 60 років.
Пошук всіх працівників, в яких є надбавка до зарплати(надбавка начислюється, якщо стаж роботи 5 і більше років).
Редагування даних працівника(пошук по прізвищу і перезаписування нових даних).
Сортування всіх працівників потрібного відділу по прізвищу.
Сортування всіх працівників потрібного відділу по стажу роботи.
Сортування всіх працівників потрібного відділу по заробітній платі.
Добавлення нового працівника в потрібний відділ.
Добавлення нового відділу.
Видалення працівника по ідентифікатору.
Видалення працівника по прізвищу.
Видалення всіх працівників.

ось зроблені неправильно завдання

Прихований текст

Пошук працівників по першій букві прізвища.
Пошук всіх працівників, яким залишилось менше 15 років до пенсії, якщо пенсійний вік починається в 60 років.
Пошук всіх працівників, в яких є надбавка до зарплати(надбавка начислюється, якщо стаж роботи 5 і більше років).
Сортування всіх працівників потрібного відділу по прізвищу.
Сортування всіх працівників потрібного відділу по стажу роботи.
Сортування всіх працівників потрібного відділу по заробітній платі.
Добавлення нового працівника в потрібний відділ.
Видалення працівника по ідентифікатору.
Видалення працівника по прізвищу.

ось весь код

Прихований текст
#include <iostream>
using namespace std;
struct Date {
    char year[100];
    char month[100];
    char day[100];
};
struct Worker {
    char identificator[100];
    char name[100];
    char surname[100];
    char age[100];
    char posada[100];
    char staz[100];
    char zarplata[100];
    Date birthday;
};
struct Compania {
    char name[100];
    char reitung[100];
    Worker* prazivnuk;
    int count;
};
void set_Worker(Worker&worker);
void print_Worker(Worker worker);
void print_Date(Date date);
void set_Date(Date&date);
void set_Compania(Compania&compania);
void print_Compania(Compania compania);
void posch_praz_identificator(Worker worker, int identificato);
void posch_praz_name(Worker worker, char* name);
void posch_praz_name1(Compania* compania, char* name, int n);
void posch_praz_identificator1(Compania* compania, int identificato, int n);
void posch_praz_surname(Worker worker, char* surname);
void posch_praz_surname1(Compania* compania, char* surname, int n);
void posch_praz_birthday1(Compania* compania, int n, int year1, int month1, int day1);
void posch_praz_zarplata(Compania* compania, int n);
void posch_praz_birthday(Worker prazivnuk, int year1, int month1, int day1);
void posch_vidil_reitung(Compania* compania, int n);
//void posch_praz_surname_bukv(Worker worker, char* surnam);
//void posch_praz_surname1_bukv(Compania* compania, char* surnam, int n);
//void posch_praz_penc1(Compania* compania, int identificato, int n);
//void posch_praz_penc(Worker worker, int identificato);
//void posch_praz_staz1(Compania* compania, int identificato, int n);
//void posch_praz_staz(Worker worker, int identificato);
void red_praz_surname(Worker&worker, char* surname);
void red_praz_surname1(Compania* compania, char* surname, int n);
//void sort_vidil_surname(Compania*compania, int vidil, int n);
//void sort_vidil_staz(Compania*compania, int vidil, int n);
//void sort_vidil_zarplata(Compania*compania, int vidil, int n);
//void add_praz_vidil(Compania*compania, int vidil, int n);
void add_vidil(Compania*compania, int*n);
//void del_praz_identificator(Compania* compania, int identificato, int n);
//void del_praz_surname(Compania*compania, char *surna, int n);
void del(Compania*compania, int n);
void main() {
    int n = 2, cho, choice;
    Compania* compania = new Compania[n];
    for (int i = 0; i < n; i++) {
        set_Compania(compania[i]);
    }
    do {
        cout << "Enter choise: ";
        (cin >> choice).get();
        switch (choice) {
        case 1:
            for (int i = 0; i < n; i++) {
                print_Compania(compania[i]);
            }
            break;
        case 2:
            cout << "Enter vidil: ";
            (cin >> cho).get();
            print_Compania(compania[cho - 1]);
            break;
        case 3:
            int identificato;
            cout << "Enter identificator: ";
            (cin >> identificato).get();
            posch_praz_identificator1(compania, identificato, n);
            break;
        case 4:
            char name[100];
            cout << "Enter name: ";
            gets_s(name);
            posch_praz_name1(compania, name, n);
            break;
        case 5:
            char surname[100];
            cout << "Enter surname: ";
            gets_s(surname);
            posch_praz_surname1(compania, surname, n);
            break;
        case 6:
            int year1, month1, day1;
            cout << "year: ";
            cin >> year1;
            cout << "month: ";
            cin >> month1;
            cout << "day: ";
            cin >> day1;
            posch_praz_birthday1(compania, n, year1, month1, day1);
            break;
        case 7:
            posch_praz_zarplata(compania, n);
            break;
        case 8:
            posch_vidil_reitung(compania, n);
            break;
            /*case 9:
                char surnam[2];
                cout << "Enter 1 bukv surname: ";
                gets_s(surnam);
                posch_praz_surname1_bukv(compania, surnam, n);
                break;*/
                /*case 10:
                    posch_praz_penc1(compania, 45, n);
                    break;*/
        /*case 11:
            posch_praz_staz1(compania, 5, n);
            break; */
        case 12:
            char surnam[100];
            cout << "Enter surname: ";
            gets_s(surnam);
            red_praz_surname1(compania, surnam, n);
            break;
        /*case 13:
            int vidil;
            cout << "Enter vidil: ";
            (cin >> vidil).get();
            sort_vidil_surname(compania, vidil, n);
            break;*/
        /*case 14:
            int vidil;
            cout << "Enter vidil: ";
            (cin >> vidil).get();
            sort_vidil_staz(compania, vidil, n);
            break;*/
        /*case 15:
            int vidil;
            cout << "Enter vidil: ";
            (cin >> vidil).get();
            sort_vidil_zarplata(compania, vidil, n);
            break;*/
        /*case 16:
            int vidil;
            cout << "Enter vidil: ";
            (cin >> vidil).get();
            add_praz_vidil(compania, vidil, n);
            break;*/
        case 17:
            add_vidil(compania, &n);
            break;
        /*case 18:
            int identificat;
            cout << "Enter identificator: ";
            (cin >> identificat).get();
            del_praz_identificator(compania, identificat, n);
            break;*/
        /*case 19:
            char surna[100];
            cout << "Enter surname: ";
            gets_s(surna);
            del_praz_surname(compania, surna, n);
            break;*/
        case 20:
            del(compania, n);
            break;
        }
    } while (choice > 0);
    system("pause");
}
void del(Compania*compania, int n) {
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < compania[i].count; j++) {
            delete[] compania[i].prazivnuk;
        }
    }
}
//void del_praz_surname(Compania*compania, char *surna, int n) {
//    int poschuk, test = 0;
//        for (int i = 0; i < n; i++) {
//            for (int j = 0; j < compania[i].count - 1; j++) {
//                int poschuk = strcmp(compania[i].prazivnuk[j].surname, surna);
//                if (poschuk == 0) {
//                    delete[] compania[i].prazivnuk[j].identificator;
//                    test = 1;
//                    compania[i].count--;
//                }
//                if (test == 1) {
//                    compania[i].prazivnuk[j] = compania[i].prazivnuk[j + 1];
//                }
//            }
//        }
//}
//void del_praz_identificator(Compania* compania, int identificato, int n) {
//    int poschuk, test = 0;
//    for (int i = 0; i < n; i++) {
//        for (int j = 0; j < compania[i].count - 1; j++) {
//            poschuk = atoi(compania[i].prazivnuk[j].identificator);
//            if (poschuk == identificato) {
//                delete[] compania[i].prazivnuk[j].identificator;
//                test = 1;
//                compania[i].count--;
//            }
//            if (test == 1) {
//                compania[i].prazivnuk[j] = compania[i].prazivnuk[j + 1];
//            }
//        }
//    }
//}
void add_vidil(Compania*compania, int *n) {
    Compania* tmp = new Compania[*n + 1];
    tmp = compania;
    set_Compania(tmp[*n]);
    compania = tmp;
    n++;
}
//void add_praz_vidil(Compania*compania, int vidil, int n) {
//    Compania* tmp = new Compania[1];
//    tmp[1] = compania[vidil];
//    set_Worker(tmp[1].prazivnuk[compania[vidil].count]);
//    compania[vidil] = tmp[1];
//    compania[vidil].count++;
//}
//void sort_vidil_zarplata(Compania*compania, int vidil, int n) {
//    Compania* tmp = new Compania[1];
//    for (int j = 0; j < compania[vidil].count; j++) {
//        int cho = strcmp(compania[vidil].prazivnuk[j].zarplata, compania[vidil].prazivnuk[j + 1].zarplata);
//        if (cho > 0) {
//            tmp[vidil].prazivnuk[j] = compania[vidil].prazivnuk[j];
//            compania[vidil].prazivnuk[j] = compania[vidil].prazivnuk[j + 1];
//            compania[vidil].prazivnuk[j + 1] = tmp[vidil].prazivnuk[j];
//        }
//    }
//}
//void sort_vidil_staz(Compania*compania, int vidil, int n) {
//    Compania* tmp = new Compania[1];
//    for (int j = 0; j < compania[vidil].count; j++) {
//        int cho = strcmp(compania[vidil].prazivnuk[j].staz, compania[vidil].prazivnuk[j + 1].staz);
//        if (cho > 0) {
//            tmp[vidil].prazivnuk[j] = compania[vidil].prazivnuk[j];
//            compania[vidil].prazivnuk[j] = compania[vidil].prazivnuk[j + 1];
//            compania[vidil].prazivnuk[j + 1] = tmp[vidil].prazivnuk[j];
//        }
//    }
//}
//void sort_vidil_surname(Compania*compania, int vidil, int n) {
//    Compania* tmp = new Compania[1];
//    for (int j = 0; j < compania[vidil].count; j++) {
//        int cho = strcmp(compania[vidil].prazivnuk[j].surname, compania[vidil].prazivnuk[j + 1].surname);
//        if (cho > 0) {
//            tmp[vidil].prazivnuk[j] = compania[vidil].prazivnuk[j];
//            compania[vidil].prazivnuk[j] = compania[vidil].prazivnuk[j + 1];
//            compania[vidil].prazivnuk[j + 1] = tmp[vidil].prazivnuk[j];
//        }
//    }
//}
void red_praz_surname1(Compania* compania, char* surname, int n) {
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < compania[i].count; j++) {
            red_praz_surname(compania[i].prazivnuk[j], surname);
        }
    }
}
void red_praz_surname(Worker&worker, char* surname) {
    int cho = strcmp(worker.surname, surname);
    if (cho == 0) {
        set_Worker(worker);
    }
}
//void posch_praz_staz1(Compania* compania, int sta, int n) {
//    for (int i = 0; i < n; i++) {
//        for (int j = 0; j < compania[i].count; j++) {
//            posch_praz_identificator(compania[i].prazivnuk[j], sta);
//        }
//    }
//}
//void posch_praz_staz(Worker worker, int sta) {
//    int poschuk = atoi(worker.staz);
//    if (poschuk >= sta) {
//        print_Worker(worker);
//    }
//}
    //void posch_praz_penc1(Compania* compania, int a, int n) {
    //    for (int i = 0; i < n; i++) {
    //        for (int j = 0; j < compania[i].count; j++) {
    //            posch_praz_identificator(compania[i].prazivnuk[j], a);
    //        }
    //    }
    //}
    //void posch_praz_penc(Worker worker, int a) {
    //    int poschuk = atoi(worker.age);
    //    if (poschuk == a) {
    //        print_Worker(worker);
    //    }
    //}
    //void posch_praz_surname1_bukv(Compania* compania, char* surnam, int n) {
    //    for (int i = 0; i < n; i++) {
    //        for (int j = 0; j < compania[i].count; j++) {
    //            posch_praz_surname_bukv(compania[i].prazivnuk[j], surnam);
    //        }
    //    }
    //}
    //void posch_praz_surname_bukv(Worker worker, char *surnam) {
    //    int cho = strcmp(worker.surname[1], surnam);
    //    if (cho == 0) {
    //        print_Worker(worker);
    //    }
    //}
void posch_vidil_reitung(Compania* compania, int n) {
    int max = 0;
    for (int i = 0; i < n; i++) {
        int a = atoi(compania[i].reitung);
        if (a > max) {
            max = a;
        }
    }
    for (int i = 0; i < n; i++) {
        int a = atoi(compania[i].reitung);
        if (a == max) {
            print_Compania(compania[i]);
        }
    }
}
void posch_praz_zarplata(Compania* compania, int n) {
    int max = 0;
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < compania[i].count; j++) {
            int a = atoi(compania[i].prazivnuk[j].zarplata);
            if (a > max) {
                max = a;
            }
        }
    }
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < compania[i].count; j++) {
            int a = atoi(compania[i].prazivnuk[j].zarplata);
            if (a == max) {
                print_Worker(compania[i].prazivnuk[j]);
            }
        }
    }
}
void posch_praz_birthday(Worker prazivnuk, int year1, int month1, int day1) {
    int year2 = atoi(prazivnuk.birthday.year);
    int month2 = atoi(prazivnuk.birthday.month);
    int day2 = atoi(prazivnuk.birthday.day);
    if (year2 == year1 && month2 == month1 && day2 == day1) {
        print_Worker(prazivnuk);
    }
}
void posch_praz_birthday1(Compania* compania, int n, int year1, int month1, int day1) {
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < compania[i].count; j++) {
            posch_praz_birthday(compania[i].prazivnuk[j], year1, month1, day1);
        }
    }
}
void posch_praz_surname1(Compania* compania, char* surname, int n) {
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < compania[i].count; j++) {
            posch_praz_surname(compania[i].prazivnuk[j], surname);
        }
    }
}
void posch_praz_surname(Worker worker, char* surname) {
    int cho = strcmp(worker.surname, surname);
    if (cho == 0) {
        print_Worker(worker);
    }
}
void posch_praz_identificator1(Compania* compania, int identificato, int n) {
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < compania[i].count; j++) {
            posch_praz_identificator(compania[i].prazivnuk[j], identificato);
        }
    }
}
void posch_praz_name1(Compania* compania, char* name, int n) {
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < compania[i].count; j++) {
            posch_praz_name(compania[i].prazivnuk[j], name);
        }
    }
}
void posch_praz_name(Worker worker, char* name) {
    int cho = strcmp(worker.name, name);
    if (cho == 0) {
        print_Worker(worker);
    }
}
void posch_praz_identificator(Worker worker, int identificato) {
    int poschuk = atoi(worker.identificator);
    if (poschuk == identificato) {
        print_Worker(worker);
    }
}
void print_Compania(Compania compania) {
    cout << "Name vidil: ";
    puts(compania.name);
    cout << "Reitung: ";
    puts(compania.reitung);
    cout << "Count prazivnik: ";
    cout << compania.count << "\n";
    for (int i = 0; i < compania.count; i++) {
        print_Worker(compania.prazivnuk[i]);
    }
}
void set_Compania(Compania&compania) {
    cout << "Enter name vidil: ";
    gets_s(compania.name);
    cout << "Enter reitung: ";
    gets_s(compania.reitung);
    cout << "Enter count prazivnik: ";
    (cin >> compania.count).get();
    compania.prazivnuk = new Worker[compania.count];
    for (int i = 0; i < compania.count; i++) {
        set_Worker(compania.prazivnuk[i]);
    }
}
void print_Worker(Worker worker) {
    cout << "Identifikator: ";
    puts(worker.identificator);
    cout << "Name worker: ";
    puts(worker.name);
    cout << "Surname: ";
    puts(worker.surname);
    cout << "Age: ";
    puts(worker.age);
    cout << "Posada: ";
    puts(worker.posada);
    cout << "Staz: ";
    puts(worker.staz);
    cout << "Zarplata: ";
    puts(worker.zarplata);
    print_Date(worker.birthday);
}
void set_Worker(Worker&worker) {
    cout << "Enter indentifikator: ";
    gets_s(worker.identificator);
    cout << "Enter name worker: ";
    gets_s(worker.name);
    cout << "Enter surname: ";
    gets_s(worker.surname);
    cout << "Enter age: ";
    gets_s(worker.age);
    cout << "Enter posada: ";
    gets_s(worker.posada);
    cout << "Enter staz: ";
    gets_s(worker.staz);
    cout << "Enter zarplata: ";
    gets_s(worker.zarplata);
    set_Date(worker.birthday);
}
void print_Date(Date date) {
    cout << "Year: ";
    puts(date.year);
    cout << "Month: ";
    puts(date.month);
    cout << "Day: ";
    puts(date.day);
}
void set_Date(Date&date) {
    cout << "Enter year: ";
    gets_s(date.year);
    cout << "Enter month: ";
    gets_s(date.month);
    cout << "Enter day: ";
    gets_s(date.day);
}

ось код який працює не так як потрібно

Прихований текст
//void del_praz_surname(Compania*compania, char *surna, int n) {
//    int poschuk, test = 0;
//        for (int i = 0; i < n; i++) {
//            for (int j = 0; j < compania[i].count - 1; j++) {
//                int poschuk = strcmp(compania[i].prazivnuk[j].surname, surna);
//                if (poschuk == 0) {
//                    delete[] compania[i].prazivnuk[j].identificator;
//                    test = 1;
//                    compania[i].count--;
//                }
//                if (test == 1) {
//                    compania[i].prazivnuk[j] = compania[i].prazivnuk[j + 1];
//                }
//            }
//        }
//}
//void del_praz_identificator(Compania* compania, int identificato, int n) {
//    int poschuk, test = 0;
//    for (int i = 0; i < n; i++) {
//        for (int j = 0; j < compania[i].count - 1; j++) {
//            poschuk = atoi(compania[i].prazivnuk[j].identificator);
//            if (poschuk == identificato) {
//                delete[] compania[i].prazivnuk[j].identificator;
//                test = 1;
//                compania[i].count--;
//            }
//            if (test == 1) {
//                compania[i].prazivnuk[j] = compania[i].prazivnuk[j + 1];
//            }
//        }
//    }
//}
//void add_praz_vidil(Compania*compania, int vidil, int n) {
//    Compania* tmp = new Compania[1];
//    tmp[1] = compania[vidil];
//    set_Worker(tmp[1].prazivnuk[compania[vidil].count]);
//    compania[vidil] = tmp[1];
//    compania[vidil].count++;
//}
//void sort_vidil_zarplata(Compania*compania, int vidil, int n) {
//    Compania* tmp = new Compania[1];
//    for (int j = 0; j < compania[vidil].count; j++) {
//        int cho = strcmp(compania[vidil].prazivnuk[j].zarplata, compania[vidil].prazivnuk[j + 1].zarplata);
//        if (cho > 0) {
//            tmp[vidil].prazivnuk[j] = compania[vidil].prazivnuk[j];
//            compania[vidil].prazivnuk[j] = compania[vidil].prazivnuk[j + 1];
//            compania[vidil].prazivnuk[j + 1] = tmp[vidil].prazivnuk[j];
//        }
//    }
//}
//void sort_vidil_staz(Compania*compania, int vidil, int n) {
//    Compania* tmp = new Compania[1];
//    for (int j = 0; j < compania[vidil].count; j++) {
//        int cho = strcmp(compania[vidil].prazivnuk[j].staz, compania[vidil].prazivnuk[j + 1].staz);
//        if (cho > 0) {
//            tmp[vidil].prazivnuk[j] = compania[vidil].prazivnuk[j];
//            compania[vidil].prazivnuk[j] = compania[vidil].prazivnuk[j + 1];
//            compania[vidil].prazivnuk[j + 1] = tmp[vidil].prazivnuk[j];
//        }
//    }
//}
//void sort_vidil_surname(Compania*compania, int vidil, int n) {
//    Compania* tmp = new Compania[1];
//    for (int j = 0; j < compania[vidil].count; j++) {
//        int cho = strcmp(compania[vidil].prazivnuk[j].surname, compania[vidil].prazivnuk[j + 1].surname);
//        if (cho > 0) {
//            tmp[vidil].prazivnuk[j] = compania[vidil].prazivnuk[j];
//            compania[vidil].prazivnuk[j] = compania[vidil].prazivnuk[j + 1];
//            compania[vidil].prazivnuk[j + 1] = tmp[vidil].prazivnuk[j];
//        }
//    }
//}
//void posch_praz_staz1(Compania* compania, int sta, int n) {
//    for (int i = 0; i < n; i++) {
//        for (int j = 0; j < compania[i].count; j++) {
//            posch_praz_identificator(compania[i].prazivnuk[j], sta);
//        }
//    }
//}
//void posch_praz_staz(Worker worker, int sta) {
//    int poschuk = atoi(worker.staz);
//    if (poschuk >= sta) {
//        print_Worker(worker);
//    }
//}
    //void posch_praz_penc1(Compania* compania, int a, int n) {
    //    for (int i = 0; i < n; i++) {
    //        for (int j = 0; j < compania[i].count; j++) {
    //            posch_praz_identificator(compania[i].prazivnuk[j], a);
    //        }
    //    }
    //}
    //void posch_praz_penc(Worker worker, int a) {
    //    int poschuk = atoi(worker.age);
    //    if (poschuk == a) {
    //        print_Worker(worker);
    //    }
    //}
    //void posch_praz_surname1_bukv(Compania* compania, char* surnam, int n) {
    //    for (int i = 0; i < n; i++) {
    //        for (int j = 0; j < compania[i].count; j++) {
    //            posch_praz_surname_bukv(compania[i].prazivnuk[j], surnam);
    //        }
    //    }
    //}
    //void posch_praz_surname_bukv(Worker worker, char *surnam) {
    //    int cho = strcmp(worker.surname[1], surnam);
    //    if (cho == 0) {
    //        print_Worker(worker);
    //    }
    //}

10

(2 відповідей, залишених у C++)

ось все завдання

Прихований текст

Розробіть програму «Компанія». Компанія складається з 3 відділів. Кожен відділ має свою назву, рейтинг. В кожному відділі працює певна кількість працівників(від 2 до 10). Працівник має унікальний ідентифікатор,  ім’я, прізвище, вік, посаду, стаж роботи, заробітну плату, дату нарождення(рік, місяць, день). Реалізуйте такі можливості:
Друк всіх працівників.
Друк всіх працівників певного відділу.
Пошук працівника по ідентифікатору.
Пошук працівника по імені.
Пошук працівника по прізвищу.
Пошук працівника по даті народження.
Пошук працівника з найбільшою заробітною платою.
Пошук відділу з найвищим рейтингом.
Пошук працівників по першій букві прізвища.
Пошук всіх працівників, яким залишилось менше 15 років до пенсії, якщо пенсійний вік починається в 60 років.
Пошук всіх працівників, в яких є надбавка до зарплати(надбавка начислюється, якщо стаж роботи 5 і більше років).
Редагування даних працівника(пошук по прізвищу і перезаписування нових даних).
Сортування всіх працівників потрібного відділу по прізвищу.
Сортування всіх працівників потрібного відділу по стажу роботи.
Сортування всіх працівників потрібного відділу по заробітній платі.
Добавлення нового працівника в потрібний відділ.
Добавлення нового відділу.
Видалення працівника по ідентифікатору.
Видалення працівника по прізвищу.
Видалення всіх працівників.

ось завдання яке зараз виконую

Прихований текст

Пошук працівників по першій букві прізвища.

ось весь код

Прихований текст
#include <iostream>
using namespace std;
struct Date {
    char year[100];
    char month[100];
    char day[100];
};
struct Worker {
    char identificator[100];
    char name[100];
    char surname[100];
    char age[100];
    char posada[100];
    char staz[100];
    char zarplata[100];
    Date birthday;
};
struct Compania {
    char name[100];
    char reitung[100];
    Worker* prazivnuk;
    int count;
};
void set_Worker(Worker&worker);
void print_Worker(Worker worker);
void print_Date(Date date);
void set_Date(Date&date);
void set_Compania(Compania&compania);
void print_Compania(Compania compania);
void posch_praz_identificator(Worker worker, int identificato);
void posch_praz_name(Worker worker, char* name);
void posch_praz_name1(Compania* compania, char* name, int n);
void posch_praz_identificator1(Compania* compania, int identificato, int n);
void posch_praz_surname(Worker worker, char* surname);
void posch_praz_surname1(Compania* compania, char* surname, int n);
void posch_praz_birthday1(Compania* compania, int n, int year1, int month1, int day1);
void posch_praz_zarplata(Compania* compania, int n);
void posch_praz_birthday(Worker prazivnuk, int year1, int month1, int day1);
void posch_vidil_reitung(Compania* compania, int n);
void posch_praz_surname_bukv(Worker worker, char* surnam);
void posch_praz_surname1_bukv(Compania* compania, char* surnam, int n);
void main() {
    int n = 2, cho, choice;
    Compania* compania = new Compania[n];
    for (int i = 0; i < n; i++) {
        set_Compania(compania[i]);
    }
    do {
        cout << "Enter choise: ";
        (cin >> choice).get();
        switch (choice) {
        case 1:
            for (int i = 0; i < n; i++) {
                print_Compania(compania[i]);
            }
            break;
        case 2:
            cout << "Enter vidil: ";
            (cin >> cho).get();
            print_Compania(compania[cho - 1]);
            break;
        case 3:
            int identificato;
            cout << "Enter identificator: ";
            (cin >> identificato).get();
            posch_praz_identificator1(compania, identificato, n);
            break;
        case 4:
            char name[100];
            cout << "Enter name: ";
            gets_s(name);
            posch_praz_name1(compania, name, n);
            break;
        case 5:
            char surname[100];
            cout << "Enter surname: ";
            gets_s(surname);
            posch_praz_surname1(compania, surname, n);
            break;
        case 6:
            int year1, month1, day1;
            cout << "year: ";
            cin >> year1;
            cout << "month: ";
            cin >> month1;
            cout << "day: ";
            cin >> day1;
            posch_praz_birthday1(compania, n, year1, month1, day1);
            break;
        case 7:
            posch_praz_zarplata(compania, n);
            break;
        case 8:
            posch_vidil_reitung(compania, n);
            break;
        case 9:
            char surnam[2];
            cout << "Enter 1 bukv surname: ";
            gets_s(surnam);
            posch_praz_surname1_bukv(compania, surnam, n);
            break;
        }
    } while (choice > 0);
    system("pause");
}
void posch_praz_surname1_bukv(Compania* compania, char* surnam, int n) {
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < compania[i].count; j++) {
            posch_praz_surname_bukv(compania[i].prazivnuk[j], surnam);
        }
    }
}
void posch_praz_surname_bukv(Worker worker, char *surnam) {
    int cho = strcmp(worker.surname[1], surnam);
    if (cho == 0) {
        print_Worker(worker);
    }
}
void posch_vidil_reitung(Compania* compania, int n) {
    int max = 0;
    for (int i = 0; i < n; i++) {
        int a = atoi(compania[i].reitung);
        if (a > max) {
            max = a;
        }
    }
    for (int i = 0; i < n; i++) {
        int a = atoi(compania[i].reitung);
        if (a == max) {
            print_Compania(compania[i]);
        }
    }
}
void posch_praz_zarplata(Compania* compania, int n) {
    int max = 0;
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < compania[i].count; j++) {
            int a = atoi(compania[i].prazivnuk[j].zarplata);
            if (a > max) {
                max = a;
            }
        }
    }
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < compania[i].count; j++) {
            int a = atoi(compania[i].prazivnuk[j].zarplata);
            if (a == max) {
                print_Worker(compania[i].prazivnuk[j]);
            }
        }
    }
}
void posch_praz_birthday(Worker prazivnuk, int year1, int month1, int day1) {
    int year2 = atoi(prazivnuk.birthday.year);
    int month2 = atoi(prazivnuk.birthday.month);
    int day2 = atoi(prazivnuk.birthday.day);
    if (year2 == year1 && month2 == month1 && day2 == day1) {
        print_Worker(prazivnuk);
    }
}
void posch_praz_birthday1(Compania* compania, int n, int year1, int month1, int day1) {
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < compania[i].count; j++) {
            posch_praz_birthday(compania[i].prazivnuk[j], year1, month1, day1);
        }
    }
}
void posch_praz_surname1(Compania* compania, char* surname, int n) {
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < compania[i].count; j++) {
            posch_praz_surname(compania[i].prazivnuk[j], surname);
        }
    }
}
void posch_praz_surname(Worker worker, char* surname) {
    int cho = strcmp(worker.surname, surname);
    if (cho == 0) {
        print_Worker(worker);
    }
}
void posch_praz_identificator1(Compania* compania, int identificato, int n) {
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < compania[i].count; j++) {
            posch_praz_identificator(compania[i].prazivnuk[j], identificato);
        }
    }
}
void posch_praz_name1(Compania* compania, char* name, int n) {
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < compania[i].count; j++) {
            posch_praz_name(compania[i].prazivnuk[j], name);
        }
    }
}
void posch_praz_name(Worker worker, char* name) {
    int cho = strcmp(worker.name, name);
    if (cho == 0) {
        print_Worker(worker);
    }
}
void posch_praz_identificator(Worker worker, int identificato) {
    int poschuk = atoi(worker.identificator);
    if (poschuk == identificato) {
        print_Worker(worker);
    }
}
void print_Compania(Compania compania) {
    cout << "Name vidil: ";
    puts(compania.name);
    cout << "Reitung: ";
    puts(compania.reitung);
    cout << "Count prazivnik: ";
    cout << compania.count << "\n";
    for (int i = 0; i < compania.count; i++) {
        print_Worker(compania.prazivnuk[i]);
    }
}
void set_Compania(Compania&compania) {
    cout << "Enter name vidil: ";
    gets_s(compania.name);
    cout << "Enter reitung: ";
    gets_s(compania.reitung);
    cout << "Enter count prazivnik: ";
    (cin >> compania.count).get();
    compania.prazivnuk = new Worker[compania.count];
    for (int i = 0; i < compania.count; i++) {
        set_Worker(compania.prazivnuk[i]);
    }
}
void print_Worker(Worker worker) {
    cout << "Identifikator: ";
    puts(worker.identificator);
    cout << "Name worker: ";
    puts(worker.name);
    cout << "Surname: ";
    puts(worker.surname);
    cout << "Age: ";
    puts(worker.age);
    cout << "Posada: ";
    puts(worker.posada);
    cout << "Staz: ";
    puts(worker.staz);
    cout << "Zarplata: ";
    puts(worker.zarplata);
    print_Date(worker.birthday);
}
void set_Worker(Worker&worker) {
    cout << "Enter indentifikator: ";
    gets_s(worker.identificator);
    cout << "Enter name worker: ";
    gets_s(worker.name);
    cout << "Enter surname: ";
    gets_s(worker.surname);
    cout << "Enter age: ";
    gets_s(worker.age);
    cout << "Enter posada: ";
    gets_s(worker.posada);
    cout << "Enter staz: ";
    gets_s(worker.staz);
    cout << "Enter zarplata: ";
    gets_s(worker.zarplata);
    set_Date(worker.birthday);
}
void print_Date(Date date) {
    cout << "Year: ";
    puts(date.year);
    cout << "Month: ";
    puts(date.month);
    cout << "Day: ";
    puts(date.day);
}
void set_Date(Date&date) {
    cout << "Enter year: ";
    gets_s(date.year);
    cout << "Enter month: ";
    gets_s(date.month);
    cout << "Enter day: ";
    gets_s(date.day);
}

ось код завдання

Прихований текст
void posch_praz_surname1_bukv(Compania* compania, char* surnam, int n) {
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < compania[i].count; j++) {
            posch_praz_surname_bukv(compania[i].prazivnuk[j], surnam);
        }
    }
}
void posch_praz_surname_bukv(Worker worker, char *surnam) {
    int cho = strcmp(worker.surname[1], surnam);
    if (cho == 0) {
        print_Worker(worker);
    }
}

ось помилка
"int strcmp (const char *, const char *)": неможливо перетворити аргумент 1 з "char" в "const char *" ряд 114

11

(10 відповідей, залишених у C++)

а так сортує з незрозумілими символами наче вийшов за межі масиву

void sort(Book*book, int n) {
    Book tmp[100];
    int prov;
    for (int i = 0; i < n; i++) {
        prov = strcmp(book[i].name, book[i + 1].name);
        if (prov > 0) {
            for (int i = 0; i < n; i++) {
                *tmp = book[i];
                book[i] = book[i + 1];
                book[i + 1] = *tmp;
            }
        }
    }
}

12

(10 відповідей, залишених у C++)

тільки сортує назву а не весь масив

13

(10 відповідей, залишених у C++)

все працює я просто

char* tmp[100];

замінив на

char tmp[100];

14

(10 відповідей, залишених у C++)

так

if (prov > 0) {
            for (int i = 0; i < 100; i++) {
                tmp[i] = book[i].name;
            }
            for (int i = 0; i < 100; i++) {
                *book[i].name = *book[i + 1].name;
            }
            for (int i = 0; i < 100; i++) {
                *book[i + 1].name = tmp;
            }
        }

всерівно помилка

15

(10 відповідей, залишених у C++)

ось код

if (prov > 0) {
            *tmp = book[i].name;
            *book[i].name = *book[i + 1].name;
            *book[i + 1].name = *tmp;
        }

ось нова помилка
=: неможливо перетворити "char *" в "char"
а при заміні

*book[i + 1].name = *tmp;

на

*book[i + 1].name = tmp;

така помилка
=: неможливо перетворити "char * [100]" в "char"

16

(10 відповідей, залишених у C++)

Дякую Володимире, допомогло

17

(10 відповідей, залишених у C++)

це помилка десь тут

prov = strcmp(book[i].name, book[i + 1].name);

18

(10 відповідей, залишених у C++)

ось все завдання

Прихований текст

Розробіть програму «Бібліотека». Створіть структуру «Книга» (назва, автор, видавництво, жанр). Створіть масив з декількох книг. Реалізуйте такі можливості:
Друк всіх книг.
Пошук книги по автору.
Пошук книги по назві
Редагування книги(пошук по назві і перезаписування нових даних).
Сортування масиву по назві книг.
Сортування масиву по автору.
Сортування масиву по видавництву.
Добавлення нової книжки.
Видалення книжки з певною назвою.

ось завдання яке зараз виконую

Прихований текст

Сортування масиву по назві книг.

ось весь код

Прихований текст
#include <iostream>
using namespace std;
struct Book {
    char name[100];
    char avtor[100];
    char vudavnuztvo[100];
    char zanr[100];
};
void set(Book&book);
void print(Book&book);
void posch_avt(Book&book, int n, char avtor);
void posch_name(Book&book, int n, char name);
void red(Book&book, int n, char name);
void sort(Book&book, int n);
void main() {
    int n = 3;
    Book* book = new Book[n];
    for (int i = 0; i < n; i++) {
        set(book[i]);
    }
    int ch = 1;
    char name[100];
    for (; ch > 0;) {
        switch (ch) {
        case 1:
            for (int i = 0; i < n; i++) {
                print(book[i]);
            }
            break;
        case 2:
            char avtor[100];
            cout << "Enter avtor: ";
            gets_s(avtor);
            for (int i = 0; i < n; i++) {
                posch_avt(book[i], n, *avtor);
            }
            break;
        case 3:
            cout << "Enter name: ";
            gets_s(name);
            for (int i = 0; i < n; i++) {
                posch_name(book[i], n, *name);
            }
            break;
        case 4:
            cout << "Enter name: ";
            gets_s(name);
            for (int i = 0; i < n; i++) {
                red(book[i], n, *name);
            }
            break;
        case 5:
            sort(*book, n);
            break;
        }
        cout << "Enter choise: ";
        (cin >> ch).get();
        
    }
    system("pause");
}
void sort(Book&book, int n) {
    char tmp[100];
    int prov;
    for (int i = 0; i < n; i++) {
        prov = strcmp(book[i].name, book[i + 1].name);
    }
}
void red(Book&book, int n, char name) {
    int prov = strcmp(book.name, &name);
    if (prov == 0) {
        set(book);
    }
}
void posch_name(Book&book, int n, char name) {
    int prov = strcmp(book.name, &name);
    if (prov == 0) {
        print(book);
    }
}
void posch_avt(Book&book, int n, char avtor) {    
        int prov = strcmp(book.avtor, &avtor);
        if (prov == 0) {
            print(book);
        }
}
void print(Book&book) {
    puts(book.name);
    puts(book.avtor);
    puts(book.vudavnuztvo);
    puts(book.zanr);
}
void set(Book&book) {
    gets_s(book.name);
    gets_s(book.avtor);
    gets_s(book.vudavnuztvo);
    gets_s(book.zanr);
}

ось код з помилкою

Прихований текст
void sort(Book&book, int n) {
    char tmp[100];
    int prov;
    for (int i = 0; i < n; i++) {
        prov = strcmp(book[i].name, book[i + 1].name);
    }
}

ось помилки
бінарний "[": "Book" не визначає цей оператор або перетворення до типу прийнятно до вбудованого оператору ряд 66
функція не приймає 1 аргументів ряд 66

19

(16 відповідей, залишених у C++)

Дякую Коало

20

(16 відповідей, залишених у C++)

вказівник на одного студента але не тільки першого а щоб був вибір