C语言课程设计选题及要求.docx
- 文档编号:1606363
- 上传时间:2023-05-01
- 格式:DOCX
- 页数:11
- 大小:20.72KB
C语言课程设计选题及要求.docx
《C语言课程设计选题及要求.docx》由会员分享,可在线阅读,更多相关《C语言课程设计选题及要求.docx(11页珍藏版)》请在冰点文库上搜索。
C语言课程设计选题及要求
C语言课程设计题目
课程设计是对学生的一种全面综合训练,是与课堂听讲、自学和练习相辅相成的、必不可少的一个教学环节。
通常,课程设计中的问题比平时的习题复杂的多,也更接近实际。
课程设计着眼于原理与应用的结合点,使学生学会如何把书上学到的知识用于解决实际问题,培养软件工作所需要的动手能力;另一方面,能使书上的知识变“活”,起到深化理解和灵活掌握教学内容的目的。
一、设计要求:
自己根据下列的题目列表选定一题目,要求:
1、模块化程序设计
2、必须上机调试通过
二、设计报告格式:
1、设计目的
2、总体设计(程序设计组成框图、流程图)
3、详细设计(模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描述等)
4、调试与测试:
调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施
5、源程序清单和执行结果:
清单中应有足够的注释
三、检查要求:
1、每个人必须有可运行的程序;
2、每个人必须交《C语言课程设计报告》(打印稿)
3、全班的设计刻一张盘上交;
四、打分标准:
1、根据平时上机考勤;注重平时上机成绩,教师要不定期检查学生进度,学生不得以自己有私人电脑为借口而不来上机。
2、根据程序运行结果;
3、根据《C语言课程设计报告》,学生能对自己的程序面对教师提问并能熟练地解释清楚
以上三项缺一不可,否则不能到得相应学分
五、题目列表:
1、职工信息管理系统设计
职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。
试设计一职工信息管理系统,使之能提供以下功能:
系统以菜单方式工作:
(用键盘输入1~5之间的数来选择功能)
(1)职工信息录入功能(职工信息用文件保存)
(2)职工信息浏览功能
(3)查询功能:
按工资查询或按学历查询(二选一)
(4)信息删除功能:
按职工姓名删除
(5)信息修改功能:
把研究生学历的职工增加500元。
2、图书信息管理系统设计
图书信息包括:
登录号、书名、作者名、分类号、出版单位、出版时间、价格、存在状态(已借和已还)、借书人姓名、性别、学号等。
试设计一图书信息管理系统,使之能提供以下功能:
系统以菜单方式工作(用键盘输入1~5之间的数来选择功能)
(1)图书信息录入功能(图书信息用文件保存)--输入
(2)图书信息浏览功能--输出
(3)查询功能:
按书名查询或按作者名查询(至少一种查询方式)
(4)图书信息的删除:
按照存在状态删除,把已还的图书信息删除。
(5)图书信息的修改:
按照存在状态修改,把已借的图书信息改为已还的状态。
3、学生信息管理系统设计
学生信息包括:
学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。
试设计一学生信息管理系统,使之能提供以下功能:
系统以菜单方式工作(用键盘输入1~5之间的数来选择功能)
(1)学生信息录入功能(学生信息用文件保存)
(2)学生信息浏览功能
(3)查询功能:
按学号查询或按姓名查询(至少一种查询方式)
(4)学生信息的删除:
(按学号进行删除)
(5)学生信息的修改:
(按学号进行修改某学生的姓名)
4、学生选修课程系统设计
假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。
试设计一选修课程系统,使之能提供以下功能:
系统以菜单方式工作(用键盘输入1~5之间的数来选择功能)
(1)课程信息录入功能(课程信息用文件保存)
(2)课程信息浏览功能
(3)查询功能:
按学分查询或按课程性质查询(至少一种查询方式)
(4)课程信息的删除:
(按课程性质进行删除)
(5)课程信息的修改:
(按课程性质修改,把必修课的学分都加1个学分)
5、学生成绩管理系统设计
学生成绩信息包括:
学号、姓名、C语言成绩。
试设计一选修课程系统,使之能提供以下功能:
系统以菜单方式工作(用键盘输入1~5之间的数来选择功能)
(1)成绩信息录入功能(成绩信息用文件保存)
(2)成绩信息浏览功能
(3)查询功能:
按学号查询或按成绩段查询(至少一种查询方式)
(4)成绩信息的删除:
(按学号进行删除某学生的成绩)
(5)成绩信息的修改:
(按成绩修改,把55~59分之间的成绩都加上5分)
6、背单词
该系统是帮助学生背诵单词的软件,要求用户可以选择背诵的词库,并可以编辑自己的词库,系统可以给出中文,让学生输入其英文意思,也可输出英文让学生输入中文意思。
并判定词义是否正确。
如不正确给出提示并要求用户重新输入。
如正确给以鼓励。
还应有词语预览功能。
基本功能:
(1)词库的维护(可增加,至少要有100个单词)
(2)显示中文用户输入英文的背诵方法
(3)显示英文用户输入中文的背诵方法(这两个可任选一个完成)
(4)背诵成绩的记录。
7、编写程序对八皇后问题进行求解:
在8行8列的棋盘上放置8个皇后,使任一个皇后都不能吃掉其他的7个皇后(注:
皇后可吃掉与她处于同行或同列或同一对角线上的其他棋子),并将结果以图形方式显示出来。
(最好能绘出所有92种情况)
例如,当求出下述的一个解时,画出如下图
(1,1)(5,2)(8,3)(6,4)(3,5)(7,6)(2,7)(4,8)
Q
Q
Q
Q
Q
Q
Q
Q
提示:
(1)通过“intLineNum[9];boola[9],b[15],c[15];”说明具有全局作用域的4个数组。
其中的:
LineNum[i]表示第i列的皇后要放的行位置(只用其中的列号1到8);
a[i]为true(i=1,2,…,8)表示第i行上尚未放皇后;
b[i]为true(i=0,1,2,…,14)表示第i条斜对角线上尚未放皇后(斜对角线指的是“/”状对角线,该对角线上各点的行列号之和i+j为一个常数);
c[i]为true(i=0,1,2,…,14)表示第i条反斜对角线上尚未放皇后(反斜对角线指的是“\”状对角线,该对角线上各点的行列号之差i-j为一常数)。
从而当使用语句“if(a[j]&&b[i+j-2]&&c[i-j+7])LineNum[i]=j;”时,可用于判断并实现:
如果在第j行的第i列上放置皇后安全的话,则将一枚皇后放置到那儿。
(2)编制一个具有如下原型的递归函数solve,它负责往第i列开始的连续8-i+1列上均放上皇后,若成功则通过引用参数ok返回true(否则返回false)。
voidsolve(inti,bool&ok);
摆放皇后之后,若i=8即已放满时则递归出口;否则通过solve(i+1,ok);进行递归调用。
(3)编制主函数,首先初始化一个“空棋盘”,即将a、b、c数组的各元素均置为true(表示当前棋盘的8个行、15条斜对角线以及15条反斜对角线上都尚未摆放皇后)。
而后执行调用语句“solve(1,ok);”,它负责往第1列开始的连续8列上均放上皇后,若成功则通过引用参数ok返回true(否则返回false)。
8、Hanoi(汉诺)塔问题。
据说这是古代印度布拉玛神庙里的僧侣玩的一种游戏。
游戏的装置是一块铜板,上面有3根金刚石的针,在其中一根针上放着从大到小的64个盘子。
游戏的目标是把所有盘子从以根针上移到另一根针上,还有一根针作为中间过渡。
游戏规定每次只能移动一个盘子,并且大盘子不能压在小盘子上面。
由于需要移动的次数太多,该游戏的结束标志着世界的末日。
要求用动态形式演示盘移动结果。
9、魔方阵。
把整数1到n2排成一个n×n方阵,使方阵中的每一行,每一列以及对角线上的数之和都相同。
如n为奇数,魔方阵可按下述方法构成:
(1)把1填在第一行的正中间,然后填入后续的数;
(2)若数k填在第i行第j列的格子中,那么k+1应填在它的左上方,即第i-1行第j-1列的那个格子中,如果左上方无格子,即:
若i-1为0,那么填在第n行第j-1列的格子中;若j-1为0,那么填在第i-1行第n列的格子中;若i-1和j-1都为0,那么填在第n行第n列的格子中。
(3)若按
(2)的方法找到的格子中已填过数了,那么数k+1改填在第k个数的正下方。
即填在第i+1行和第j列的那个格子中。
编一程序实现上述算法,并模拟显示其过程。
10、五子棋
程序要求:
1.由两个玩家分别下棋,当某一玩家五子相连,则赢。
2.界面要求:
初始状态——显示棋盘,并显示两个玩家的操作键及初始玩家号;游戏进行状态——动态显示棋盘,不同玩家的棋子用不同符号显示,屏幕上显示当前玩家号,结束时显示赢家号。
11、井子棋
程序要求:
1.计算机为一方,人为一方,交替下棋,谁先连成一条直线谁胜;允许人选择先下还是后下。
2.界面要求:
初始状态——显示棋盘,并显示玩家的操作键;游戏进行状态——动态显示棋盘不同玩家的棋子用不同符号显示,屏幕上显示当前玩家号,结束时显示赢家号。
3.提示计算机自动下棋的规则:
计算机下时,应考虑所有空位,并按行、列、对角线计算每个空位的分值,若在某行(列、对角线)上,(设计算机画X,人画O)
已有XX加50分
已有OO加25分
已有X空加10分
已有O空加8分
都是空加4分
然后选分值最高的位置画X。
12、迷宫游戏
程序要求:
1.随机生成迷宫,找出由入口经过迷宫到达出口的一条路径,允许选择人或计算机找出路。
2.界面要求:
初始状态——显示迷宫的图面;用箭头指出入口外和出口外;游戏进行状态——选择人找出路时,显示每一步的结果,到边了和遇上障碍,发出“嘟”的叫声。
走到出口处,应给出“胜利”的字样;选择计算机找出路时,用一条有颜色的线画出路径,若找不出出口就显示“无出路”的字样。
3.计算机找出路部分可选做。
13、贪吃蛇算法
程序要求:
游戏时,一条蛇在密闭的围墙内,围墙内会随机出现一个食物通过键盘上的4个光标键控制蛇向上下左右4个方向移动,蛇头接到食物,则表示食物被蛇吃掉,这时蛇的身体加长一节,同时计10分。
接着又出现食物等待被蛇吃掉。
如果蛇在移动过程中,撞到墙壁或身体交叉(蛇头撞到自己的身体),则游戏结束。
14、猜数字游戏,
有一定的容错功能,界面友好,功能齐全。
游戏规则:
a,一个四位数,各位上的数字不重复,从1到9。
b,按以下提示猜出这个四位数。
c,每次猜测输入的数据给出类似的提示*A*B。
d,其中A前的*代表你本次猜对了多少个数字。
e,其中B前的*代表你本次猜对的数字并且位置正确的个数。
15、日历显示
(1).输入任一年将显示出该年的所有月份日期,对应的星期
(2).注意闰年情况
其显示格式要求如下:
(1)月份:
中文英文都可以,
(2)下一行显示星期,从周日到周六,中英文都可以
(3)下一行开始显示日期从1号开始,并按其是周几实际情况与上面的星期数垂直对齐
当输入2004显示如下:
Inputtheyear:
2004
Inputthefilename:
a
Thecalendaroftheyear2004.
Januray1February2
SunMonTueWedThuFriSatSunMonTueWedThuFriSat
1231234567
45678910891011121314
1112131415161715161718192021
1819202122232422232425262728
2526272829303129
======================================================
March3April4
SunMonTueWedThuFriSatSunMonTueWedThuFriSat
123456123
7891011121345678910
1415161718192011121314151617
2122232425262718192021222324
28293031252627282930
======================================================
…
参考评审标准
课程设计成绩评定的依据有设计文档资料、具体实现设计方案的程序及课程设计考勤登记表,其中平时成绩占总成绩的20%。
课程设计的评审标准:
优:
按要求完成题目,有完整的符合标准的文档,文档有条理、文笔通顺,格式正确,其中有总体设计思想的论述,有正确的流程图,程序完全实现设计方案,设计方案先进,软件可靠性好;
良:
完成设计题目,有完整的符合标准的文档,文档有条理、文笔通顺,格式正确;有完全实现设计方案的软件,设计方案较先进;
中:
基本完成题目,有完整的符合标准的文档,有基本实现设计方案的软件,设计方案正确;
及格:
基本完成题目,有完整的符合标准的文档,有基本实现设计方案的软件,设计方案基本正确;
不及格:
没有完成题目的要求,没有完整的符合标准的文档,软件没有基本实现设计方案,设计方案不正确。
课程设计报告
提交报告的内容
•一、题目内容的描述
•二、应用程序功能的详细说明
•三、输入数据类型、格式和内容限制;
•四、主要模块的算法描述
–以程序流程图的方式给出
–简要的语言描述
•五、结束语
•六、程序的源代码清单
•七、报告的字数,不算源代码清单不少于4页
按规定的模板封面输出,不允许自定义封面格式
提交报告的格式
1、正文宋体小四号字
2、每个自然段开始空两格
3、文中英文用新罗马(TimesNewRoman),四号
4、源程序清单用英文新罗马五号
5、正文宋体小四号字
6、每个自然段开始空两格
7、文中英文用新罗马(TimesNewRoman),四号
8、源程序清单用英文新罗马五号
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 选题 要求