Я немного изучаю C и выполняю упражнение, в котором я использую структуры и функции, чтобы собирать информацию о сотрудниках и просто распечатывать их.
Я объявляю функции и структуру в заголовке, так как они нужны мне в обоих других файлах.
//employee.h
int addEmployee(void);
int printEmployee(int i);
struct employeelist
{
char last [20];
char first[20];
int pnumber;
int salary;
};
Файл "core" выполняет обе функции. Первая функция запрашивает количество сотрудников и возвращает значение для второй функции, где информация собирается и хранится. Там нет ошибок, и я проверил код несколько раз.
//employee.c
#include "employee.h"
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int numE;
int i;
int addEmployee(void)
{
struct employeelist employee[5];
int numE;
printf("How many employees do you want to add to the list?: ");
scanf("%d", &numE);
printf("Please type in the last name, the first name,\nthe personal number and the salary of your employees.\n");
for (i=0; i < numE; i++)
{
printf("Last name: ");
scanf("%s", employee[i].last);
printf("First name: ");
scanf("%s", employee[i].first);
printf("Personal number: ");
scanf("%d", &employee[i].pnumber);
printf("Salary: ");
scanf("%d", &employee[i].salary);
}
return numE;
}
int printEmployee(int emp)
{
struct employeelist employee[5];
for (i=0; i < emp; i++)
{
printf("Last name: {%s}\nFirst name: {%s}\nPersonal number: {%d}\nSalary: {%d}\n",employee[i].last,employee[i].first, employee[i].pnumber, employee[i].salary);
}
getchar();
getchar();
return emp;
}
Последний файл содержит функцию main () для выполнения указанных выше функций.
#include "employee.h"
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int emp;
int main ()
{
struct employeelist employee[5];
int emp = addEmployee();
printEmployee(emp);
return 0;
}
Теперь моя проблема в том, что все работает, только вывод неверен. Я даже не могу сказать, что это. Какая-то случайная смесь знаков, букв и цифр. Поскольку я понятия не имею, где моя ошибка, я был бы рад любому совету решить эту проблему. Спасибо. ![alt text](https://i.stack.imgur.com/NCxiO.jpg)
Я добавил скриншот своего вывода. Может быть, это поможет.