学生信息管理系统 课程设计.docx
- 文档编号:890219
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:20
- 大小:565.94KB
学生信息管理系统 课程设计.docx
《学生信息管理系统 课程设计.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统 课程设计.docx(20页珍藏版)》请在冰豆网上搜索。
学生信息管理系统课程设计
信息科学与技术学院
程序设计基础课程设计报告
题目名称:
学生信息管理系统
学生姓名:
学号:
专业班级:
计科11级二班
指导教师:
2012年7月4日
目录
1课程设计题目与要求2
1.1设计题目2
1.2设计要求2
2总体设计3
3详细设计4
3.1主模块设计4
3.2功能设计5
4主菜单界面8
5课程设计总结12
6参考文献12
1课程设计题目与要求
1.1设计题目
行编辑器
1.2设计要求
1.问题描述(功能要求):
(1)设置一个简单的行编辑器,每行以回车结束。
(2)数据以文件的形式储存。
(3)编辑器具有查找、替换、修改的功能。
2.问题的解决方案:
(1)根据系统的功能要求,可以将问题解决分一下步骤:
(2)分析系统中的各个实体之间的关系及其属性和行为;
(3)根据问题描述,实现系统的类层次;
(4)完成类层次中的各个类的描述(包括属性和方法);
(5)完成类中的各个成员函数的定义;
(6)完成系统中的应用模块;
(7)功能调试;
(8)完成系统总结报告以及系统使用说明书;
3.其他要求:
(1)只能使用c/c++语言,源程序要有合适的注释,使用程序容易阅读。
(2)至少采用文本菜单界面(如果能使用图形菜单更好)。
(3)学生可以增加新的功能。
2总体设计
删除文档
统计文档
创建文档
3详细设计
3.1主模块设计
行编辑器:
主要是利用vector(动态数组)、指针,来实现对文档的储存、统计、删除等功能。
总体结构流程图
3
12
EscEsc
12345
全部按3结束
返回主界面
3.2功能设计
(1)字符串的编辑
字符串的编辑,是利用动态数组vector进行对字符的储存,vector不仅是一个动态数组,还带有指针。
一开始可以不定义他的大小,根据用户的需要输入。
代码如下:
cout< cout<<""<<"请输入文本(按Esc键切换到统计模式): "< for(inti=0;i { if(txt[i]==13) cout< else cout< } charc; while(c=getch(),c! =27)ifc=27ifc! =27&&c! =13 { if(c==13) cout< else cout< txt.push_back(c); (2)统计文本 是根据输入的文档的ASSII来判断分类的,其中能对英文(分大小写)、数字、空格、单词。 进行统计。 代码如下: voidcount_all() { cntLower=0; cntUpper=0; cntNumber=0; cntSpace=0; cntWords=0; for(inti=0;i { if(txt[i]=='')cntSpace++; if(txt[i]>='0'&&txt[i]<='9')cntNumber++; if(txt[i]>='a'&&txt[i]<='z')cntLower++; if(txt[i]>='A'&&txt[i]<='Z')cntUpper++; if(! (txt[i]>='a'&&txt[i]<='z'||txt[i]>='A'&&txt[i]<='Z') &&(txt[i-1]>='a'&&txt[i-1]<='z'||txt[i-1]>='A'&&txt[i-1]<='Z')) cntWords++; } N YN N Y N Y Y (3)统计某一个字符串 统计是利用指针来找到统计的字符,再利用计数器进行计数。 intcount_string(constchar*t) {intres=0; for(inti=0;i { inttmp=i; intj=0; while(t[j]! ='\0'&&txt[tmp]==t[j]) { tmp++;N j++; }Y if(t[j]=='\0')res++; } returnres; } Y N (4)删除某个字符串 删除字符串雷同查找字符串,查找字符串,先将其字符串找到,再利用计数器计数,而删除字符串是先找到再删除,在此不做赘述。 4主菜单界面 打开程序的界面 主菜单 新建文档 子菜单(程序的主要功能) 统计文本 统计某个字符串 删除某个字符串 文档保存 按任意键后到主菜单 打开文档 打开文档(注: 修改后的文章) 5课程设计总结 经过几天的忙碌,最终把课程设计任务完成了。 要做好一件事,只能一步一步的去做,不可能一下子就完成。 本来以为简单的几个功能,要实现以为很容易,至多一天就可以做完,可是在真正实现、编写代码的过程却发现有太多的问题没有解决。 比如用什么方式来进行字符串的保存,用什么算法来实现删除后所有后面的字符向前移动,都是值得注意的。 要做好一个系统,一个严谨的思维是不可以或缺的,每一个联系都要考虑,每个细节都需要注意,每一种错误都要会解决。 只有把每一种问题都解决了,才能做出一个不是很完善的系统出来。 让我懂得了不一定你懂了,你就编出能运行的程序,都是要一步一步脚踏实地去慢慢实践,慢慢修改调试出来的。 6参考文献 1.《C++程序设计》作者: 谭浩强清华大学出版社 2.《VisualC++程序设计技巧与实例》作者: 许福舒志张威等出版社: 中国铁道出版社 3.《VisualC++全能速查宝典》作者: 刘锐宁,梁水,宋坤人民邮电出版社 4.《C++语言程序设计题典》作者: 李春葆,曾平,刘斌清华大学出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生信息管理系统 课程设计 学生 信息管理 系统