logo资料库

运动会比赛计分系统(C语言版).doc

第1页 / 共13页
第2页 / 共13页
第3页 / 共13页
第4页 / 共13页
第5页 / 共13页
第6页 / 共13页
第7页 / 共13页
第8页 / 共13页
资料共13页,剩余部分请下载后查看
沈阳化工大学 计算机科学与技术系 课程设计任务书 课 程 C 语言课程设计 课 程 设 计 名 称 运动会比赛计分系统 专 业 班 级 指 导 教 师 20 11 年 6 月
一、 课程设计目的 将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数 据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的 程度。通过课程设计,学生在下述各方面的能力应该得到锻炼: (1)进一步巩固、加深学生所学专业课程《C 语言教程》的基本理论知识,理论 联系实际,进一步培养学生综合分析问题,解决问题的能力。 (2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生 素质的最终目的。 (3)利用所学知识,开发小型应用系统,掌握运用 C 语言编写调试应用系统程序, 训练独立开发应用系统,进行数据处理的综合能力。 (4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。 (5)掌握自顶而下的设计方法,将大问题进行模块化,领会结构化程序设计的方 法。 (6)熟练掌握 C 语言的基本语法,灵活运用各种数据类型。 (7)进一步掌握在集成环境下如何调试程序(单步调试,设置断点、观察表达式, 分块调试)和修改程序。 二、 课程设计名称及内容 课程设计名称:运动会比赛计分系统 设计内容:设计一个运动会比赛计分系统,该系统要求对运动会比赛得分进行管 理和维护。 三、 任务和要求 要求:初始化输入:N-参赛学校总数,M-男子竞赛项目数,W-女子竞赛项目数 各项目名次取法有如下几种: (1) 取前 5 名:第一名得分 7 分,第二名得分 5,第三名得分 3,第四名得分 2, 第五名得分 1; (2) 取前 3 名:第一名得分 5,第二名得分 3,第三名得分 2; (3) 用户自定义:各名次权值由用户指定。 四、 设计方案提示 2
(1)界面 系统以菜单方式工作 (2)输入数据并存入文件 使用到结构体变量和动态链表,由程序提醒用户填写比赛结果,输入各项目获奖 运动员信息。对输入的信息进行合法性判断,直到输入正确为止。都输入完成后,调 用写文件函数对指定的文件进行写操作,把输入的信息写入到文件中。 (3)显示所有记录 将文件中的所有记录以表格的形式输出。如果文件未打开会出现“文件打开失败! 按任意键返回...”,关闭文件。 (4) 查询 所有信息记录完毕后,用户可以查询各个学校的比赛成绩,生成团体总分报表, 查看参赛学校信息和比赛项目信息等。 五、 总体设计 运动会计 分系统 录入学员 显示学员 成绩排 添加学员 删除学员 退出 信息 信息 序 信息 信息 选前 3 名 六、 源代码 #include #include #include 3
#include #define MAX 50 void input(); void sort(); void display(); void insert(); void del(); void average(); int now_no=0; struct student { int no; char name[20]; char sex[4]; float score1; float score2; float score3; float sort; float ave; float sum; }; struct student stu[MAX],*p; 4
void main()//主函数 { char as; start: printf("\t\t\t 欢迎使用学生成绩管理系统\n\n"); //一下为功能选择模块 do{ printf("\n\t\t\t\t1. 录 入 学 员 信 息 \n\t\t\t\t2. 显 示 学 员 信 息 \n\t\t\t\t3.成绩排序信息\n\t\t\t\t4.添加学员信息\n\t\t\t\t5.删 除学员信息\n\t\t\t\t6.退出\n"); printf("\t\t\t\t 选择功能选项:"); as=getch(); switch(as) { case '1': system("cls"); input(); break; case '2': system("cls"); display(); break; case '3': 5
system("cls"); sort(); break; case '4': system("cls"); insert(); break; case '5': system("cls"); del(); break; case '6': system("exit"); exit(0); default: system("cls"); goto start; } }while(1); //至此功能选择结束 } void input()//原始数据录入模块 6
{ int i=0; char ch; do { printf("\t\t\t\t1.录入学员信息\n 输入第%d 个学员的信息\n",i+1); printf("\n 输入学生编号:"); scanf("%d",&stu[i].no); fflush(stdin); printf("\n 输入学员姓名:"); fflush(stdin); gets(stu[i].name); printf("\n 输入学员性别:"); fflush(stdin); gets(stu[i].sex); printf("\n 输入学员成绩:"); fflush(stdin); scanf("%f",&stu[i].score1); printf("\n 输入学员成绩:"); fflush(stdin); scanf("%f",&stu[i].score2); printf("\n 输入学员成绩:"); 7
fflush(stdin); scanf("%f",&stu[i].score3); printf("\n\n"); i++; now_no=i; printf("%d",now_no); printf("是否继续输入?(Y/N)"); ch=getch(); system("cls"); } while(ch!='n'); system("cls"); } void sort()//排序数据函数 { struct student temp; int i,j; for(i=1;i
分享到:
收藏