Меня попросят написать функцию, которая берет два значения из типа структуры и сравнивает их. Если они равны, он хочет, чтобы я добавил два других значения из этих структур и отправил их в другую структуру. Он также должен возвращать 1 или 0 через имя функции, поэтому я определил функцию как int.C - Прохождение структур через аргументы функции
Я попытался написать программу, в которой содержится номер социального страхования сотрудника и его заработная плата, а затем ссуда и заработная плата другого сотрудника. Если социальные отношения одинаковы, они будут сочетать две зарплаты и отправлять их в другую структуру, в которой содержится общая заработная плата сотрудников.
Я получаю ошибки каждый раз, когда упоминаю функцию сравнения. Это, по-видимому, связано с аргументами функции. Как это можно сделать правильно?
#include <stdio.h>
#include <stdlib.h>
#define EMPLOYEE_COUNT 4
struct ewage
{
int ssn;
int wage;
}
struct record
{
int totalwage;
}
int compare(struct ewage s1, struct ewage s2, struct record *r);
int main (void)
{
struct ewage e[EMPLOYEE_COUNT];
struct record r[EMPLOYEE_COUNT];
int i, j;
for (i = 0; i < EMPLOYEE_COUNT; i ++)
{
for (j = i + 1; j < EMPLOYEE_COUNT; j ++)
{
int success = compare(e[i], e[j], &record[i]);
if (success == 1)
printf ("%d/%d | Record: %d \n", i, j, record[i]);
else
printf ("%d/%d | DOES NOT MATCH \n", i, j);
}
}
system ("PAUSE");
return 0;
}
int compare(struct ewage s1, struct ewage s2, struct record *r)
{
if (s1.ssn == s2.ssn)
{
r->totalwage = s1.wage + s2.wage;
return 1;
}
return 0;
}
Какие ошибки вы получаете? Ошибка компиляции, исключение времени выполнения или просто результат не то, что вы ожидаете? –
Помимо ошибок, отмеченных Чарли Бернсом, я хотел бы указать, что вы объявляете только массивы структур, но никогда не устанавливаете значения для фактических структур, которые имеет массив. Конечно, это может быть связано с тем, что код не завершен, хотя ... – jpw
@ C.R., Они были ошибками компиляции. Чарли Бернс идентифицировал их всех, и теперь он правильно компилируется. – River