【发布时间】:2019-09-29 17:30:07
【问题描述】:
我的任务是编写投票程序的一部分。
用户在命令行参数中输入参赛者的姓名(最多 9 个),然后程序询问选民人数,然后询问每个选民投票给了哪些参赛者。
我的工作是完成以下两个部分,这将提取任何人获得的最高票数,然后在第二部分打印所有获得最高票数的参赛者。如果只有一个参赛者有这么高的分数,它会打印那个名字。如果是两个或更多参赛者之间的平局,它会打印所有参赛者的姓名。
在 main 部分,有一个结构体,叫做参赛者,参赛者的名字是字符串,投票数是整数。
我是一个真正的新手,并且正在苦苦挣扎,正如您在查看代码时可以立即看出的那样。
这是一项重要的免责声明: - 除了添加包含之外,我不允许更改程序的任何其余部分。
bool count(string name)
{
for (int i = 0; i < contestant_count; i++)
{
if (strcmp(name, contestant[i].name) == 0)
{
contestant[i].votes++;
return true;
}
}
return false;
}
void display_highest(void)
{
int max = 0;
for (int i = 0; i <= contestant_count -1; i++)
{
if (contestant[i].votes == max)
{
max = display_highest;
}
}
for (int i = 0; i <= contestant_count -1; i++)
{
if (contestant[i].votes == display_highest)
printf("%s \n", contestant[i].name);
}
return;
}
函数display_highest()在主程序中没有建立,所以不能使用。但我正在尝试找到一种方法来提取最高票数,以便我可以单独告诉程序打印具有该票数的任何人。
【问题讨论】: