运动会计分系统 - 课程设计(4)
(二)调试过程中出现的问题和处理方式
为了使系统具有一点的容错性,当输入错误信息时应给出相应提示以正确输入数据,如:printf(\要查询的项目编号:\
scanf(\if(s>m+w||s==0)
printf(\此次运动会不包括这个项目.\\n\\n\\n\
想在每次查询结束想返回主菜单进行其它项时,应在main( )函数中调用其它函数时再调用main( )函数,如: switch(choice)
{ case 1:
inputinformation();writedata();readdata();main();
case 2:
output();main();
case 3:
inquiry();main();
case 4:
readdata();main();
程序出现语法错误,发现是输入名次信息的地方忘带地址符&,或是程序不完整,只写了一个大括号。如:
printf(\名次:\
scanf(\
五 课程设计总结
经过几个星期的奋战,终于完成了课程设计,感觉又进一步了解了这门课程,各个知识点都加强了我似乎突然找到了方向,认真的学习这门课。
回顾这次课程设计,使我感慨颇多。的确,从理论到实践,在整整两星期的日子里,学到很多很多的的东西,同时不仅可以巩固学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,从而提高自己的实际动手编程能力和独立思考的能力。运动会计分系统,比较复杂,经过很长时间的书写,总算尝到了胜利的“滋味”
在细节的认识上,我们在开发程序的时候,在之前就要知道自己想要的效果,然后把需要实现的功能在纸上列出来,然后比如要用几个函数来实现几个功能,整体需要几个模块来搭建,这些工作都是要在未动工之前就得做好的准备工作,编程要的是有整体的思想加细心。这次的课程设计收获颇多,最大的认识到了要想高效设计出想要的东西不仅要熟悉的掌握所学知识,还要学会充分利用现有资源。在这之前,总以为自己编程方面还很差,现在才觉得,只要努力了,就会有收获,就会得到回报。
附录:(源程序)
(一)。运动会计分系统
#include
//#include
int school; /*学校编号*/ int record; /*项目成绩*/
struct node1 *next; /*链域*/ }Schools; typedef struct {
int item; /*项目编号*/
Schools *firstschool; /*链域指向链表中第一个结点*/ }ITEM; typedef struct {
int z; /* 项目总数 */ ITEM a[MAX]; }ALLitems;
typedef struct node2 {
int item; /*该学校获奖的项目*/ int record; /*项目成绩*/
struct node2 *next; /*链域*/ }Items;
typedef struct {
int school; /*学校编号*/ int score; /*学校总分*/ int boys; /*男团体总分*/ int girls; /*女团体总分*/
Items *firstitem; /*链域指向链表中第一个获奖项目的结点*/ }SCHNode;
typedef struct {
int n; /* 学校总数 */ SCHNode b[MAX]; }ALLNode;
ALLitems *g1; ALLNode *g2;
void funct1(ALLitems *g1,ALLNode *g2) { Schools *p1; Items *p2;
int i,j,k,m,w,h,x;
p1=(Schools *)malloc(sizeof(Schools)); p2=(Items *)malloc(sizeof(Items)); if(!p1||!p2) exit(1);
printf(\ ******输入各个项目信息\\n\\n\
printf(\ 输入男子项目总数m:\ scanf(\ if(m<0||m>20)
{ printf(\ 输入有误,m是20以内的整数,请重新输入:\ scanf(\ }
printf(\ 输入女子项目总数w:\ scanf(\ if(w<0||w>20)
{ printf(\ 输入有误,w是20以内的整数,请重新输入:\ scanf(\ }
printf(\ 输入参加运动会的学校总数n:\ scanf(\ if(g2->n<0||g2->n>20)
{ printf(\ 输入有误,n是20以内的整数,请重新输入:\ scanf(\ }
g1->z=m+w;
printf(\ 则项目编号为男子1-%d,女子%d-%d\ printf(\ ****记录运动会成绩****\ printf(\ (输入0标志结束)\\n\ for(k=1;k<=g1->z;k++) { g1->a[k].item=k;
g1->a[k].firstschool=NULL; }
****** for(k=1;k<=g2->n;k++) { g2->b[k].school=k; g2->b[k].firstitem=0; g2->b[k].score=0; g2->b[k].boys=0; g2->b[k].girls=0;
} g2->b[0].score=0; g2->b[0].boys=0; g2->b[0].girls=0; while(i!=0)
{ printf(\ 项目:\ scanf(\ if(i!=0)
{ printf(\ 1.前三名 2.前五名\\n\ printf(\ 请选择:\ scanf(\ if(j!=1&&j!=2)
{ printf(\ 输入有误,请重新选择:\ scanf(\ }
if(j==1) { h=3;
do{ printf(\ 第%d名:学校(学校编号为数字)\ scanf(\
p1=(Schools *)malloc(sizeof(Schools)); p1->school=x; p2=(Items *)malloc(sizeof(Items)); p2->item=i;
if(h==3) p2->record=p1->record=2; if(h==2) p2->record=p1->record=3; if(h==1) p2->record=p1->record=5; p1->next=g1->a[i].firstschool; g1->a[i].firstschool=p1;
p2->next=g2->b[x].firstitem; g2->b[x].firstitem=p2;
g2->b[x].score=g2->b[x].score+p2->record; /* 累计总分 */
if(i<=m) g2->b[x].boys=g2->b[x].boys+p2->record; /* 累计男团体总分 */ else g2->b[x].girls=g2->b[x].girls+p2->record; /* 累计女团体总分 */ h--; …… 此处隐藏:595字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [建筑文档]2018年公需课:专业技术人员创新能力与
- [建筑文档]2013年福建教师招考小学数学历年真题
- [建筑文档]高中信息技术课flash知识点总结 - 图文
- [建筑文档]电工实训 - 图文
- [建筑文档]最高院公告案例分析100篇(民商篇)
- [建筑文档]南开中学高2017级14-15学年(上)期末
- [建筑文档]五粮液集团战略分析
- [建筑文档]鲁教版(2012秋季版)九年级化学 酸碱
- [建筑文档]超星尔雅2017中国哲学概论自整理题库答
- [建筑文档]关于成为海口金盘饮料公司材料独家供货
- [建筑文档]LNG学习资料第一册 基础知识 - 图文
- [建筑文档]四年级品社下册《好大一个家》复习资料
- [建筑文档]现阶段领导权力腐败的特点及发展趋势
- [建筑文档]魏晋南北朝诗歌鉴赏—嵇康
- [建筑文档]坚持追求真爱是理智的行为 正方一辩稿
- [建筑文档]湘西州刑释解教人员帮教安置工作存在的
- [建筑文档]园林工程试题库及答案
- [建筑文档]计算机长期没有向WSUS报告状态
- [建筑文档]日语最新流行语
- [建筑文档]B62-016 景观进场交底专题会议
- 2018年中考语文课内外古诗词鉴赏专题复
- 高考试题研究心得体会
- C语言基础题及答案
- 电气控制及PLC习题及答案
- 都昌小学家长学校汇报材料
- GMAT作文模板正确使用方法
- 俄军办坦克大赛:中国99式有望与豹2A6
- 成本会计练习题
- 酒店餐饮业最流行的5S管理方法
- 2014-2015学年山东省菏泽市高二(下)
- 《黄鹤楼送孟浩然之广陵》教案、说课、
- 2013年结构化学自测题 有答案版
- 2011西安世界园艺博览会游览解说词(附
- 窗口文明单位示范单位创建活动总结
- 2018满分超星尔雅就业课后练习期末答案
- 韶山市城市总体规划-基础资料
- 苏教版第三单元知识点归纳
- 第4章 曲轴模态分析
- 加大查办案件力度的思考
- 武汉CPC导轨介绍




