学号1506410122课程设计任务书课程设计名称C语言课程设计(2016年春季学期)学院信息与控制工程学院专业计算机科学与技术班级计算机1501姓名郑璐指导教师王永会2016年2月27日一、设计要求与设计报告1、设计要求(1)任意选定以下一个题目完成(每题最多三人)(2)模块化程序设计(3)锯齿型程序书写格式(4)必须上机调试通过2、设计报告格式(1)设计目的(2)总体设计(程序设计组成框图、流程图)(3)详细设计(模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描述等)(4)调试与测试:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施(5)源程序清单和执行结果:清单中应有足够的注释二、检查要求(1)每个人必须有程序运行结果(2)每个人必须交《C语言课程设计报告》和设计程序清单(3)课程设计任务必须由个人独立完成,禁止相互抄袭,如有发现,严肃处理三、评分标准(1)根据平时上机考勤;注重平时上机成绩,教师要不定期检查学生进度,学生不得以自己有私人电脑为借口而不来上机(2)根据程序运行结果(3)根据《C语言课程设计报告》,学生能对自己的程序面对教师提问并能熟练地解释清楚,以上三项缺一不可(4)由于课程设计各题目的难度不一,所以成绩的评定将根据各人完成题目的难度和完成情况的不同,分别评定成绩,如未能完成任何题目,则以不及格计算四、提交时间课程设计任务完成时间为第1周结束,届时上交课程设计报告和程序。五、设计题目题目01:年历显示。设计一个年历显示的程序,具备可根据要求显示对应年历信息的功能。功能要求:(1)输入一个年份,输出是在屏幕上显示该年的日历。假定输入的年份在1940-2040年之间。(2)输入年月,输出该月的日历。(3)输入年月日,输出距今天还有多少天,星期几,是否是公历节日。题目02:小学生测验面向小学1~2年级学生,随机选择两个整数和加减法形成算式要求学生解答。功能要求:(1)电脑随机出10道题,每题10分,程序结束时显示学生得分;(2)确保算式没有超出1~2年级的水平,只允许进行50以内的加减法,不允许两数之和或之差超出0~50的范围,负数更是不允许的;(3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案;(4)对于每道题,学生第一次输入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,否则不得分;(5)总成绩90以上显示“SMART”,80-90显示“GOOD”,70-80显示“OK”,60-70显示“PASS”,60以下“TRYAGAIN”。题目03:运动会比赛计分系统要求:初始化输入:N-参赛学校总数,M-男子竞赛项目数,W-女子竞赛项目数各项目名次取法有如下几种:取前5名:第一名得分7分,第二名得分5,第三名得分3,第四名得分2,第五名得分1;取前3名:第一名得分5,第二名得分3,第三名得分2;功能要求:(1)系统以菜单方式工作(2)由程序提醒用户填写比赛结果,输入各项目获奖运动员信息。(3)所有信息记录完毕后,用户可以查询各个学校的比赛成绩(4)查看参赛学校信息和比赛项目信息等。题目04:学生学籍管理系统用数据文件存放学生的学籍,可对学生学籍进行注册,登录,修改,删除,查找,统计,学籍变化等操作。功能要求:(1)系统以菜单方式工作。(2)登记学生的学号,姓名,性别,年龄,籍贯,系别,专业,班级;修改已知学号的学生信息;(3)删除已知学号的学生信息;(4)查找已知学号的学生信息;(5)按学号,专业输出学生籍贯表。(6)查询学生学籍变化,比如入学,转专业,退学,降级,休学,毕业。题目05:排班系统学校实验楼有7名保安人员:钱、赵、孙、李、周、吴、陈。由于工作需要进行轮休制度,一星期中每人休息一天。预先让每一个人选择自己认为合适的休息日。请编制程序,打印轮休的所有可能方案。当然使每个人都满意,例如每人选择的休息日如下:钱:星期一、星期六赵:星期二、星期四孙:星期三、星期日李:星期五周:星期一、星期四、星期六吴:星期二、星期五陈:星期三、星期六、星期日运行结果:Solution:1赵钱孙李周吴陈=============================================================星期四星期一星期三星期五星期六星期二星期日Solution:2赵钱孙李周吴陈=============================================================星期四星期一星期日星期五星期六星期二星期三Solution:3赵钱孙李周吴陈=============================================================星期四星期六星期三星期五星期一星期二星期日Solution:4赵钱孙李周吴陈=============================================================星期四星期六星期日星期五星期一星期二星期三题目06:通讯录程序设计设计一个实用的小型通讯录程序,具有添加,查询和删除功能。由姓名,籍贯,电话号码1,电话号码2,电子邮箱组成,姓名可以由字符和数字混合编码。电话号码可由字符和数字组成。功能要求:(1)系统以菜单方式工作;(2)信息录入功能;(3)信息浏览功能;(4)信息查询功能;(5)信息修改功能;(6)系统退出功能。题目07:学生选课系统假定有n门课程,每门课程有课程编号,课程名称,课程性质,学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于15)自由选课。试设计一个选修课程系统,使之能提供以下功能:功能要求:(1)系统以菜单方式工作;(2)课程信息和学生选课信息录入功能(课程信息用文件保存);(3)课程信息浏览功能;(4)查询功能;(5)按学分查询;(6)某门课程学生选修情况(可选项)。题目08:机房收费管理系统(1)输入功能:输入30名学生的学号、班级、姓名、上机起始时间。(2)计算功能:计算每个下机学生的上机费用,每小时1元。(上机费用=上机时间*1.0/h,不足一小时按一小时计算)(3)查询功能:按条件(班级、学号、姓名)显示学生的上机时间。(4)机器使用情况的显示(显示方式不限但要一目了然)题目09:班级成绩管理系统对一个有N个学生的班级,每个学生有M门课程。该系统实现对班级成绩的录入、显示、修改、排序、保存等操作的管理。功能要求:(1)本系统采用一个结构体数组,每个数据的结构应当包括:学号、姓名、M门课程名称。(2)本系统显示这样的菜单:请选择系统功能项:a、成绩录入b、成绩显示c、成绩保存d、成绩排序e、成绩修改(要求先输入密码)f、成绩统计1)显示每门课程成绩最高的学生的基本信息2)显示每门课程的平均成绩3)显示超过某门课程平均成绩的学生人数g、退出系统(3)执行一个具体的功能之后,程序将重新显示菜单。(4)将学生成绩保存到文件中。题目10:机房机位预定系统20台机器,编号1到20,从早八点到晚八点。两小时一个时间段,每次可预定一个时间段。功能要求:(1)系统以菜单方式工作(2)查询,根据输入时间,输出机位信息。(3)机位预定,根据输入的时间查询是否有空机位,若有则预约,若无则提供最近的时间段,另:若用户在非空时间上机,则将用户信息列入等待列表。(4)退出预定,根据输入的时间,机器号撤销该事件的预定!(5)查询是否有等待信息,若有则提供最优解决方案(等待时间尽量短),若无则显示提示信息。题目11:班级档案管理系统对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。功能要求:(1)本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:学号、姓名、性别、年龄、备注。(2)本系统显示这样的菜单:请选择系统功能项:a学生基本信息录入b学生基本信息显示c学生基本信息保存d学生基本信息删除e学生基本信息修改(要求先输入密码)f学生基本信息查询(1)按学号查询(2)按姓名查询(3)按性别查询(4)按年龄查询g.退出系统(3)执行一个具体的功能之后,程序将重新显示菜单。(4)将学生基本信息保存到文件中。(5)进入系统之前要先输入密码。题目12:职工工资管理系统功能设计要求1.输入记录:将每一个职工的姓名、ID号以及基本工资、职务工资、岗位津贴、医疗保险、公积金的数据作为一个记录。该软件能建立一个新的数据文件或给已建立好的数据文件增加记录。2.显示记录:根据用户提供的记录或者根据职工姓名显示一个或几个职工的各项工资和平均工资。3.修改记录:可以对数据文件的任意记录的数据进行修改并在修改前后对记录内容进行显示。4.查找记录:可以对数据文件的任意记录的数据进行查找并在查找前后对记录内容进行显示。5.删除记录:可删除数据文件中的任一记录。6.统计:(A)计算各项工资平均工资及总工资,(B)统计符合指定条件(如职工工资前三项之和在3000元以上、3000~2000元、2000~1000元)以内的工资职工人数及占总职工人数的百分比。(C)按字符表格形式打印全部职工工资信息表及平均工资(包括各项总的平均工资)。7.保存数据文件功能。例如:职工工资信息表ID号姓名基本工资职务工资津贴医疗保险-公积金-总工资01张望1286794198109135203402李明118562813594114174003王小民895438986473129404张效章1350868210116150216205彭山7453988461681098各项平均工资1092.2625.214588.8108题目13:工资纳税系统个人所得税每月交一次,底线是1600元/月,也就是超过了1600元的月薪才开始计收个人所得税。个人所得税税率表一(工资、薪金所得适用)级数----------全月应纳税所得额----------税率(%)1--------------不超过500元的--------------------------52----------超过500元至2000元的部分------------103----------超过2000元至5000元的部分----------154----------超过5000元至20000元的部分---------205----------超过20000元至40000元的部分-------256----------超过40000元至60000元的部分-------307----------超过60000元至80000元的部分-------358----------超过80000元至100000元的部分------409----------超过100000元的部分---------------------45表中的应纳税所得额是指以每月收入额减除1600元后的余额。例如:计算为:2500-1600=900应纳个人所得税额=500×5%+400×10%=65再比如:我们用一个大额工资计算,25000元应纳税所得额=25000-1600=23400应纳个人所得税税额=500×5%+1500×10%+3000×15%+15000×20%+3400×25%=4475要求:输入工资计算出纳税金额。题目14:歌手比赛系统对一次歌手比赛的成绩进行管理,功能要求:1、输入每个选手的数据包括编号、姓名、十个评委的成绩,根据输入计算出总成绩和平均成绩(去掉最高分,去掉最低分)。2、显示主菜单如下:1)输入选手数据2)评委打分3)成绩排序(按平均分)4)数据查询5)追加学生数据6)写入数据文件7)退出系统。题目15:用英文单词模拟数学计算读入两个小于100的正整数A和B,计算A+B。需要注意的是:A和B的每一位数字由对应的英文单词给出。具体的输入输出格式规定如下:输入格式:测试输入包含若干测试用例,每个测试用例占一行,格式为A+B=,相邻两字符串有一个空格间