大连交通大学软件学院C语言课程设计报告SOFTWAREINSTITUTEOFDALIANJIAOTONGUNIVERSITYEXPERIMENTDESIGNINGC语言课程设计报告ExperimentDesigningreporter课程名称:C语言课程设计英文名称:CProgramExperimentDesigning专业:交通工程+软件工程08-2学号:0818080210姓名:王琛指导教师:邱占芝日期:2009年6月8日至2009年6月19日大连交通大学软件学院大连交通大学软件学院C语言课程设计报告SOFTWAREINSTITUTEOFDALIANJIAOTONGUNIVERSITYEXPERIMENTDESIGNING《C语言课程设计》报告CProgramExperimentDesigning课程编号:01200308005学时:40学时适用专业:软件工程专业授课单位:软件学院一、C语言课程设计目的及要求目的:根据课堂讲授内容,学生做相应的自主练习,消化课堂所讲解的内容;通过调试典型例题或习题积累调试C程序的经验;通过完成辅导教材中的编程题,逐渐培养学生的编程能力、用计算机解决实际问题的能力。要求:1.熟悉TurboC的编程环境、主要菜单功能。2.通过上机验证运算符、表达式、运算规则、函数使用。3.熟练使用C语言的典型语句编写简单程序。4.调试典型例题或习题。5.提高上机编程能力二、实验类型设计类型三、实验学时40学时四、实验设备微型计算机、WINDOWS98以上版本的操作系统、TurboC2.0软件一套五、C语言课程参考教材:1.C语言程序设计清华大学出版社李瑞等主编2.谭浩强.C语言程序设计(第三版).北京:高等教育出版社,2002大连交通大学软件学院C语言课程设计报告SOFTWAREINSTITUTEOFDALIANJIAOTONGUNIVERSITYEXPERIMENTDESIGNING课程设计(报告)任务书任务及要求:1.设计(研究)内容和要求研究内容:任务和要求:(1).学习C语言基础知识,掌握C语言编程和程序调试的基本技能。(2).对指导教师下达的题目进行系统分析。(3).根据分析结果完成系统设计。(4).编程:在计算机上实现题目的代码实现。(5).完成对该系统的测试和调试。(6).提交课程设计报告。(7).指标:要求完成课程设计报告3千字以上(约二、三十页).完成若干综合性程序设计题目,每个综合设计题目的语句行数的和在300行语句以上.2.原始依据了解C语言的基础知识,有一定的语言编程基础,能够熟练运用C语言进行程序设计。通过用C语言完成的题目,提高用C语言解决实际问题的能力。3.参考文献[1]黄明等.C语言程序设计辅导教材.大连理工大学出版社,2006[2]李瑞等.C语言程序设计.清华大学出版社,2008[3]谭浩强.C语言程序设计(第二版).北京:高等教育出版社,20022009年6月8日大连交通大学软件学院C语言课程设计报告SOFTWAREINSTITUTEOFDALIANJIAOTONGUNIVERSITYEXPERIMENTDESIGNING1目录C语言课程设计报告........................................................1要求:................................................................2[1]黄明等.C语言程序设计辅导教材.大连理工大学出版社,2006.................31投票选举............................................................11.1设计说明......................................................11.2程序运行截图..................................................11.3源程序代码....................................................22输出学生成绩........................................................32.1功能说明......................................................32.2设计说明......................................................32.3程序运行截图..................................................32.4源程序代码....................................................43输出成绩列表........................................................43.1功能说明......................................................43.2设计说明......................................................43.3程序运行截图..................................................53.4源程序代码....................................................64贪食蛇..............................................................74.1需求分析......................................................74.2总体设计......................................................84.3详细设计与实现................................................94.4程序运行截图.................................................114.5参考程序.....................................................131投票选举1.1设计说明(1).设计一个结构体变量存放候选人(包括:姓名、所得票数)(2).通过循环语句的嵌套,完成对候选人的投票及候选人票数的增加(3)输出候选人及其得票数。1.2程序运行截图大连交通大学软件学院C语言课程设计报告SOFTWAREINSTITUTEOFDALIANJIAOTONGUNIVERSITYEXPERIMENTDESIGNING2(将程序执行图,粘贴在此)1.3源程序代码#includestring.hstructperson{charname[20];intcount;}leader[5]={liang,0,wei,0,long,0,chen,0,chao,0};main(){inti,j;charselect[20];for(i=0;i=15;i++){printf(%d\tPleaseinputyourresult:,i+1);scanf(%s,select);for(j=0;j5;j++)if(strcmp(leader[j].name,select)==0)leader[j].count++;}printf(Theresult\n);for(j=0;j5;j++)printf(%s\t%d\n,leader[j].name,leader[j].count);getch();大连交通大学软件学院C语言课程设计报告SOFTWAREINSTITUTEOFDALIANJIAOTONGUNIVERSITYEXPERIMENTDESIGNING32输出学生成绩2.1功能说明输出学生的平均成绩,总成绩。2.2设计说明(1)定义结构体存放学生的姓名、年龄,成绩。(2)从键盘输入5门课成绩,使用循环语句。(3)输出该学生的成绩,平均值,总分。2.3程序运行截图(将程序执行图,粘贴在此)大连交通大学软件学院C语言课程设计报告SOFTWAREINSTITUTEOFDALIANJIAOTONGUNIVERSITYEXPERIMENTDESIGNING42.4源程序代码main(){structstudent{charname[10];intage;floatscore[5],ave,total;}stu;inti;stu.ave=0,stu.total=0;clrscr();printf(pleaseinputstu'snameandageandscore:);scanf(%s%d,&stu.name,&stu.age);for(i=0;i5;i++){scanf(%f,&stu.score[i]);stu.ave+=stu.score[i]/5.0;}printf(theresultis\n);printf(%s%4d\n,stu.name,stu.age);for(i=0;i5;i++)printf(%7.1f,stu.score[i]);printf(average=%7.1f\n,stu.ave);for(i=0;i5;i++)stu.total+=stu.score[i];printf(total=%f\n,stu.total);3输出成绩列表3.1功能说明打印5个学生4门课成绩列表。3.2设计说明(1)定义main函数并实现对各个子函数的引用,同时定义结构体数组包含:学号、姓大连交通大学软件学院C语言课程设计报告SOFTWAREINSTITUTEOFDALIANJIAOTONGUNIVERSITYEXPERIMENTDESIGNING5名、性别、各分数、总成绩。总成绩初始值为0.(2)子函数中sum用于计算总成绩;子函数sort根据总成绩进行由大到小的排序,采用选择排序法;子函数print输出成绩列表。(3)三个子函数都采用结构指针作为参数,函数调用时,形参指针都指向主函数结构数组的地0个元素。3.3程序运行截图大连交通大学软件学院C语言课程设计报告SOFTWAREINSTITUTEOFDALIANJIAOTONGUNIVERSITYEXPERIMENTDESIGNING63.4源程序代码#includestdio.hstructstudent{intnum;charname[20];charsex;floats[4];floatsum;};voidmain(){voidsum(structstudent*,int);voidsort(structstudent*,int);voidprint(structstudent*,int);structstudenta[8]={1,wangli,'f',66.,76.,83.,61.,0.,2,wanglin,'m',69.,74.,63.,91.,0.,3,liuhua,'m',86.,76.,93.,68.,0.,4,zhangjun,'m',66.,66.,83.,61.,0.,5,xuhua,'f',65.,76.,93.,68.,0.,6,yangmi,'f',95.,96.,93.,98.,0.,7,haolin,'m',85.,56.,93.,88.,0.,8,xuxing,'f',95.,70.,93.,84.,0.,};clrscr();sum(a,8);sort(a,8);print(a,8);}voidsum(structstudent*p,intn){inti,j;floatd;for(i=0;in;i++){d=0.0;for(j=0