+ 1
Помогите, пожалуйста, написать программу на С++
Вимоги до програми: вхідні дані вводяться з клавіатури; перевірка вхідних даних на відповідність діапазону значень і некоректні символи; введені дані зберігаються в масиві структур (масив складається з 20 елементів); символьні поля структури оголошуються як масив символів; три перши елементи масиву необхідно ініціалізувати при оголошенні масиву; управління виконанням програми здійснюється на основі текстового меню користувача; Співробітники. Дані. прізвище та ініціали назва компанії виплати в гривнях (структура з двох полів – оклад і премія Дії. додавання співробітника в список виведення списку співробітників виведення списку співробітників з вказаним окладом пошук співробітника з найвищою сумою виплат
6 Antworten
+ 1
*-> Inside main functions u have declared N variable which is un-initialise u need to set any value
*-> your second for loop u have settled value i<20 . Your this condition depends on N so instead of i<20 write i<N
remaining things are fine
0
Write questions in English language then community can help you
0
Покажите вашу попытку решения данной задачи... 😎
0
#include <iostream>
using namespace std;
struct Worker { //объявление структуры
char fio[20]; //объявление полей структуры
char company[20];
double pay; // оклад
double bonus; // премия
};
int main() {
int N;
Worker a[N];
for (int i=0; i < N; i++){
cout<<"Введите фамилию и инициалы работника # "<<i+1<<":"<<endl;
cin>> a[i].fio;
cout<<"Введите название компании: ";
cin>>a[i].company;
cout<<"Введите оклад";
cin>> a[i].pay;
cout<<"Введите премию";
cin>>a[i].bonus;
}
for(int i=0;i<20;i++)
{ //вывод структуры
cout<<" Фамилия и инициалы: "<< a[i].fio <<endl;
cout<<" Название компании: " << a[i].company <<endl;
cout<<"Оклад: "<< a[i].pay<<endl;
cout<<"Премия: "<< a[i].bonus;
}
return 0;
}
0
Requirements for the program:
input data is entered from the keyboard;
checking of input data for compliance with the range of values and incorrect characters;
the entered data is stored in an array of structures (the array consists of 20 elements);
character fields of the structure are declared as an array of characters;
the first three elements of the array must be initialized when the array is declared;
control of program execution is carried out on the basis of the user's text menu;
Employees.
Data.
surname and initials
the company name
payments in hryvnias (structure with two fields - salary and bonus
actions
adding an employee to the list
displaying a list of employees
displaying a list of employees with the specified salary
finding the employee with the highest amount of payments
0
Alina , вы обьявляете переменную N, но не записываете для неё ввод данных - если это нарушает условие задания, то вам необходимо изменить структуру цикла на бесконечный с остановкой при условии пустой строки ввода данных.
Второй цикл вам не нужен - достаточно одного.
При вводе данных напишите условие проверки соответствия типу символьных и числовых переменных чтобы нельзя было например в оклад записать символьное значение.
И наконец отсортируйте суммарную выплату работникам с выводом самого высокооплачиваемого.
Например так:
If (a[0].pay+a[0].bonus < a[i].pay+a[i].bonus){
a[0] = a[i];
}