江苏开放大学程序设计基础△第五单元形成性考核作业.docx
江苏开放大学形成性考核作业学号:姓名:课程代码:060241课程名称:程序设计基础评阅教师:第次任务共3次任务060241程序设计基础第五单元 形成性考核作业作业说明:1 .做作业之前首先在封面填上自己的学号和姓名,做完作业后请写上作业完成时间。2 .学习完第五单元后必须完本钱次作业,并请在规定时间内通过学习平台提交Word文档形 式的电子作业,本次作业占形成性考核总成绩的40%。作业内容:根据“学生信息管理系统”程序,编写一个“候选人选票统计系统”的程序,要求综合运用结 构体、函数和前面所学的循环结构、输入输出、选择结构等知识技能,能够进行多名候选人简 单信息的录入,选票数的录入,能够根据候选人姓名或者编号查询输出选票情况。作业要求:(1)程序的主要设计思路,以文字或图表的形式描述比方候选人信息包括哪些,选票如何 存储等程序设计细节;(2)程序的源代码以及对源代码必要的行注释;(3)请把程序运行结果截图贴在本次作业中;(4)以上内容请在本文档中完成,并将本文档提交至学习平台,作为本课程第三次作业。作业回答区:答:(1)定义一个结构体struct A,用于存放候选人编号,候选人名字,候选人性别,候选人 票数。把输入的候选人信息存放到定义的hxr20中,不多于10个人。把输入的选民的人数存 放到定义的jn中,不多于50个选民。通过计算,把最终的各候选人票数的和放到hxr20的score 中。提示用户对各个候选人的得票数进行查询。(2)程序的源代码如下所示:#include <stdio.h>#include ustring.hn#include nstdlib.hnstruct A定义结构体(int sid,age,score;char name10,sex;);060241程序设计基础第五单元形成性考核作业char t20;int ij,k,hxjn,f=l;主函数int main(void)struct A hxr10;inputs(hxr); 引用子函数 信息输入* 投票 *for(j=0;j<jn;j+)(hxrj.score=0;for(j=0;j<jn;j+)(printf(“请第2d位选民输入候选人编号:nj+l);scanf(n%dn,&k);if(k<=hx)hxrk-l.score+;elseprintf(n第2d位选民投票无效n=+l);)*输出及查询*printf(nn编号 姓名 年龄 票数nn");输出信息for (i=0 ;i<hx ;i+)prmtf(H%3d%5s%5d%5dnn,hxri.sid,hxri.iiame,hxri.age,hxri.score);060241程序设计基础第五单元形成性考核作业do(printf("请输入“编号”或“名字” .n”);以下按序号或姓名查询 scanf(n%su,t);for(i=0;i<hx;i+)if(hxri.sid=atoi(t) | strcmp(t,hxri.name)=O)(printf(Hn编号姓名年龄 票数nnn);printf(M%3d%5s%5d%5dn,hxri.sid,hxri.name,hxri.age,hxri.score); break;)if(i>(hx-l) 未查到提示printf("没有找到 V%s,的信息! ! nu,t);printfC退出请按0n继续请按ln”); 查询是否结束scanf(n%du,&f);while(f);return 0;*子函数信息输入*int inputs(struct A hxr10)(printf("请输入“候选人”和“选民”数量?n“);if(scanf(H%d%dH,&hx,&jn)!=2 | hx<l | jn<5 | hx>10 | jn>50)输入候选人和选民人数 printf("提示:候选人限10,选民限50 ,退出n");输入错误那么退出return 0;printf(MInput the informations.、!”);/以下输入候选人信息printf编号姓名性别年龄”);060241程序设计基础第五单元形成性考核作业printf(Mnnn);for(i=0;i<hx;i+)|printf(n %3d n,hxri.sid=i+l);scanf(n%s %c %dn,hxri.name,&hxrij.sex,&hxri.age);(3)程序运行结果如下列图所示:'选择-C:UsersAdministratorDesktopi青单110c.- X|请输入“候选人”和“选民”数量? 46Input the informations.编号姓名年龄票数aa221bb331cc4424dd551第5位选民投票无效编号姓名性别年龄请第6位选民输入候选人编号:31aa f 222bb f 333cc f 444dd m 551位选民输入1候选人编号:12位选民输入候选人编号:23位选民输入候选人编号:34位选民输入候选人编号:45位选民输入候选人编号:5060241程序设计基础第五单元形成性考核作业请输入“编号”或“名字”. 3编号姓名年龄票数3 cc 442退出请按0继续请按11请输入“编号”或“名字”.2编号姓名年龄票数2 bb 331退出请按0继续请按11i青输入“编号”或“名字bb编号姓名年龄票数2 bb 331退出请按0继续请按11请输入“编号”或“名字”.aa编号姓名年龄票数1 aa 221退出请按0继续请按10Press any key to continue.作业完成时间: 年 月日评阅意见:060241程序设计基础第五单元形成性考核作业评阅得分:评阅教师:评阅时间:年 月曰