1《程序设计基础》课程设计安排及要求附件一:《程序设计基础》课程设计登记表班级姓名学号电话题目题目描述及要求21.题目可从参考中选择,也可以自选,但要得到指导教师认可;附件二:游戏类题目:1.扑克游戏(1)21点游戏(要求:1.源文件采用多文件的工程结构2.标准的C输入输出3.功能完善,适当的注释)2.五子棋游戏要求:模块化程序设计,能实现人人对弈,能悔棋一步,并判断玩家输赢。3.中国象棋游戏要求:模块化程序设计,能实现人人对弈,能判断走棋是否合法,允许悔棋一步,并能对玩家记时。4.俄罗斯方块要求:模块化程序设计,能显示方块的堆放及消除效果,可以选难度,记分规则等。5.汉诺塔的动态演示要求:模块化程序设计,能自动移动hanoi的盘子,要求能输入塔盘的数量。6.重排九宫游戏要求:“重排九宫”,8个数字放在3*3九个格子中,余下一个格子为空。要求可以用鼠标拖动数字,并记录玩家花费的时间。7.贪食蛇游戏要求:模块化程序设计,可以选择难度,实现记分功能。8.打地鼠游戏要求:实现打地鼠的动画效果。3应用程序类题目:1.工具软件(1)简易计算器(自学数据结构“栈”部分内容)小型整数、实数、复数计算器,设计并实现一个小型计算器,包括如下功能:实现加减乘除等功能,并显示运算结果2.工具软件(2)回文判断程序(自学数据结构“栈”、“队列”相关内容)写一个栈及一个队列,实现判断一个字符串是否为回文。(要求:1.源文件采用多文件的工程结构2.数据存储采用文件形式3.标准的C输入输出4.功能完善,适当的注释,5.关于文件的内容需要自学)3.实用工具的设计与使用(1)编写一个DateTime函数:用并实现如下功能:设置日期、时间,用日/月/年,时:分:秒格式输出日期和时间,可实现日期增加、减少一天、增加一小时、减少一小时的操作,以及某一天是星期几、判断闰年,十二小时与二十四小时制转换、等操作。(要求:1.源文件采用多文件的工程结构2.数据存储采用文件形式3.标准的C输入输出4.功能完善,适当的注释,5.关于文件的内容需要自学)4.实用工具的设计与使用(2)CString函数定义一个CString函数,实现字符串的全部操作(例如strcpy、strcmp、strlen、strcat等,具体可以查Turboc2的帮助说明)。(要求:1.源文件采用多文件的工程结构2.数据存储采用文件形式3.标准的C输入输出4.功能完善,适当的注释,5.关于文件的内容需要自学)5.实用工具的设计与使用(3)多项式矩阵操作函数定义一个多项式矩阵操作函数,实现多项式矩阵的操作(赋值、+、-、*、/、转置等)。(要求:1.源文件采用多文件的工程结构2.数据存储采用文件形式3.标准的C输入输出4.功能完善,适当的注释,5.关于文件的内容需要自学)6.单词类软件(1)单词学习软件单词(中英文)录入、修改、删除管理、提供多种(至少三种,例如,给出英文选中文,给出中文写英文等)单词学习方法,对出错单词能够进行查询、统计、排序。(要求:1.源文件采用多文件的工程结构2.数据存储采用文件形式3.标准的C输入输出4.功能完善,适当的注释,5.关于文件的内容需要自学)47.单词类软件(2)查词软件单词(中英文)录入、修改、删除管理、提供模糊查询功能(中文查英文,英文查中文等)。(要求:1.源文件采用多文件的工程结构2.数据存储采用文件形式3.标准的C输入输出4.功能完善,适当的注释,5.关于文件的内容需要自学)8.单词类软件(3)打字练习统计软件能对用户(管理员、普通用户)进行管理,对用户打字进行统计并排序。(要求:1.源文件采用多文件的工程结构2.数据存储采用文件形式3.标准的C输入输出4.功能完善,适当的注释,5.关于文件的内容需要自学)9.简易画图软件能实现圆、矩形、直线、椭圆,扇形、圆弧的绘制及颜色的填充。能够用鼠标手工绘制图形。(要求:1.源文件采用多文件的工程结构2.数据存储采用文件形式3.标准的C输入输出4.功能完善,适当的注释,5.关于文件的内容需要自学)5小型管理系统类题目:1.图书管理系统图书信息:登录号(ISBN)、书名、作者名、图书类别(自然科学、人文科学等)、出版单位、出版时间、价格、数量等。(1)图书借阅管理实现图书的入库、修改信息、删除、借阅、归还、续借管理,以及学生、教师(读者)管理,学生、教师借阅情况查询与阅览功能。(要求:1.源文件采用多文件的工程结构2.数据存储采用文件形式3.标准的C输入输出4.功能完善,适当的注释,5.关于文件的内容需要自学)2.图书管理系统图书信息:登录号(ISBN)、书名、作者名、图书类别(自然科学、人文科学等)、出版单位、出版时间、价格、数量等。(2)图书查询管理实现图书的入库、修改信息、删除功能,能够按照图书名称、作者、出版社、类别等进行图书的查询和统计功能,并支持模糊查询。(要求:1.源文件采用多文件的工程结构2.数据存储采用文件形式3.标准的C输入输出4.功能完善,适当的注释,5.关于文件的内容需要自学)3.班级学生信息管理班级信息:班级编号、班级类别(研究生班、本科生班、专科生班等)、班级学生人数、学生姓名、班长、其他班干等。(1)班级缴费信息管理实现班级的创建、修改、删除功能,能够对班级中的学生信息进行增、删、改操作,并能够对班级应交学费进行计算(本科生学费为专科生学费的80%,研究生学费时本科生学费的70%)。输入班级每个学生所缴纳的学费,如果全班缴纳学费低于总学费的80%则显示欠费学生信息,并能够按照学号和姓名对学生缴费情况进行查询,并按照学生缴费金额的多少进行排序显示。(要求:1.源文件采用多文件的工程结构2.数据存储采用文件形式3.标准的C输入输出4.功能完善,适当的注释,5.关于文件的内容需要自学)4.班级学生信息管理班级信息:班级编号、班级类别(研究生班、本科生班、专科生班等)、班级学生人数、学生姓名、班长、其他班干等。(2)学生信息管理实现学生信息的增、删、改操作,设置学生的成绩信息:学生学号、姓名、所选课程名称、平时成绩、期末成绩、平时成绩所占百分比。用户录入每个学生每门课程的平时成绩、期末成绩、平时成绩所占百分比;计算学生总评成绩:总评成绩=平时成绩*平时成绩所占百分比+期末成绩*(1-平时成绩所占百分比)、平均成绩,并按总分将成绩排序,显示每个学生的总分和排名;计算全班各门功课的平均分,显示每门课程中低于平均分的每一个学生的学号,姓名,性别,科目,成绩等信息;显示每门科目中,成绩在90分以上的学生信息。6另外还输出每门科目中不及格的学生信息;能按姓名或者学号查找,增加,删除和保存各个学生的信息。(要求:1.源文件采用多文件的工程结构2.数据存储采用文件形式3.标准的C输入输出4.功能完善,适当的注释,5.关于文件的内容需要自学)5.班级学生信息管理班级信息:班级编号、班级类别(研究生班、本科生班、专科生班等)、班级学生人数、学生姓名、班长、其他班干等。(3)班级考勤管理实现学生信息的增、删、改操作。可对班级学生按照课程进行考勤(类别:出勤、迟到、早退、缺席),并提供按照班级、学号、类别进行统计、查询、浏览等功能。(要求:1.源文件采用多文件的工程结构2.数据存储采用文件形式3.标准的C输入输出4.功能完善,适当的注释,5.关于文件的内容需要自学)6.班级学生信息管理班级信息:班级编号、班级类别(研究生班、本科生班、专科生班等)、班级学生人数、学生姓名、班长、其他班干等。(4)学生档案管理学生档案:学号、身份证号、姓名、性别、籍贯、当前状态等。实现一个学生档案管理系统,完成功能:档案创建、修改、删除、查询、统计、排序等操作。(要求:1.源文件采用多文件的工程结构2.数据存储采用文件形式3.标准的C输入输出4.功能完善,适当的注释,5.关于文件的内容需要自学)7.商品进销存管理商品信息:商品编号、商品名称、商品类别(普通电视机、DVD、带DVD的电视机,带DVD的电视机的售价为普通电视机和DVD单价之和的80%)、商品进货价格、商品销售价格、商品数量、供应商名称等。(1)商品进货管理记录每一次进货信息,对该信息可以进行增加、删除、修改,能够对仓库中的商品按照供应商以及价格进行查询、统计和排序,并能够对所有库存商品进行价格、数量汇总。(要求:1.源文件采用多文件的工程结构2.数据存储采用文件形式3.标准的C输入输出4.功能完善,适当的注释,5.关于文件的内容需要自学)8.商品进销存管理商品信息:商品编号、商品名称、商品类别(普通电视机、DVD、带DVD的电视机,带DVD的电视机的售价为普通电视机和DVD单价之和的80%)、商品进货价格、商品销售价格、商品数量、供应商名称等。(2)商品库存管理要求对所有的库存商品都能按照品名进行显示、查找、增加、删除、修改的功能。并提供按照品名进行浏览、统计和排序(价格)的功能。7(要求:1.源文件采用多文件的工程结构2.数据存储采用文件形式3.标准的C输入输出4.功能完善,适当的注释,5.关于文件的内容需要自学)9.商品进销存管理商品信息:商品编号、商品名称、商品类别(普通电视机、DVD、带DVD的电视机,带DVD的电视机的售价为普通电视机和DVD单价之和的80%)、商品进货价格、商品销售价格、商品数量、供应商名称等。(3)商品销售管理记录每一次销售商品的数量和价格,并提供对已售出商品的价格、数量进行统计、排序功能,但允许用户退商品。(要求:1.源文件采用多文件的工程结构2.数据存储采用文件形式3.标准的C输入输出4.功能完善,适当的注释,5.关于文件的内容需要自学)10.体育赛事成绩管理(1)足球联赛积分统计足球联赛采用主客场双循环赛制,胜一场得3分,平局各得1分,负一场得0分,联赛排名以积分多者在前,当两队(或多队)积分相同时,则净胜球(即进球数与失球数之差)多者在前,若净胜球相同,则进球数多者在前,若仍相同,则抽签或踢附加赛决定名次(这在联赛结束后进行,联赛未结束则两队名次并列,本程序不做这方面要求)。试编一程序统计最近一轮比赛后,各队积分及排名。基本要求:设积分表结构如下:队名,已比赛的场数,赢的场数,平的场数,负的场数,进球数,失球数,积分。积分表放在文件中。最近一轮的结果从键盘输入,其形式为:主队名(可用代码),客队名(可用代码),主队得分(即进球数),客队得分(即进球数)。程序应根据此轮结果修改各队的积分和名次,提供以积分进行统计和排序的功能。(要求:1.源文件采用多文件的工程结构2.数据存储采用文件形式3.标准的C输入输出4.功能完善,适当的注释,5.关于文件的内容需要自学)11.体育赛事成绩管理(2)学生运动会成绩统计系统记录某校运动会上全部运动项目,各系获得的分数及排名的情况,包括50、100、200,400,1500米,跳高,跳远,标枪,铅球铁饼等。进入系统后可以输入和修改某个项目的结果情况,可以按各系院编号输出总分;按总分排序;按男团体总分排序;按系院编号查询;按项目编号查询;按女团体总分排序。键盘输入:系院数目,男子项目数女子项目数,(每项目取前三名,分别为10,5,2分)。(要求:1.源文件采用多文件的工程结构2.数据存储采用文件形式3.标准的C输入输出4.功能完善,适当的注释,5.关于文件的内容需要自学)12.企业人事管理系统人员包括总经理、经理、雇员,信息包括工号、姓名、职务、身份证号、籍贯、工资(实发工资)等。(1)人事管理模块8实现人员信息的增、删、改操作,并实现按姓名、工号进行查询功能,按照部门、工资统计、排序功能。能够实现人员的部门之间的调动功能。(要求:1.源文件采用多文件的工程结构2.数据存储采用文件形式3.标准的C输入输出4.功能完善,适当的注释,5.关于文件的内容需要自学)13.企业人事管理系统人员包括总经理、经理、雇员,信息包括工号、姓名、职务、身份证号、籍贯、工资(实发工资)等。(2)人事工资管理职工工资的主要属性如下:基本工资、岗位工资、奖金、应发工资、医疗住房基金、税金、实发工资;其中应发工资等于基本工资