《程序设计基础△&第五单元形成性考核作业(占形考比例40%).docx》由会员分享,可在线阅读,更多相关《程序设计基础△&第五单元形成性考核作业(占形考比例40%).docx(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、江苏开放大学形成性考核作业学号:姓名:课程代码: 060241课程名称: 程序设计基础评阅教师:第3次任务共3次任务E C:UsersSTDesktopTEST5.exe计入入票票 选堂I-票闻闻 选信选查查统 穴人号4 登选选编姓出 迎欢L Z &4.5.计入入票票 选堂I-票闻闻 选信选查查统 穴人号4 登选选编姓出 迎欢L Z &4.5.需票4 请t-s-计入入票票选 亚香心票询询 选信选查查统 吾人号4 登选选编姓出 迎欢L z &4.S请输入1、2、3、4、5进行选择候选人的姓名:程迎春的编号:205姓名:霜迎春 年龄:21 性别:男:4085请输入1、2、3、4、5进行选择矗爆豁,
2、繇螭5篁之玲 年的:25 性别:女 选票数:6254统 系 计入入票票 统选 H1票询询 选信选查查统 委人号登选选编姓出 迎欢L 2 &4.5.请输入1、2、3、4、5进行选择作业说明:1 .做作业之前首先在封面填上自己的学号和姓名,做完作业后请写上作业完成时间。2 .学习完第五单元后必须完成本次作业,并请在规定时间内通过学习平台提交Word文档形 式的电子作业,本次作业占形成性考核总成绩的40%o作业内容:根据“学生信息管理系统”程序,编写一个“候选人选票统计系统”的程序,要求综合运用结 构体、函数和前面所学的循环结构、输入输出、选择结构等知识技能,能够进行多名候选人简 单信息的录入,选票
3、数的录入,能够根据候选人姓名或者编号杳询输出选票情况。作业要求:(1)程序的主要设计思路,以文字或图表的形式描述比如候选人信息包括哪些,选票如何 存储等程序设计细节;(2)程序的源代码以及对源代码必要的行注释;(3)请把程序运行结果截图贴在本次作业中;(4)以上内容请在本文档中完成,并将本文档提交至学习平台,作为本课程第三次作业。作业回答区:问题分析:编写一个“候选人选票统计系统”的程序,要求综合运用结构体、函数和前面所学的循环 结构、输入输出、选择结构等知识技能,能够进行多名候选人简单信息的录入,选票数的录入, 能够根据候选人姓名或者编号查询输出选票情况。候选人信息与选票数如下表:序号编号姓
4、名年龄性别选票数1105赵清艳21女52142156吴之玲25女62543180梅华杰22女35174205程迎春21男40855284王文平24男85216351王昶26男7214程序设计:编号姓名年龄性别选票数定义一个常量候选人数hxsnum方便测试与需求扩展.定义个结构体存放候选人简单信息与选票数Rcandidatestruct Rcandidateint no;char naine2()J;int age;char sex3;int num;定义一个结构体数组candidatehxsnum aCandidate存放全部候选人简单信息与选票数。采用功能分块菜单模式来处理,菜单如下:候选人
5、信息输入:依次根据提示信息读入候选人编号、姓名、年龄、性别信息存入相对应结构体Rcandidate 中对应no、name、age sex成员中。候选人选票输入:依次根据提示信息读入候选人选票数相对应结构体Rcandidate中num成员中。候选人选票输出:统一输出显示指定序号cd数组中候选人的简单信息与选票数。按编号查询选票:根据编号通过WHILE循环查找cd数组中查找成员NO与编号相同对应数组序号。再 调用【候选人选票输出】功能,显示屏幕显示。按姓名查询选票:根据姓名通过WHILE循环cd数组中查找成员name中与姓名相同对应数组序号。再 调用【候选人选票输出】功能,显示屏幕显示。第2页功能
6、菜单显示:在显示屏幕显示输出1、候选人信息输入:2、候选人选票输入;3、按编号查询选票;4、按姓名查询选票;5、退出系统。功能菜单选择:通过WHILE循环处理选择内容,并根据调用相应功能模块。程序源码:#include #include #define hxsnum 6 定义候选人数struct Rcandidateint no;char namc20J;int age;char sex3;int num;);/*菜单显示*/void menu。编号姓名年龄性别选票数编号姓名年龄性别选票数W);printf(n printf(t欢迎登录选票统计系统n);.候选人信息输入n);prinlf(”l
7、2.候选人选票输入n);printf(t3.按编号查询选票n);printf(”t4.按姓名查询选票nH);printf(”t5.退出系统 n);printf(n);;/*候选人信息输入*/void inputinfo(strucl Rcandidate cdJ)int i;for(i=0;ihxsnum;i+)printf(请输入第d位候选人信息n”,i+l);printf(编号t姓名t年龄t性别n”);scanf(%d%s%d%s&cdi.no,&cdi.name,&cdi.age,&cdi.sex);/*候选人选票输入*/void inputnum(struct Rcandidate c
8、d)ini i;fbr(i=O;ihxsnum;i+)printf(n请输入第d位候选人选票数二i+1);scanf(%d,&cdlij.num);/*候选人信息与选票输出*/void oulputinfo(siruct Rcandidate cd,in( i)(printf(候选人的编号:%d姓名:-8s年龄:%-4d性别:%-4s选票数:%dnM,cdi.no,cdi.name,cdi.age,cdi.scx,cdi.num);)/*候选人按编号查找*/void FindByno(s(ruct Rcandidale cd)int i,no;printf(请输入候选人的编号:”); scan
9、f(%d,&no);for (i=0;ihxsnum;i+)if (cdi.no=no) outputinfo(cd,i);/Jro 出查询结果 break;)if (i=hxsnum)printf(查无此人 n”);/*候选人按姓名查找*/void FindBynamc(struct Rcandidatc cdlJ)int i;char name20;printfT请输入候选人的姓名:);scanf(%s,&name);for (i=0;ihxsnum;i+)(if (strcnip(&namc,&cd|i.namc)=O) outputinfo(cdj); 输出查询结果 break;)if
10、 (i=hxsnum)printf(查无此人 n);/*功能菜单选择*/void select(strucl Rcandidate cdl)(ini n;while (1)printf(t 请输入 1、2、3、4、5 进行选择n);scanf(%d,&n);if (n=l)inputinfo(cd); 加载候选人信息输入else if (n=2)inputnurn(cd); 加载选票输入clse if (n=3)FindByno(cd);加载编号查找else if (n=4) FindByname(cd); /加载姓名查找)if (n=5)break; 退出系统clscmenu。; 加载菜单v
11、oid main。/*主函数*/struct Rcandidate cdhxsnum; 定义结构体数组存放候选入信息与选票数menu(); /加载菜单selecl(cd);/加载菜单选择I运行结果截图:统 系计入入票票 统选 票息票询询 选兼查查统 类人号名杀 登至编姓出 sn欢 L N3.4.5.21酋25幄翳B捻第1之第华第迎第章昶 入赵入吴入梅入程入王入王 输号5曹6输号O输号5曾4输号1 口星 WI15星118请编:20第!28富|354、5进行选择性别性别性别性别性别性别统系计入入票票 统选 寻宜票询询 选信选查否统 美人号拿 登选选编姓出欢L Z &4.5. C:UsersSTDesktopTEST5.exe出入入票票统选出入入票票统选西香心票询询 选信选查查统 费.拿 登选选编姓出欢 L Z3.4.5.请输入1、2、3、4、5进行选择性别:女性别:女O 18名 .姓号O编18:人号14 选编52 1 . 人人数 鞭票 3请候选出人入票票统选堂皙心票询询 选信选查查统 夫人号拿 登选选编姓出 迎欢 L Z3.4.5.请输入1、2、3、4、5进行选择请输入侯选人的编号:284候选人的编号:284姓名:赵清艳 年龄:21性别:女选票数:5214欢 L Z3.4.5.入票票 统选 ,菅心票询询 选信选查查统 费人号 登选选编姓出请输入1、2、3、4、5进行选择
限制150内