某班从全班20人(学号1~20)中投票选举6位班委委员,每张选票内容包括:所选班委的学号,投票人学号。
基本要求用菜单选择并完成下述系统功能:
(1)输入全班的名单(姓名与学号),并可显示。
(2)选票输入:输入每张选票的投票人学号及所选班委的学号(可选6个,没有则键入空白)。
(3)输出得票前6位的当选班委名单
(4)输出6位班委名单全部选票与投票结果完全相符的投票人姓名。
(5)退出程序
C语言程序设计,要带注释,投票系统
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 神仙别闹 2022-01-05 20:28关注
#include <stdio.h> #include <stdlib.h> #define N 3 //定义人数 #define N2 2 //打印几个选举结果 struct student { int xh; //学号 char xm[10]; //姓名 int flag; //已投票数 int flag_p; //被投票数 int xp_xh[6]; //被选人学号 } stu[N]; //函数功能:录入学生信息 void lr() { int i; for (i=0;i<N;i++) { printf("学号:%d\n",i+1); printf("请输入姓名:"); stu[i].xh=(i+1); scanf("%s",&stu[i].xm); stu[i].flag=0; stu[i].flag_p=0; stu[i].xp_xh[6]=0; printf("\n"); system("cls"); } printf("学号\t"); printf("姓名\t"); printf("票数\n"); for (i=0;i<N;i++) { printf("%d\t",stu[i].xh); printf("%s\t",stu[i].xm); printf("%d\n",stu[i].flag_p); } } //函数功能:投票,对数据进行操作 ,输出结果 void tp(int tpr,int tp) { int q=0; if (stu[tpr-1].flag<6) { if (tpr>N || tpr<0) { printf("输入有误!\n"); system("pause"); } else { q = stu[tpr-1].flag; stu[tpr-1].xp_xh[q]=(tp-1); stu[tpr-1].flag++; stu[tp-1].flag_p++; } } else { printf("您已经投了6票!"); system("pause"); return ; } } int Comp(const void *p1,const void *p2) { return ((struct student *)p2)->flag_p - ((struct student *)p1)->flag_p; //降序 //return ((student *)p1)->flag_p - ((student *)p2)->flag_p; //升序 } int main() { int xh_tpr; //投票人学号 int xh_tp; //被投票人学号 int k; lr(); while(1) { printf("请输入你的学号“100”结束投票打印结果:\n"); scanf("%d",&xh_tpr); if (xh_tpr==100) { system("cls"); printf("投票结果:\t"); printf("学号\t姓名\t票数\t投票数\n"); qsort(stu, N, sizeof(stu[0]), Comp); for (k=0;k<N2;k++) printf("\t\t%d\t%s\t%d\t%d\n",stu[k].xh,&stu[k].xm,stu[k].flag_p,stu[k].flag); system("pause"); break; } else { printf("\n请输入你要投票人的学号:"); scanf("%d",&xh_tp); tp(xh_tpr,xh_tp); } } //goto start; //不需要用goto return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
- ¥20 Java-Oj-桌布的计算
- ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
- ¥20 有人知道这种图怎么画吗?
- ¥15 pyqt6如何引用qrc文件加载里面的的资源
- ¥15 安卓JNI项目使用lua上的问题
- ¥20 RL+GNN解决人员排班问题时梯度消失
- ¥60 要数控稳压电源测试数据
- ¥15 能帮我写下这个编程吗
- ¥15 ikuai客户端l2tp协议链接报终止15信号和无法将p.p.p6转换为我的l2tp线路