嵌入式Linux C程序设计课程设计-学生成绩系统.doc
苏州市职业大学课程设计任务书课程名称:嵌入式LinuxC程序设计起讫时间:2011-12-26至2011-12-30院系:电子信息工程系班级:10电子信息技术(1)指导教师:系主任:苏州市职业大学2课程设计说明书名称嵌入式LinuxC程序设计2011年12月26日至2011年12月30日共1周院系电子信息工程系班级10电子信息技术1姓名系主任教研室主任崔志磊指导教师3一、课程设计课题利用嵌入式LinuxC程序设计课程中所学到的编程知识和编程技巧,完成具有一定难度和工作量的程序设计题目,帮助掌握编程、调试的基本技能。参考题目:课题推荐:如学生另选课题,须经指导教师同意。1、建立一个链表,每个结点包含:学号、姓名、3门考试成绩1)按学号排序;2)输入一个学生学号,输出其成绩。3)输入一个学生的信息将它插入链表中(假定链表按学号有序)。4)统计该链表中学生总成绩和平均成绩。5)找出成绩最高的学生序号和课程.6)找出不及格课程的学生序号及其各门课的全部成绩.7)求全部学生各门课程的平均分数,并输出.2、投骰子游戏:游戏者投两枚骰子,每个骰子有六面,这些面包含1,2,3,4,5,6个点。投两枚骰子之后,计算点数之和。如果第一次投时的和为7或11,则游戏者获胜。如果第一次投时的和为2,3或12,则游戏者输,庄家赢。如果第一次投时的和为4,5,6,8,9,10,则这个和成为游戏者下次投骰子获胜的点数。要想赢,就要继续投骰子,直到投到点数。如果投七次之后还没有赚到点数,则游戏者输。3、教材P239“动手练练”34、用递归方法建立一颗二叉树,至少有10个节点,每个节点都存放整数值。要求所有的左孩子都小于根节点,而所有的右孩子都大于根节点。最后以中序序列输出此树。5、一个简单计算器,从屏幕输入算式,要求能够完成一般四则运算。提示:用链表或数组6、万年历,见运行效果7、校际运动会管理系统,见运行效果问题描述:1.初始化输入:N-参赛学校总数,M-男子竞赛项目数,W-女子竞赛项目数;各项目名次取法有如下几种:取前5名:第1名得分7,第2名得分5,第3名得分3,第4名得分2,第5名得分1;取前3名:第1名得分5,第2名得分3,第3名得分2;用户自定义:各名次权值由用户指定。2.由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息。3.所有信息记录完毕后,用户可以查询各个学校的比赛成绩,生成团体总分报表,4查看参赛学校信息和比赛项目信息等。提示:程序中可能用到以下定义信息,可以写在一个.h文件里:#ifndef_MAINFILE_H_#define_MAINFILE_H_/*/#include"stdio.h"#include"stdlib.h"#defineMAXLENGTH20/*字符串最大长度*/#defineMAX_N20/*最大参赛学校数目*/#defineMAX_M30/*男子项目最大数目*/#defineMAX_W20/*女子项目最大数目*/#defineLENsizeof(Position)#ifndefNULL#defineNULL(void*)0#endif/*NULL*/typedefenum_Bool_TRUE=1,_FALSE=0Bool;typedefenum_SportType_MAN,_WOMANSportType;/*sporttype*/typedefenum_ScoreType_FIVE,_THREE,_CUSTOMScoreType;/*scoretype*/*单个学校信息描述*/typedefstruct_SchoolInfointSchoolNum;/*学校编号*/charschoolNameMAXLENGTH;/*学校名称*/SchoolInfo,*pSchoolInfo;/*全部参赛学校描述*/typedefstruct_SchoolSchoolInfoschInfoArrayMAX_N;intnTotalNmOfSch;/*参赛学校总数*/School,*pSchool;/*某一竞赛项目名次取法*/typedefstruct_ScrInfointtotal;/*取前多少名*/int*power;/*每一名次对应分值*/5ScrInfo,*pScrInfo;/*单个竞赛项目信息描述*/typedefstruct_SportInfointsportNum;/*项目编号*/charsportNameMAXLENGTH;/*项目名称*/SportTypesprtTyp;/*项目类型(男子、女子)*/ScoreTypescrTyp;/*取名次类型(前5、前3、用户自定义)*/ScrInfoscrInfo;/*名次取法纪录项*/SportInfo,*pSportInfo;/*全部竞赛项目信息描述*/typedefstruct_SportSportInfosportInfoArrayMAX_M+MAX_W;intnTotalNmOfMSprt;/*男子项目总数*/intnTotalNmOfFSprt;/*女子项目总数*/Sport,*pSport;/*比赛成绩记录*/typedefstruct_PositionintsportNum;/*竞赛项目编号*/charnameMAXLENGTH;/*获得名次的运动员姓名*/intscore;/*得分*/intschoolNum;/*所属学校编号*/struct_Position*ptrNext;Position,*pPosition;6二、课程设计要求1要求1)重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务;2)按照课程设计的题目要求,独立地完成各项任务,不允许相互抄袭;3)利用课程中所学到知识,能够作到:进行功能需求分析,设计合理的数据结构和系统框架,程序功能齐全,界面友好,能正确运行;4)按时到机房上机,不得旷课、迟到、早退及做与课程设计内容无关的事,并接受指导老师的检查;5)课题完成后必须按要求提交课程设计报告,课程设计报告要求及内容见本课程设计任务书第四点。2成绩评定1)课程设计成绩按优、良、中、及格和不及格五级评定;2)能独立完成并有一定创新功能且正确者,成绩评为优;3)凡有无故旷课或多次迟到、早退者不能评定优、良、中;4)凡未按要求或不能按时完成者,以不及格评定;5)未交课程设计报告者,以不及格评定;6)与他人雷同或抄写复制他人程序,以不及格评定;7)经课程设计答辩未达到设计要求者,以不及格评定。7三、课程设计工作量课程设计共24学时,安排见下表。内容学时明确课程设计的目的、要求和任务(由指导老师布置)1查阅资料,分析、讨论,完成选题1进行系统需求分析,设计合理的数据结构和系统框架4编写代码,进行程序调试(功能齐全,能正确运行)12进行模块联调,完成测试2完成课程设计说明书2课程设计验收2课程设计可以由12名同学合作完成一个课题。全体成员应共同完成选题,确定设计思想,进行功能模块划分,然后由组长为各成员分配任务。整个设计期间,组长负责协调工作。各小组成员明确自己的任务后,应独立完成设计、编码和调试。课题设计完成后,小组成员要理解同组其他成员设计的源程序,熟练操作本组设计,各自完成课程设计说明书。四、课程设计说明书内容为培养学生严谨的工作态度,锻炼学生编写文档的能力,要求学生完成设计任务后,应按要求提交课程设计报告。设计报告除了填写封面内容和正文部分的规定内容外,还包含如下几个方面的内容:1、需求分析:简述本课程设计要完成的任务;2、概要设计:应用程序功能详细说明;3、详细设计:主要功能模块的详细描述;4、调试报告:调试过程中出现的问题及解决方法;5、测试结果;6、用户使用说明;7、附录:程序源代码(附上有针对性的注释),参考资料。