课程实训报告
课程名称:
实训题目:
学生姓名
指导教师:
部 门:
起止日期:
蔡茜 何莉
C\C++语言程序
学生成绩管理系统
学 号 职 称
计算机与电子工程系
20xx年6月28日 至20xx年7月5日
教务处 制
0901830
09软件一班
助教
专 业: 计算机应用技术 班 级
C/C++语言程序设计课程设计实训报告
目录
一、系统简介 ................................................... 2
二、需求分析 ................................................... 2
三、概要设计 ................................................... 2
1、系统功能结构图 ................................................................ 2
2、重要数据的数据结构设计 ........................................................ 2
3、函数设计...................................................................... 3
4、小组成员分工 .................................................................. 4
四、详细设计 ................................................... 4
1、修改学生信息功能模块函数alter()设计 ........................................... 4
2、运行效果图: .................................................................. 5
五、调试分析 ................................................... 6
六、用户手册 ................................................... 6
七、附录 ....................................................... 6
八、实训心得体会 ............................................... 9
重庆工商职业学院课程实训成绩评定 .............................. 10
1
C/C++语言程序设计课程设计实训报告
一、系统简介
设计一个基于结构体数组的学生成绩管理系统,能实现对学生成绩信息进行录入、修改、删除、查询、显示总分和输出等基本操作。
二、需求分析
成绩管理系统应实现以下功能:
1、能录入学生的基本信息,包括学号、姓名、性别和语文、数学、英语三门课程的成绩。
2、能根据输入的学号和姓名分别查找学生,进行信息的修改。
3、能根据输入的学号和姓名从程序中删除学生的记录。
4、实现查询功能,能根据输入的学号或姓名在屏幕上显示相应的学生信息。
5、能在屏幕上以列表的方式输出所有学生的信息。
6、能将学生的信息永久的保存起来。
三、概要设计
1、系统功能结构图
根据期末课程设计要求,本组统划分成七个主功能模块:录入学生信息及成绩模块、修改学生信息模块、删除学生信息模块、查询信息模块、输出模块和系统退出和保存模块。系统功能结构图如下:
2、重要数据的数据结构设计
2
C/C++语言程序设计课程设计实训报告
学生成绩管理的记录项用结构体book 表示,包括6个属性name、number、post、x、y、z,分别代表学生的姓名、学号、性别和语文、数学、英语三门课程成绩;
class book
{
string name;//学生姓名
string number;//学生学号
string post;//学生性别
float x;//语文成绩
float y;//数学成绩¨
float z;//英语成绩};
};
3、函数设计
学生成绩管理系统程序采用了结构化程序设计的思想,由1个.h头文件和2个.c源文件组成。程序中除了主函数外,共设计了以下7个函数,分别包含在2个.c源文件中。以下是这些函数的函数原型及功能设计。
(1) char inter_face();
函数功能:在屏幕上输出系统的主菜单。
(2) void add_person();
函数功能: 录入一条学生记录到记录数组的末尾。
(3) void select();
函数功能: 通过输入学号或姓名查询学生的相应记录信息,如果存在在屏幕上输出相应学生记录,否则输出没有找到相关记录。
(4) void del_person();
函数功能: 通过输入学号和姓名查询学生的相应记录信息,如果存在在屏幕上输出相应学生记录,用户确认删除后调用del_person() 函数将其删除,否则输出没有找到相关记录。
(5) void alter();
3
C/C++语言程序设计课程设计实训报告
函数功能: 通过输入学号和姓名查询学生的相应记录信息,如果存在在屏幕上输出相
应学生记录,用户确认修改后调用alter()函数将其修改,否则输出没有找到相关记录。
(6) void show_all();
函数功能: 在屏幕上以列表方式显示所有学生的信息。
(7) void Quit(void);
函数功能: 退出菜单系统,并调用exit(0) 系统函数结束程序运行。
(8) void save_new();
函数功能: 将之前所有输入合法的数据保存起来。以便下次调用。
4、小组成员分工
四、详细设计
1、修改学生信息功能模块函数alter()设计
4
C/C++语言程序设计课程设计实训报告
2、运行效果图:
5
C/C++语言程序设计课程设计实训报告
五、调试分析
本系统在VC6下编译调试通过,可顺利运行,各项功能达到设计要求。
本系统程序由一个.h头文件和2个.c源文件构成。系统调试主要在VC6下进行,采用分模块调试的方法进行编译,即完成一个函数功能模块就编译一个功能模块,最后再进行整体编译并生成可执行文件 BOOK.exe。
六、用户手册
本系统是WIN32控制台程序,可在WINDOW和DOS环境下运行,执行文件名称:BOOK.exe。
运行程序后,首先进入主功能菜单。在主功能菜单中输入相应的数字可执行相应的程序功能,包括录入学生信息、修改学生信息、删除学生信息和输出所有学生信息,输入5可进行查询子菜单,可进行按学号查询和按姓名查询学生信息。在主功能菜单按6可结束本系统的运行并自动关闭运行窗口。
七、附录
void book::alter()
6
C/C++语言程序设计课程设计实训报告
{
ofstream outData("temp.txt", ios::out);
ifstream inData("pbook.txt", ios::in); //
if (!outData || !inData)
{
cout <<endl <<"对不起,找不到文件!!!" <<endl;
system("pause");
return;
}
string sign;
cout <<endl <<"你想要修改的姓名或者学号:";
cin >>sign;
string str1;
bool flag = true;
string str;
while(inData>>name>>number)
{
inData>>post>>x>>y>>z;
if ((sign==name) || (sign==number))
{
cout <<endl <<"你想联系的人:" <<endl <<endl;
cout
<<setiosflags(ios::left)<<setw(10)<<name<<setw(10)<<number<<se
tw(10)<<post<<setw(10)<<x<<setw(10)<<y<<setw(10)<<z<<setw(10)<
<endl;
cout <<endl <<"请根据下面提示修改信息 : " <<endl<<"1:姓名2:学号 3:
性别 4:语文 5:数学 6:外语 "<<endl;
int i;
cin>>i;
switch(i)
{
case 1:{cout <<"姓名 :" ;
cin >>name;
fflush(stdin);
break;}
case 2:{cout <<"学号:";
cin >>number;
fflush(stdin);break;}
case 3:{cout <<"性别 :";
7
C/C++语言程序设计课程设计实训报告
cin >>post;
fflush(stdin);break;}
case 4:{cout <<"语文:";
cin >>x;
fflush(stdin);break;}
case 5:{cout <<"数学 :";
cin >>y;
fflush(stdin);break;}
case 6:{cout <<"外语 :";
cin >>z;
fflush(stdin);break;}
case 7:{
cout <<"姓名 :" ;
cin >>name;
fflush(stdin);
cout <<"学号:";
cin >>number;
fflush(stdin);
cout <<"性别 :";
cin >>post;
fflush(stdin);
cout <<"语文 :";
cin >>x;
fflush(stdin);
cout <<"数学 :";
cin >>y;
fflush(stdin);}
cout <<"外语:”
cin >>z;
fflush(stdin);
}
save_new();
flag = false;
break;
}
outData<<setiosflags(ios::left) <<setw(17) <<name <<" "<<number<<str <<endl;
}
if (flag)
{
8
C/C++语言程序设计课程设计实训报告
cout <<endl <<"对不起,联系人中没有你要查找的人员!!!!" <<endl <<endl;
}
else
{
while (getline(inData, str))
{
outData <<str <<endl;
}
outData.close();
inData.close();
ofstream out("pbook.txt", ios::out);
ifstream in("temp.txt", ios::in);
if (!out || !in)
{
cout <<endl <<"对不起不能打开文件!!!" <<endl <<endl;
system("pause");
return;
}
while (getline(in, str))
{
out <<str <<endl;
}
out.close();
in.close();
cout <<endl <<"这个人的信息已经在系统中修改!!!" <<endl <<endl; }
system("pause");
}
八、实训心得体会
通过这次实训我懂得了利用集体的力量完成一件事情,在实训过程中我遇到了很多的困难,程序反复反复的出现错误,让自己在过程中寸步难行,有时自己都有一种想要放弃的感觉,但是在老师和同组同学的帮助之下,困难解决了,而且还让我学到很多知识,还复习了很多以前的知识,但是这次实训同时也让我更加明白的认识到我们这学期学习的知识的不足,我们对这门课程的不了解,没有完全的去了解这门课程,对程序设计的技巧方面很欠缺,所以我觉得以后还要在这门课程上面多下心思。
9
C/C++语言程序设计课程设计实训报告
重庆工商职业学院课程实训成绩评定
10
第二篇:学生成绩管理系统实训报告
《软件工程》实训报告
专 业:软件技术
班 级:软件081
姓 名:**
学 号:***
指导老师:**
实训时间:20XX-20XX年第二学期第20周
实训地点:学院信息中心
目 录
一、 引言…………………………………………………………………………………………………1
二、 项目可行性分析……………………………………………………………………………………2
⑴引言
⑵可行性研究的前提
⑶技术可行性报告…………………………………………………………………………………。3
⑷系统经济可行性报告……………………………………………………………………………。4
⑸社会因素可行性分析
三、 需求分析……………………………………………………………………………………………5
四、 系统分析……………………………………………………………………………………………6
五、 详细分析……………………………………………………………………………………………7
⑴引言
⑵总体设计
六、 数据流图、E-R图及事件表………………………………………………………………………8
七、 ROSE建立的系统模型……………………………………………………………………………9
八、 实训总结……………………………………………………………………………………………9
九、 致谢…………………………………………………………………………………………………10
一十、 参考文献……………………………………………………………………………………………10
一、 引 言
1.编写目的
在学校面向现代化、面向世界、面向未来、面向互联网的21世纪,现今社会是一个讲究效率的社会,人们有很强的时间观念,如果仍使用手工操作或使用相当繁琐的软件,既浪费了人力,又浪费了物力,效率无法提高,尤其是在学校里。为此开发学生管理系统软件,能够适应现今社会并提高生产效率。该系统软件非常容易被接受,它具有简单易学性,双重操作管理体系,便于管理等功能。它是对学校学生管理的一种工具。为使校园网得到高效、合理的利用,以教育信息化带动教育的现代化,加强学校信息管理,将建设成信息化、现代化的新校园,为新世纪的交院增添新气息、树立新形象,学校于2009年全面启动信息化建设工程。
2.项目背景
(1) 所建议开发软件的名称: 学生成绩管理系统。
(2) 项目的任务提出者:软件工程课老师。
设计人员:朱娜
用户:各大学院校信息管理。
(3)项目使用的软件:Microsoft Visual Studio 2005和Microsoft SQL Server 2005
3.定义
本文档中没有用到的专门术语的定义和缩写词的原文。
4.参考资料
列出有关学生成绩管理系统信息查询计划、标题、设计单位和信息来源,可包括:
(1)项目经核准的计划任务书、合同或上级领导的批文。
(2)与项目有关的已发表的信息资料。
(3)文档中所引用的资料,所采有的软件标准或规范。
二、项目可行性分析
(一) 引 言
1.编写目的
在学校面向现代化、面向世界、面向未来、面向互联网的21世纪,现今社会是一个讲究效率的社会,人们有很强的时间观念,如果仍使用手工操作或使用相当繁琐的软件,既浪费了人力,又浪费了物力,效率无法提高,尤其是在学校里。为此开发学生管理系统软件,能够适应现今社会并提高生产效率。该系统软件非常容易被接受,它具有简单易学性,双重操作管理体系,便于管理等功能。它是对学校学生管理的一种工具。为使校园网得到高效、合理的利用,以教育信息化带动教育的现代化,加强学校信息管理,将建设成信息化、现代化的新校园,为新世纪的交院增添新气息、树立新形象,学校于2009年全面启动信息化建设工程。
2.项目背景
(1) 所建议开发软件的名称:学生成绩管理系统。
(2) 项目的任务提出者:软件工程课老师。
设计人员:**。
用户:大学学校成绩管理。
(3) 项目使用的软件: :Microsoft Visual Studio 2005和Microsoft SQL Server 2005
3.定义
本文档中没有用到的专门术语的定义和缩写词的原文。
4。参考资料
1、《Asp.net基础开发篇》 蔡毅 邓格琳 主编 清华大学出版社
2、《C#软件开发项目实践》 方小伟 赵永军 李其中 编著
3、《ASP.NET 2.0开发指南 》郝刚 主编,袁永刚,严治国,何宇光 编著 人民邮电出版社
4、《.NET设计规范》克瓦林纳,艾布拉姆斯 著,葛子昴 译人民邮电出版社
5、《C#高级编程(第4版) 》Christian Nagel Bill Evjen Jay Glynn等著 李敏波翻译 清华大学出版社
6、《数据库设计教程》何主洁 黄婷儿译著 机械工业出版社
7、《数据库系统概论》 萨师煊 王删 编著 高等教育出版社
8、《软件工程》 杨文龙 姚淑珍 吴芸编著 电子工业出版社
9、《软件工程:实践者的研究方法》黄柏素译著 机械工业出版社
(二)可行性研究的前提
1.要求
建议开发软件的基本要求如下:
1 功能:用户的主要需求有用户管理、课程管理、成绩管理、学生信息管理、授课信息管理、学生信息查询、学生成绩统计等几个方面。
2 性能:要求各个功能模块能够进行准确的录入、删除、修改以及打印。
3 输出:学生的个人信息及教师授课信息情况。
4 选择:选择您要在某个表格中要查询的字段名及条件,查询信息。
5 安全与保密要求:不同学生有不同的权限、管理者才能查看到学生的信息以及消费情况。
6 与软件开发的相关系统:
7 完成时间:1个月。
2.目标
①人力和设备的节约。
②系统运行速率的提高。
③系统运行中用户信息的安全。
④提高系统更新速率
⑤管理信息服务的改进。
3.条件、假定和限制
①建议开发时间:1年。
②进行项目方案比较:3周。
③经费的来源:自筹资金。
④法律和政策的限制:此项目的权利属于学生所有,未经学生允许,不得复制、传播,违者负法律责任。
⑤硬件:CPU PⅢ、内存256 M
⑥网络设备:具有10~100M的网卡。
⑦软件:VS2005和SQL2005。
⑧运行环境:本软件应使用 Window2003、Windows XP 操作系统
⑨开发环境:本软件应使用 Windows2003、Windows XP 操作系统
⑩建议开发软件投入使用的最迟时间:2010年6月。
4.可行性研究方法
能否给酒店管理者带来方便,是否处理大量数据,是否能提高工作效率。
5.决定可行性的主要因素
调查、软件开发模型、人力和财力。
(三)技术可行性报告
1、对系统的简要分析
系统要实现顾客信息档案、消费信息查询系统、预定客房系统、基础服务管理等功能。
2、系统可能带来因素
①对设备的要求CPU PⅢ、内存256 M。
②用户要了解Windows2003及XP 操作系统、用户与管理员之间权限要清楚。顾客信息的准确、及时的更新。③对工作人员质量和数量的要求。
④对工作的环境要特别安静,管理人员对操作程序的熟练程度的要求,在操作中的保密问题。
⑤系统开发的经费问题,系统运行中的故障问题。
3、学生成绩管理的处理流程和数据流程
(四)市场分析
学生管理系统主要是为了解决学校的学生管理问题,并且减轻管理人员的工作负担。本软件是以C++语言编程作为工具。它具有编辑与解释合一的特点,并且不限制于任何操作平台。它是一个自底层硬件逐渐铺垫上来的,因此我们所生产出来的软件相互适应性较强,所以在市场可以占有一定的份额。
7.1.2 工程产品所追求的市场
本系统所占有的市场为学校的市场,它追求的是简单、易学、易懂、易用,能够更有利的解决管理人员的负担,能够辅助学校有效的管理学生档案。
市场现状
目前学校并没有完善的学生管理,因此,我们可填补此项技术上的空白,并且推向全国市场。
该产品的销售对于购买方有影响
对于学生管理系统的用户--校方,可满足对学生管理的需求,且此种需求被接受并且满足,其软件便可以推广。
(五) 社会因素方面的可行性
技术
本系统与校方紧密结合,并且得到指导老师的支持。因此本系统具有开发研制条件。
使用方面的可行性
学校管理人员对该产品的应用是可行的。
(六)结论意见
结论意见:经过分析之后,可着手组织开发。
三、需求分析
1. 编写目的
在学校面向现代化、面向世界、面向未来、面向互联网的21世纪,现今社会是一个讲究效率的社会,人们有很强的时间观念,如果仍使用手工操作或使用相当繁琐的软件,既浪费了人力,又浪费了物力,效率无法提高,尤其是在学校里。为此开发学生管理系统软件,能够适应现今社会并提高生产效率。该系统软件非常容易被接受,它具有简单易学性,双重操作管理体系,便于管理等功能。它是对学校学生管理的一种工具。为使校园网得到高效、合理的利用,以教育信息化带动教育的现代化,加强学校信息管理,将建设成信息化、现代化的新校园,为新世纪的交院增添新气息、树立新形象,学校于2009年全面启动信息化建设工程。
2. 项目背景
(1)。项目的提出者:软件老师。
(2)。开发人员:软件081
(3)。主管者:曾凡晋老师 宋海军老师。
3。定义
本文档中没有用到专门术语的定义和缩写词的原文。
4。参考资料
(1)。项目经核准的计划任务书、批文以及学院学生的信息。
(2)。项目开发计划。
(3)。学院学生成绩的管理系统以及考试信息。
总结
1。对性能、运行环境需求
(1操作系统:Microsoft Windows 2000
(2。操作环境:IIS5。0
(3数据库:Microsoft Word2003
(4 输入输出数据如涉及货币,要精确到十分位。时间上的要求,数据之间的交换速率。
⑸ 分析系统完成什么样的功能,分析用户的需求。
四、 系统分析
1. 对系统的简要描述
(1)权限功能; (2) 录入功能 ;(3)查询功能;
(4)维护功能;
(5)退出功能。
2. 与现有系统比较的优越性
系统实现信息指南、学生个人档案、教师个人档、学生成绩管理、教师授课管理。学生信息成绩的查询。
3. 采用建议系统可能带来的影响
⑴对设备的影响
需将计算机升级为内存256 M,添加一台打印机。
⑵对现有软件的影响
需将操作系统升级为Windows 2000以上。
⑶对用户的影响
要求教研室老师熟悉软件运行的基本环境Windows 2000 操作系统。
⑷对系统运行的影响
1 所要查询的学生要严格按照查询信息系统要求去做。
2 要求由学生用户与老师用户两种登录方式,分权限管理。
3 对学生信息均有保存、保密的要求。
⑸对开发环境的影响
为了支持所建议系统的开发,用户需在Windows 98以上操作系统中安装Acces2000。
4. 技术可行性评价
⑴开发人员:1人,指导教师:2人,以上人员能够满足需要,在规定5天内开发完成。
五、详细设计说明书
(一) 引 言
1。编写目的
为了明确将要设计的学生信息查询计划,撰写本文档。本文档供学生和设计人员参考。
2。项目背景
(1) 所建议开发软件的名称:学生成绩管理系统。
(2) 项目的任务提出者:软件老师。
设计人员:朱娜。
用户:学生和教师。
(3) 项目使用的软件:Microsoft Word 2003
3。定义
本文档中没有用到的专门术语的定义和缩写词的原文。
4。参考资料
1、《Asp.net基础开发篇》 蔡毅 邓格琳 主编 清华大学出版社
2、《C#软件开发项目实践》 方小伟 赵永军 李其中 编著
3、《ASP.NET 2.0开发指南 》郝刚 主编,袁永刚,严治国,何宇光 编著 人民邮电出版社
4、《.NET设计规范》克瓦林纳,艾布拉姆斯 著,葛子昴 译人民邮电出版社
5、《C#高级编程(第4版) 》Christian Nagel Bill Evjen Jay Glynn等著 李敏波翻译 清华大学出版社
6、《数据库设计教程》何主洁 黄婷儿译著 机械工业出版社
7、《数据库系统概论》 萨师煊 王删 编著 高等教育出版社
8、《软件工程》 杨文龙 姚淑珍 吴芸编著 电子工业出版社
9、《软件工程:实践者的研究方法》黄柏素译著 机械工业出版社
(二)总体设计
1、程序系统的结构
学生成绩管理系统总体流程图
七、学生成绩管理Rose图
八、实训总结
1、 个人感受
通过这次实训,我大胆创新并结合书上知识,作出了学生成绩管理系统。在实训中我不断实践,把老师平时所教的知识运用在实训上。我也和同学在一起交流知识,我深刻感受到一个软件的开发要很多人来完成,只有大家一起团结,才能把项目完成。在平时上课时,老师不断教新知识,而我们没有多少收获,我觉得是这次实训给我了历练的机会。
在实训中,我运用老师教我们的软件工具,如Microsoft Visio2003 、Rose2003等。只有在操作中才能找到我们的不足,在问题前面就像老师说的要思考,不能盲目的操作。只是我还觉得有很多知识不明白,我相信在以后的学习中会更加努力,在次我感谢老师一学期的教导。
虽然我们的实训枯燥,但我却要把一学期的回顾,就没有其他的娱乐时间。而想想老师还要在我们身边看着我们,我也就没什么可埋怨。
九、致 谢
几载寒暑,你们的学生朱娜想对您说:亲爱的老师们,你们辛苦了!感谢你们的关怀,感谢你们的帮助,感谢你们为我所做的一切。请接受学生们美好的祝愿,祝你们永远健康,天天快乐!
刻在木板上的名字未必不朽,刻在石头上的名字也未必流芳,只有刻在人们心灵上的名字,才能永存。老师--人类灵魂的工程师,唯有这光辉的名字,因为有着像大海一样丰富、蓝天一样深湛的内涵,故将长存我心。
有人说,师恩如山。高山仰止,当更催后来之人奋发不已。正所谓“新竹高于旧竹枝,全凭老干为扶持”。全班的点滴进步和些许成绩全都凝聚着您辛勤的汗水。所以,不管何时何地,无论天涯海角,我都将由衷地呼唤您--亲爱的老师!在这个神圣而崇高的字眼面前,我永远是需要您启蒙的学生!
小舞台,大作为。三尺讲台方寸有限,却承载着您的崇高理想和辉煌事业!您用语言播种,用粉笔耕耘,用汗水浇灌,用心血滋润。您的每一根银丝,都见证了我成长的历程;您的每一条皱纹,都深深地镌刻在我心里。看这遍地绽放的鲜花,哪一朵没有您的心血,哪一朵没有您的辛劳!
敬爱的老师,请放心吧!我一定会铭记您的谆谆教诲,不辜负您的殷切希望,在环境优美、绿树成荫屏风山下,像取得骄人成绩的新老校友那样,怀更大的志向,抱更高的理想,进一步弘扬“桂工精神”,珍惜时光,发奋读书,努力成为国家的栋梁之材,用丰硕的成果和辉煌的业绩,回报学校对我的厚望和培养。
再一次感谢您几年来对我们的栽培!您辛苦了,亲爱的老师!
致
崇高的敬礼!
您的学生:**
20**年1月13日敬
学生:**
十、参考文献
1、软件开发文档框架来自-尹毅峰- 软件工程实用技术书P173页。
2、事件表、实体图、程序结构图参考软件工程书。
3、目录根据老师样板改写。
4、张海藩,软件工程。北京;人民邮电出版社,2004
5、韩万江,姜立新。软件开发项目管理。北京:清华大学出版社,2003