结构体指针应用——选票系统

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如何使用结构体数组和指向结构体的指针实现投票系统? 首先,我们可以定义一个结构体来表示候选人: struct Candidate { char name[20]; int votes; }; 然后,我们可以定义一个结构体数组来存储所有的候选人: struct Candidate candidates[10]; 这里仅仅定义了一个大小为10的结构体数组,你可以根据需要进行修改。 接下来,我们需要实现投票功能。首先,我们需要提示用户输入选票。然后,我们需要遍历结构体数组来查找用户输入的候选人。如果找到了对应的候选人,我们就将他的票数加一: int i, j, num_candidates; char vote[20]; // 提示用户输入选票 printf("Please enter the name of the candidate you want to vote for: "); scanf("%s", vote); // 查找候选人,并投票 num_candidates = sizeof(candidates) / sizeof(struct Candidate); for (i = 0; i < num_candidates; i++) { if (strcmp(candidates[i].name, vote) == 0) { candidates[i].votes++; printf("Thank you for voting for %s!\n", candidates[i].name); break; } } 如果没有找到对应的候选人,我们需要提示用户输入错误,然后重新让用户输入选票投票结束后,我们可以遍历结构体数组,找到得票最多的候选人: int max_votes = 0; struct Candidate *winner; // 找到得票最多的候选人 for (i = 0; i < num_candidates; i++) { if (candidates[i].votes > max_votes) { max_votes = candidates[i].votes; winner = &candidates[i]; } } 最后,我们可以输出得票最多的候选人: printf("The winner is %s with %d votes!\n", winner->name, winner->votes); 至此,投票系统实现就完成了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值