C语言课程设计_c语言课程设计
C语言课程设计由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言课程设计”。
C语言课程设计
一、课程设计目的1.复习、巩固C语言的基础知识,进一步加深对C语言的理解和掌握。
2. 提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力。3.培养学生在项目开发中团队合作精神,创新意识及能力。
4.本课程设计主要以学生独立思考解决问题为主,教师指导为辅,结合上机操作,完成指定的任务,作出设计报告。
二、课程设计内容
第一题:背单词软件开发(学号为单号的必须作)
1.录入单词
China 中国 Japan 日本
…….使用文件存放。
2.随机测试
系统随机显示单词(用户可以选择中译英,或英译中),对回答错误的单词应该可再回答一次。能够统计回答的正确单词的个数。3.顺序测验
4.查找单词的汉语或英语意思(输入中文查对应的英语意思,输入英文查对应汉语意思)
第二题:小学数学四则运算(学号为双号的必须作)12+56=?
1.要求系统随机生成0~100之内的整数。2.对回答错误的题目应该可重新回答一次。3.能够统计回答的正确题目的个数。
4.回答错误的题目写入“error_record.txt”文件中。
第三题:学生成绩管理系统
要求:1.学生的信息用结构体来表示。
struct stu{ int
sno;
//学号
char name[8];
//姓名
char sex[3];
//性别
char incla[8];
//班级
float math;
//数学成绩
float English;
//英语成绩
float computer;
//计算机成绩 }
2.能够按学号、按性别、按班级查询。查询方式可以自己补充。3.能够统计每个学生的平均成绩、总成绩、并可以按平均成绩和总成绩进行排序,并在屏幕上打印排序结果。
4.能够修改、删除、添加学生的信息。
5.系统的各个功能模块要求用函数的形式实现。6.在主函数里通过菜单来调用各个函数。
7.用链表或数组来存储班级学生(思考用数组和链表的异同)。
8.学生的信息能够保存在文件里(思考用二进制文件和文本文件的异同)。如果用文本文件存储,则文件格式如下: 学号 姓名
性别
班级
数学
英语
计算机 1001 王鹏
男
一班
68.5 58
1002 李云
女
一班
68.5 88
1003
王海
女
一班
78.5 98
…….2001 赵亚男
女
二班
58.5 48
2002 刘飞
男
二班
68.5 78
提示:
文本文件读写------fscanf,fprint 二进制文件读写----fread,fwrite 9.能够对文件进行读写、修改、删除。
第四题:中文分词器软件(选做题—加分)
与英文的以空格作为分界符不同,在中文中词与词之间没有明显的区分标记,中文信息处理中的一个重要的基础就是词的切分,也称中文分词。本题目是开发一个简单的中文分词器软件。
提示算法:
基于字符串匹配的分词方法这种方法又叫做机械分词方法,它是按照一定的策略将待分析的汉字串与一个“充分大的”词典中的词条进行匹配,若在词典中找到某个字符串,则匹配成功(识别出一个词)。按照扫描方向的不同,字符串匹配分词方法可以分为正向匹配和逆向匹配;按照不同长度优先匹配的情况,可以分为最大(最长)匹配和最小(最短)匹配。
建议采用最大正向匹配算法。
例如:对一个字符串S,从前到后扫描,对扫描的每个字,从词库中寻找最长匹配.比如假设S=“我是中华人民共和国公民”,词库中有“中华人民共和国”,“中华”,“公民”,“人民”,“共和国”......等词.当扫描到“中”字,那么从中字开始,向后分别取1,2,3,......个字(“中”,“中华”,“中华人”,“中华人民”,“中华人民共”,“中华人民共和”,“中华人民共和国”,“中华人民共和国公”),词库中的最长匹配字符串是“中华人民共和国”,那么就此切分开,扫描器推进到“公”字。
S的分词结果为:我/是/中华人民共和国/公民
提供的词典是7个文件:chivoc2.txt,chivoc3.txt,„„,chivoc8.txt,分别存储2字词,3字词,„„,8字词。
三、课程设计要求: 1.对系统进行功能模块分析,控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善,合理。2.系统设计要实用,编程简练、可用、功能全面。3.说明书、流程图要清楚。
4.记录设计情况(备查,也为编写设计说明书作好准备)。
5.设计成果:设计说明书一份(包含源代码的详细注释说明)。
四、补充
1.程序=算法+数据结构
一个好的程序应该有好的算法和好的数据结构。
指导教师:潘惠勇
李国伟
2012.4.23