您好,欢迎访问三七文档
精品文档随意编辑昆明理工大学《C程序设计基础》课程综合设计实践教学课题报告组长:学号***姓名***组员:学号***姓名***学号***姓名***学号***姓名***学号***姓名***学号***姓名**联系人及联系电话:***************学院:理学院专业班级:电信111指导教师:***昆明理工大学计算中心2012年5月30日精品文档随意编辑昆明理工大学计算中心《程序设计基础》课程综合设计实践教学课题考核表课题名称:学生成绩管理系统学院:理学院专业班级:电信111学号姓名小组编号题号承担及完成的内容成绩备注小组自评教师评定201111102129***显示函数与信息删除函数设计201111102127**main()函数与数据结构设计201111102121***信息录入函数与排序函数设计201111102111***查询函数设计201111102115***插入函数设计201111102106****按学号排序函数与按总分排序函数设计题目及要求学生成绩管理系统用C语言编程实现学生成绩的录入、查询、添加、排序、删除等功能。精品文档随意编辑教师评语教师签名:***2012年6月10日《C程序设计》课程综合设计实践教学课题报告1、系统概述本学生成绩管理系统主要解决学生成绩的录入、查询、添加、排序、删除等问题。主要通过建立链表、插入结点、删除链表中的结点、输出链表、定义函数等方式实现预期的功能。2、数据结构设计#includestdio.h#includestdlib.h#includemalloc.h#defineLENsizeof(Student)#defineNULL0typedefstructstudent{intnum;/*定义变量:学号*/charname[20];/*定义变量:姓名*/charsex[2];/*定义变量:性别*/精品文档随意编辑intscore[3];/*定义变量:成绩*/intsum;/*定义变量:总成绩*/structstudent*next;}Student;intn;/*定义全局变量*/Student*cin(void);/*函数声明:信息录入函数*/Student*sort_1(Student*head,int);/*函数声明:按学号排序函数*/voidsort_2(Student*head);/*函数声明:按总分排序函数*/voidprint(Student*head);/*函数声明:显示函数*/Student*sort_all(Student*head);/*函数声明:排序函数*/voidfind(Student*head);/*函数声明:查询函数*/Student*add_new(Student*head);/*函数声明:插入函数*/精品文档随意编辑3、模块设计设计职责分配设计内容组员main()函数与数据结构设计***信息录入函数与排序函数***按学号排序函数与按总分排序函数***查询函数***精品文档随意编辑插入函数(**显示函数与信息删除函数***4.运行及操作说明进入系统:精品文档随意编辑精品文档随意编辑根据提示从键盘录入相关信息:精品文档随意编辑5、总结和体会源程序编辑:编译:Build:精品文档随意编辑运行:精品文档随意编辑输入:结果:精品文档随意编辑精品文档随意编辑调试中遇到的主要问题及解决办法:在程序的调试过程中,常遇到因为误删或漏写分号,或者字母大小写混乱等造成的语法错误,以及函数设计不当等造成的逻辑错误使程序编译错误。由于VC在程序编译错误时的提示信息较为冗杂且很多未能命中关键,因此,仔细逐行阅读已有代码是常用的解决问题办法,有时也以组员之间交流讨论的方式来寻求解决程序逻辑错误的方法。收获和体会:组长:本次C语言综合设计,锻炼了每一个组员的缜密思考问题并解决问题的能力,对个人的严谨行为习惯的养成有很大帮助,同时也使大家在合作中增进感情,认识到了团队合作的重要性与必要性,为今后在团队中能有更好的表现奠定了基础。组员:这次综合设计让我们有了很多提高,克服了不细心的毛病,这在我们以后精品文档随意编辑的学习和工作中有很大的帮助。编程是一项周密细致的活动,对个人的严谨思考能力有很高的要求,大家的互助合作和个人的独立思考相结合,让我们在解决设计过程中遇到的问题的同时,也提高了自己的思维缜密度,获益良多。6、程序源代码/***********************************************************************************************************/#includestdio.h#includestdlib.h#includemalloc.h#defineLENsizeof(Student)#defineNULL0typedefstructstudent{intnum;charname[20];charsex[2];intscore[3];intsum;structstudent*next;}Student;intn;精品文档随意编辑Student*cin(void);Student*sort_1(Student*head,int);voidsort_2(Student*head);voidprint(Student*head);Student*sort_all(Student*head);voidfind(Student*head);Student*add_new(Student*head);/***********************************************************************************************************/Student*cin()/*信息录入函数*/{intflag;Student*head,*p1,*p2;n=0;head=(Student*)malloc(LEN);p2=head;printf(请输入第【%d】名学生的相关信息(学号为0结束输入):\n,n+1);printf(学号:);scanf(%d,&flag);while(getchar()!='\n');for(;flag;){精品文档随意编辑n++;p1=(Student*)malloc(LEN);p1-num=flag;printf(姓名:);scanf(%s,p1-name);printf(性别:);scanf(%s,p1-sex);printf(数学成绩:);scanf(%d,&p1-score[0]);printf(英语成绩:);scanf(%d,&p1-score[1]);printf(物理成绩:);scanf(%d,&p1-score[2]);p1-sum=p1-score[0]+p1-score[1]+p1-score[2];p2-next=p1;p2=p1;printf(\n请输入第【%d】名学生的相关信息(学号为0结束输入):\n,n+1);printf(学号:);scanf(%d,&flag);}p2-next=NULL;精品文档随意编辑printf(\n\n);returnhead;}/***********************************************************************************************************/Student*sort_all(Student*head)/*排序函数*/{intchoose;for(;;){printf(\n\t\t+++++【统计排序】+++++\n);printf(\t\t|\t1.按学号排序\t|\n);printf(\t\t|\t2.按总分排序\t|\n);printf(\t\t|\t7.单科最高分及平均分|\n);printf(\t\t|\t8.当前学生成绩\t|\n);printf(\t\t|\t0.返回上一级菜单|\n);printf(\t\t++++++++++++++++\n);printf(请选择:);scanf(%d,&choose);while(getchar()!='\n');switch(choose){精品文档随意编辑case1:case2:case3:case4:case5:case6:head=sort_1(head,choose);break;case7:print(head);sort_2(head);break;case8:print(head);break;case0:returnhead;default:printf(\n\n非法值!请重新输入:\n\n);break;}}}/***********************************************************************************************************/Student*sort_1(Student*head,intchoose)/*按学号排序*/{Student*p1,*p2=head-next,*pm,*px;精品文档随意编辑Studentmid;if(!p2)returnhead;for(p1=p2;p1-next!=NULL;p1=p1-next){pm=p1;for(p2=p1-next;p2!=NULL;p2=p2-next)switch(choose){case1:if(pm-nump2-num)pm=p2;break;case2:if(pm-sump2-sum)pm=p2;break;case3:if(pm-score[0]p2-score[0])pm=p2;break;case4:if(pm-score[1]p2-score[1])pm=p2;break;case5:if(pm-score[2]p2-score[2])pm=p2;break;}if(pm!=p1){mid=*pm;精品文档随意编辑*pm=*p1;*p1=mid;px=pm-next;pm-next=p1-next;p1-next=px;}}printf(\n排序后的成绩表为:\n);print(head);returnhead;}/***********************************************************************************************************/voidsort_2(Student*head)/*按总分排序*/{Student*p=head-next;intmax_1,max_2,max_3,min_1,min_2,min_3;intmax_sum,min_sum;intsum_1=0,sum_2=0,sum_3=0;floataver_1,aver_2,aver_3,aver_sum;if(!p)return;max_1=min_1=p-score[0];max_2=min_2=p-score[1];精品文档随意编辑max_3=min_3=p-score[2];max_sum=min_sum=p-sum;for(;p;p=p-next){if(max_1p-score[0])max_1=p-score[0];elseif(min_1p-score[0])min_1=p-score[0];if(max_2p-score[1])max_2=p-score[1];elseif(min_2p-score[1])min_2=p-score[1];if(max_3p-score[2])max_3=p-score[2];elseif(min_3p-score[2])min_
本文标题:C语言综合设计报告
链接地址:https://www.777doc.com/doc-5566966 .html