Реализовать добавление ещё одной позиции сотрудника - C (СИ)
Формулировка задачи:
Вобщем есть структура
В глайной функции main создан массив структуры из 20 элементов
функция для добавление: нужно реализовать добавление ещё одной позиции сотрудника, тк массив по условию дан статичный я решил особо не утруждаться и всё завязать на переменной n.
Вначале я ввожу переменную n и выполняю цикл записи n раз. Для того чтобы добавить ещё одного я просто увеличиваю n на 1 и повторяю операцию записи для ячейки n+1
вызывается функция так в функции у меня следующее
Только вот с указателями у меня плоховато и я некак не пойму что делать и почему так получается.
После вывода там оказываются записаны всякие кракозябры. Почему так получается мне не понятно, даже когда в функции только n++ и вывод n То кракозябры всё равно добавляются
Помогите пожалуйста. Заранее Спасибо
struct hotel { int code_staff; //шифр сотрудника char fio[100]; //ФИО char position[30]; //должность float tarif_rate; //тарифная ставка float allowance; //надбавка в % float salary; //оклад };
struct hotel h[20];
void add_to_data (hotel *h, int &n);
add_to_data (h, n);
void add_to_data (hotel *h, int &n) //дополнение данных { n++; printf ("Введите шифр сотрудника\n"); scanf ("%i",&h[n].code_staff); printf ("Введите ФИО\n"); scanf ("%s",&h[n].fio,100); printf ("Введите должность\n"); scanf ("%s",&h[n].position,30); printf ("Введите тарифную ставку\n"); scanf ("%f",&h[n].tarif_rate); printf ("Введите надбавку(%)\n"); scanf ("%f",&h[n].allowance); h[n].salary=(240*h[n].tarif_rate)+(((240*h[n].tarif_rate)/100)*h[n].allowance); printf ("\n"); }
Решение задачи: «Реализовать добавление ещё одной позиции сотрудника»
textual
Листинг программы
#define HOTEL_MAX_LIST_SIZE 20 struct hotel_list { struct hotel items[HOTEL_MAX_LIST_SIZE]; int list_size; };
Объяснение кода листинга программы
- В коде определен макрос HOTEL_MAX_LIST_SIZE, который задает максимальное количество элементов в списке сотрудников (20).
- Создана структура hotel_list, которая содержит массив структур hotel (items) и переменную list_size.
- В структуре hotel определены поля: name (название сотрудника) и age (возраст сотрудника).
- Код не содержит функций для добавления нового сотрудника в список.
- Код не содержит функций для вывода информации о сотрудниках.
- Код не содержит функций для удаления сотрудников из списка.
- Код не содержит функций для сортировки списка сотрудников.
- Код не содержит функций для поиска сотрудников в списке.
- Код не содержит циклов или других операций, которые могли бы использоваться для работы со списком сотрудников.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д