软件工程---学生成绩管理系统.doc
《软件工程---学生成绩管理系统.doc》由会员分享,可在线阅读,更多相关《软件工程---学生成绩管理系统.doc(42页珍藏版)》请在咨信网上搜索。
软件工程---学生成绩管理系统 软件工程课程设计报告 题 目:_____学生成绩管理系统 ____ 专业班级:___ 计算机系计科102班___ 姓 名:__________ __________ 学 号:_______ ______ 同组姓名:__ _ ___ _________ __________ 成绩评定 指导教师: 年 月 日 目 录 第1章 绪论 2 第2章 系统分析 3 2.1 系统目标 3 2.2 功能要求 3 2.3 可行性研究方法 3 2.4 系统可行性分析 3 第3章 需求分析 4 3.1 引言 4 3.2 任务概述 4 3.2.1 编写目的 4 3.2.2 背景 4 3.3 功能需求 4 3.3.1 管理功能部分 4 3.3.1.1 管理员功能 4 3.3.1.2 学生功能 4 3.4 数据流图 5 3.5 学生成绩管理系统逻辑结构图 5 3.6 用例 6 第4章 概要设计 8 4.1设计目标 8 4.2 编写目的 8 4.3 任务概述 8 4.4 总体设计 9 4.4.1 系统设计思想 9 4.4.2 学生成绩管理系统顺序图 10 4.5 接口设计 11 第5章 详细设计 12 5.1 根本任务 12 5.2 程序流程图 12 5.3 详细设计说明 14 第六章 软件测试 16 第七章 实验结果截图显示 18 第八章 程序源代码 20 第九章 实验总结 28 第十章 参考文献 28 第1章 绪论 随着互联网的发展,利用INTERNET 技术来实现“无纸办公”这个概念已经深入人心,校园网作为学校信息化建设的一个平台在完成资源共享、互联网访问、教务管理、电子备课等方面发挥了重要作用。服务教学、提高教学水平和教学结果查询是校园网建设的核心目标和核心价值,本系统立足于校园实际,争取做出一个方便快捷的成绩管理系统,实现成绩信息的管理。该项目主要是服务于学生成绩管理方面,进一步方便教师的工作和学生的成绩查询,从而从侧面达到提高学校的管理质量。它具有使用范围广,实用性强,使用简单,所花经费少等优点。 主要功能有两个方面: 管理员,登陆,进入系统,能够进行管理员操作,进行学生信息及成绩信息的编辑、查询、删除、修改、添加、排序等操作。 学生,登陆,进入系统,能够进行查询等操作。 软件系统目标: (1)本系统具有很强的可靠行,能够对录入的学生信息进行效验,对数据进行修改、删除,规定各种权限。 (2)本系统中的模块具有很强的可续性,能够方便管理人员的修改与维护。 (3)本系统操作方便、灵活、简单。 (4)本系统可高效、快速的查询到学生的基本信息。 第2章 系统分析 2.1 系统目标 学生用户和管理员用户能够进入不同的管理模块,而且只有密码输入正确才能进入功能模块,学生用户只能查询学生信息,管理员用户能够对学生成绩实行各种操作。 2.2 功能要求 1. 性能:学生成绩的增加、删除、修改,排序及查询 2. 输入:学生管理员密码 3. 输出:学生成绩信息 4. 基本的数据流程和处理流程: 事务 事务 管理员 学生成绩管理系统 学生 图2-1 基本数据和处理流程 5. 安全与保密要求:登录系统时,需验证密码;不同身份的登录者,具有不同的使用权限。 2.3 可行性研究方法 主要为对现有成绩管理系统的分析和研究比较的方法。 2.4 系统可行性分析 可行性分析是为了清除的了解系统开发是否能够实际进行,是否能够带来一定效益,是否值得实现。因而进行可行性分析是非常必要的,从下面几个方面来进行分析。 1. 技术可行性:设置不同权限,提高了数据的安全性。 2. 运行可行性:本系统作为一个小型的学生成绩管理系统,所耗费的资源非常的小。 已有软件和硬件配置均能满足需要。 3. 经济可行性:服务端及客户端的支出使用原有设备即可。可是对软件有一次性软件费用支出和定期性软件维护支出。软件使用后,能够减少人力的支出和维护。 4. 法律可行性:本软件属项目组开发,符合法律的各项规定。 5. 使用可行性:软件针对学校以及学院,对使用人员没有特殊限制,管理老师、学生等均可使用。界面友好,操作简单,能够保证大多数用户使用该系统的要求。 2.5 结论 经过可行性的一系列分析可得出结论,在现有的条件下,系统的开发方案是可行的。开发条件具备,能够开始进行实际开发。 第3章 需求分析 3.1 引言 随着互联网的发展,利用INTERNET技术来实现“无纸办公”这个概念已经深入人心,校园网作为学校信息化建设的一个平台在完成资源共享、互联网访问、教务管理、电子设备等方面发挥了重要作用。服务教学、提高教学水平和效果是校园网将设的核心目标和核心价值,本系统立足于校园实际,着眼于未来发展,实现信息资源的共享。该项目主要是服务于教学方面,进一步方便教师的工作和学生的学习,从而从侧面达到提高学校的教学方面的“软件”质量。 3.2 任务概述 3.2.1 编写目的 解决学校对学生信息进行处理时,对各种数据的需求,而且能够有助于学校方面对学生的管理。主要解决学生系你想查询困难等问题。确定学生信息管理系统功能的需求,数据需求及软、硬件需求。确定学生成绩管理系统所能实现的功能,本系统中主要是对数据进行操作,如学生信息及成绩的增加,删除,修改,查看,排序等功能。 3.2.2 背景 这次待开发的系统名称为:学生成绩管理系统 本次项目任务的完成者:刘瑶、李纳、谢千玲、周石花 用户:管理老师,学生 3.3 功能需求 3.3.1 管理功能部分 从业务流程图能够看出,学生成绩挂历系统分为大的两个方面:管理员模块,学生模块,其主要管理功能有: 3.3.1.1 管理员功能 管理员进入学生成绩管理的主要功能是:实现对学生信息及成绩的添加,删除,修改,查询和排序等基本功能。 3.3.1.2 学生功能 学生进入学生成绩管理系统的主要功能是:每个学生登录系统后能够查询自己的个人信息以及成绩信息,查询的时候能够经过姓名也能够经过学号查询,同时学生登录时需要密码。 3.4 数据流图 图 3-1 数据流顶层图 图3-2 数据流细化图 3.5 学生成绩管理系统逻辑结构图 用户操作 学生成绩管理系统 业务逻辑 数据存储 图3-3 逻辑结构图 3.6 用例 主要参与者及用例表3-1 表3-1 学生成绩管理系统用例表 参与者 用例编号 用例 管理员 1 登录 2 浏览信息 3 按成绩排序 4 查询 5 对学生成绩增、删、改 学生 1 登录 2 浏览信息 3 查找成绩 用例图 图3-4 学生成绩系统用例图 3.7 类图 图3-5 类图的初步设计 第4章 概要设计 4.1设计目标 概要设计师软件开发过程中的一个阶段就,在这个阶段需要完成一些明确的事情。概要设计阶段的基本目的是回答“概括的说,系统应该如何实现?”。经过这个阶段,确定系统的组成模块。本学生成绩管理系统由管理员、学生两个大模块组成。每个模块又由自己的子模块组成。 4.2 编写目的 基于现在的学生越来越多,老师的工作量越来越大。伴随着网络信息化,学生成绩管理也必须迈进一个更加进步的时代。那就是用网络来管理学生成绩,实现一个电子管理学生成绩的平台,减轻老师的负担,也便利教务处的管理工作。在本系统中,学生能够选课,退课,查询成绩;老师在期中期末的时候给学生打分,并按百分比计算,提交之前能够修改学生的成绩;管理员能够对教师、学生、课程的信息进行增、删、查、改,而且能够发布公告,新闻。如果学生,教师,管理员想进入这个系统,必须先进行登录,新用户要注册,能够进行个人信息的维护,如密码的修改等。 4.3 任务概述 4.3.1 目标 (1) 本系统具有很强的可靠行,能够对录入的学生的成绩,对学生成绩进行修改、删除,而且能够对学生成绩进行排序。 (2)本系统中的模块具有很强的可续性,能够方便管理人员的修改与维护。 (3)本系统操作方便、灵活、简单。 (4)本系统可高效、快速的查询到学生的基本信息。 4.3.2 需求概述 学生成绩管理系统是为方便教师学生实时掌握成绩、课程等相关信息,学生能够方便快捷的查询自己的成绩而研发的系统,旨在大幅度节约教师和学生们时间,提升教务系统办事效率。 4.4 总体设计 4.4.1 系统设计思想 总模块软件结构 图4-1 学生成绩管理系统主模块 根据上面的需求分析,能够将这个系统分为以下模块:学生子模块和管理员子模块 学生成绩管理系统 管理员子模块 学生子模块 学生成绩排序 浏览学生成绩 修改学生信息 删除学生成绩 查询个人成绩 图4-2 学生成绩管理系统层次图 表4-1 模块功能 学生子模块 学生能够在该模块中查询自己的成绩 管理员子模块 管理员能够再此模块中浏览学生的成绩,对学生的成绩信息进行管理,而且能够对学生的成绩进行排序。 4.4.2 学生成绩管理系统顺序图 图4-3 学生成绩信息顺序图 4.4.3 学生成绩管理系统协作图 图4-4 学生成绩信息协作图 4.4.4 学生成绩管理系统状态图 图4-5 学生成绩信息状态图 4.5 接口设计 4.5.1 外部接口与用户界面 在用户界面部分,根据需求分析的结果,用户需要一个用户友善界面。在界面设计上,应做到简单明了,易于操作,而且要注意到界面的布局,应突出的显示重要以及出错信息。外观上也要做到合理化,考虑到用户多对WINDOW 风格较熟悉,应尽量向这一方向靠拢。在设计语言上,已决定使用Visual C++进行编程。总的来说,系统的用户界面应作到可靠性、简单性、易学习和使用。 4.5.2 内部接口 内部接口方面,各模块之间采用函数调用、参数传递、返回值的方式进行信息传递。具体参数的结构将在下面数据结构设计的内容中说明。接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输。 第5章 详细设计 5.1 根本任务 依据软件工程的基本原理,详细设计阶段的根本任务是确定应该怎样具体实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,具体来说就是把经过总体设计得到的各个模块详细的加以描述。 5.2 程序流程图 1. 系统主程序流程图 图5-1 主程序流程图 2. 学生登录模块 图5-2 学生用户流程图 3. 管理员管理流程图 图5-3 管理员管理流程图 4. 系统类图 图5-4 成绩管理系统类图 5.3 详细设计说明 管理模块包括以下内容: 界面设计 用户登陆:该系统根据用户的身份实现了不同的功能,用户登陆时需要选择一种登陆方式(默认情况下是学生),系统再根据用户选择的登陆方式到相应的表中去搜索。例如,登陆时选择了教师登陆方式,系统将会在教师信息表中搜索是否存在与该用户的输入相符的信息,如果存在则进入教师主页,否则提示用户输入有误,请重新输入。 学生用户界面 1.按照学号查找 学生能够查询自己指定的学号查询成绩,方便学生了解成绩情况。 2.按照学生姓名查找 学生能够查询自己指定姓名查询成绩,方便学生了解自身情况。 管理员界面 1.增加学生成绩 管理员能够增加某个学生的某门科目的成绩。 2.显示学生成绩 管理员能够显示所有学生所有科目的成绩。 3.排序统计成绩 管理员能够根据学生成绩进行排序和统计。 4.查找学生成绩 管理员能够查询某个学生的成绩。 5.删除学生成绩 管理员能够删除某个学生的成绩。 6.修改学生成绩 管理员能够修改学生的成绩。 第六章 软件测试 测试用例设计 表6-1 用例编号 C001 测试对象 “学生登录”功能 用例目的 测试学生登录系统的功能是否正确实现 输入/动作 预期输出/结果 实际结果 选择学生登录,输入错误密码 提示“输入错误密码,请重新输入” 提示“输入错误密码,请重新输入” 选择学生登录,输入密码,输入错误名字 提示“无法找到该学生” 提示“无法找到该学生” 选择学生登录,输入账号,输入密码,单击登录 进入学生登录子系统 进入学生登录子系统 表6-2 用例编号 C002 测试对象 “管理员登录”子系统界面 用例目的 测试管理员登录子系统界面的功能是否正确实现 输入/动作 预期输出/结果 实际结果 选择管理员登录,输入错误密码 提示“输入错误密码,请重新输入” 提示“输入错误密码,请重新输入” 选择管理员登录,输入密码 进入管理员登录子系统 进入管理员登录子系统 观察界面是否正确显示操作按钮 显示“增加学生成绩”,“显示学生成绩”,“排序统计成绩”,“查找学生成绩,“删除学生成绩”,“修改学生信息” 显示“增加学生成绩”,“显示学生成绩”,“排序统计成绩”,“查找学生成绩,“删除学生成绩”,“修改学生信息” 表6-3 用例编号 C003 测试对象 “管理员登录”子系统增加学生成绩功能 用例目的 测试“管理员登录”子系统增加学生成绩功能是否正确实现 输入/动作 预期输出/结果 实际结果 在“教师登录”子系统中选择增加学生成绩功能 显示要增加的学生的姓名和学号和各科成绩 显示要增加的学生的姓名和学号和各科成绩 表 6-4 用例编号 C004 测试对象 “管理员登录”子系统排序统计学生成绩功能 用例目的 测试“管理员登录”子系统排序统计学生成绩功能是否正确实现 输入/动作 预期输出/结果 实际结果 在“管理员登录”子系统中选择排序查询功能 显示排序成功 显示排序成功 表6-5 用例编号 C005 测试对象 “管理员登录”子系统显示学生成绩功能 用例目的 测试“管理员登录”子系统显示学生成绩功能是否正确实现 输入/动作 预期输出/结果 实际结果 在“教师登录”子系统中选择显示学生成绩功能 显示所有学生的姓名和学号和各科成绩 显示所有学生的姓名和学号和各科成绩 第七章 实验结果截图显示 7.1代码运行之后的主界面 图7-1 7.2学生模块显示 图7-2 图7-3 7.3 管理员模块显示 图 7-4 第八章 程序源代码 # include <fstream> # include <string.h> #include <conio.h>//用getch(); #include<iostream> using namespace std; //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌Student类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ class Student { public: char name[20]; char Id[20]; int Cnum; //C++课程得分 int Mnum; //汇编课程得分 int Enum; //嵌入式操作系统课程得分 int sum; //总分 Student * Next; void Input() { cout<<"\t\t请输入学生的姓名:"; cin>>name; cout<<"\t\t请输入学生的学号:"; cin>>Id; cout<<"\t\t请输入C++课程的成绩:"; cin>>Cnum; cout<<"\t\t请输入汇编课程的成绩:"; cin>>Mnum; cout<<"\t\t请输入嵌入式操作系统课程的成绩:"; cin>>Enum; sum=Cnum+Mnum+Enum; } void ReadFile(istream & in) { in>>name>>Id>>Cnum>>Mnum>>Enum>>sum; } void Show() { cout<<"姓名:"<<name<<endl<<"学号:"<<Id<<endl<<"C++:"<<Cnum<<endl <<"汇编:"<<Mnum<<endl<<"嵌入式操作系统:"<<Enum<<endl<<"总成绩:"<<sum<<endl<<endl<<endl; } }; //﹌﹌﹌﹌﹌﹌﹌﹌﹌Studentmassage类﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ class Studentmassage { public: Studentmassage(); ~Studentmassage(); void ShowMenu(); void Find(); void Save(); void ModifyItem(); void RemoveItem(); void Swap(Student *,Student *); void Sort(); int ListCount(); void Display() { for(Student * p=Head->Next;p!=End;p=p->Next) p->Show(); cout<<"输入任意字符!继续……"; getch(); } void AddItem() { End->Input(); End->Next=new Student; End=End->Next; cout<<"添加成功!"<<endl; cout<<"输入任意字符!继续……"; getch(); } private: Student * Head,* End; ifstream in; ofstream out; Student *FindItem(char * name) { for(Student * p=Head;p->Next!=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空 if(!strcmp(p->Next->name,name))return p; return NULL; } Student *FindID(char * Id) { for(Student * p=Head;p->Next!=End;p=p->Next)//匹配成功则返回上一个指针,不成功就返回空 if(!strcmp(p->Next->Id,Id))return p; return NULL; } }; //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌构造函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ Studentmassage::Studentmassage() { Head=new Student; Head->Next=new Student; End=Head->Next; in.open("sort.txt"); if(!in) cout<<"这是一个新系统,无学生信息。请先输入。"<<endl; else { while(!in.eof()) { End->ReadFile(in); if(End->name[0]=='\0')break; End->Next=new Student; End=End->Next; } in.close(); } } //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌析构函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ Studentmassage::~Studentmassage() { Save(); for(Student * temp;Head->Next!=End;) { temp=Head->Next; Head->Next=Head->Next->Next; delete temp; } delete Head,End; } //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌菜单﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ void Studentmassage::ShowMenu() { cout<<"********************************************************************************"<<endl; cout<<"〓〓〓〓〓〓〓〓〓〓 ☆ 学 生 成 绩 管 理 系 统 ☆ 〓〓〓〓〓〓〓〓〓〓"<<endl; cout<<"〓〓〓〓〓〓〓★★★★★ ★★★★★★★ ★★★★★〓〓〓〓〓〓〓"<<endl; cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 1.增加学生成绩 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl; cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 2.显示学生成绩 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl; cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 3.排序统计成绩 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl; cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 4.查找学生成绩 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl; cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 5.删除学生成绩 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl; cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 6.修改学生信息 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl; cout<<"〓〓〓〓〓〓〓〓〓★ ☆ 0.安全退出系统 ☆ ★〓〓〓〓〓〓〓〓〓"<<endl; cout<<"\n\t\t\n\t\t请选择:"; } //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌查找函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ void Studentmassage::Find() { char name[20] ,Id[10]; int x; Student * p=NULL; cout<<"\n\t\t*********************************\n"; cout<<"\t\t※ 1.按学生的姓名查找\n\t\t※ 2.按学生学号查找"; cout<<"\n\t\t*********************************\n请选择:"; cin>>x; switch(x) { case 1:{cout<<"\t\t请输入要查找的学生的姓名:";cin>>name; if(p=FindItem(name)) { p->Next->Show(); cout<<"输入任意字符!继续……"; getch(); } else { cout<<"\t\t没有找到该姓名的学生!"<<'\n'<<endl; cout<<"输入任意字符!继续……"; getch(); } }break; case 2: { cout<<"\t\t请输入要查找的学生的学号:"; cin>>Id; if(p=FindID(Id)) { p->Next->Show(); cout<<"输入任意字符!继续……"; getch(); } else { cout<<"\t\t没有找到该学好的学生!"<<'\n'<<endl; cout<<"输入任意字符!继续……"; getch(); } }break; } } //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌修改信息﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ void Studentmassage::ModifyItem() //修改信息 { char name[20]; Student * p=NULL; cout<<"\t\t请输入要修改的人的姓名:";cin>>name; if(p=FindItem(name)) { cout<<"\t\t已找到学生的信息,请输入新的信息!"<<endl; p->Next->Input(); cout<<"修改成功!"<<endl; cout<<"输入任意字符!继续……"; getch(); } else { cout<<"\t\t没有找到!"<<endl; cout<<"输入任意字符!继续……"; getch(); } } //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌删除信息﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ void Studentmassage::RemoveItem() // 删除信息 { char name[20]; Student * p=NULL,*temp=NULL; cout<<"\t\t请输入要删除的学生的姓名:"<<endl;cin>>name; if(p=FindItem(name)) { temp=p->Next; p->Next=p->Next->Next; delete temp; cout<<"\t\t删除成功!"<<endl; cout<<"输入任意字符!继续……"; getch(); } else { cout<<"\t\t没有找到!"<<endl; cout<<"输入任意字符!继续……"; getch(); } } //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ void Studentmassage::Swap(Student *p1, Student *p2)//交换两个combox变量的数据域 { Student *temp=new Student; strcpy(temp->name,p1->name); strcpy(temp->Id,p1->Id); temp->Cnum=p1->Cnum; temp->Mnum=p1->Mnum; temp->Enum=p1->Enum; temp->sum=p1->sum; strcpy(p1->name,p2->name); strcpy(p1->Id,p2->Id); p1->Cnum=p2->Cnum; p1->Mnum=p2->Mnum; p1->Enum=p2->Enum; p1->sum=p2->sum; strcpy(p2->name,temp->name); strcpy(p2->Id,temp->Id); p2->Cnum=temp->Cnum; p2->Mnum=temp->Mnum; p2->Enum=temp->Enum; p2->sum=temp->sum; } //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌学生登录模块﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ void student() { int k; cout<<"请输入你的密码:"; cin>>k; if(k!=1) { do { cout << ",输入错误,请重新输入密码"; cin >> k; }while(k!=1); } } //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌管理员登录模块﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ void manager() { int k; cout<<"请输入你的密码:"; cin>>k; if(k!=2) { do { cout << "输入错误,请重新输入密码"; cin >> k; }while(k!=2); } cout<<"登录成功!"; } //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ int Studentmassage::ListCount()//统计当前链表的记录总数,返回一个整数 { if(! Head) return 0; int n=0; for(Student * p=Head->Next;p!=End;p=p->Next) { n++; } return n; } //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ void Studentmassage::Sort()//对当前链表进行排序 { cout <<"Sorting..."<<endl; Student *p=NULL,*p1=NULL,*k=NULL; int n=Studentmassage::ListCount(); if(n<2) return; for(p=Head->Next;p!=End;p=p->Next) for(k=p->Next;k!=End;k=k->Next) { if(p->sum>k->sum) { Studentmassage::Swap(p,k); } } cout <<"排序完成!"<<endl; getch(); return; } //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌保存函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ void Studentmassage::Save() { out.open("sort.txt"); for(Student *p=Head->Next;p!=End;p=p->Next) out<<p->name<<"\t"<<p->Id<<"\t"<<p->Cnum<<"\t" <<p->Mnum<<"\t"<<p->Enum<<"\t"<<p->sum<<'\n'; out.close(); } //﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌主函数﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ int main() { int x, i,j; bool quit=false; Studentmassage Grade; cout<<"\t\t§§§§§§§§§§§§§§§§§§§§§§§§§§"<<endl; for(i=0;i<3;i++) cout<<"\t\t◎\t\t\t\t\t\t ◎"<<endl; cout<<"\t\t◎★★★★0学生用户(学生只能读取学生信息)★★★★ ◎"<<endl; cout<<"\t\t◎★★★★1管理员用户 ★★★★ ◎"<<endl; for(i=0;i<3;i++) cout<<"\t\t◎\t\t\t\t\t\t ◎"<<endl; cout<<"\t\t§§§§§§§§§§§§§§§§§§§§§§§§§§\n"<<endl;; cout<<"请选择:"; cin>>j; switch(j) { case 0:{ student(); Grade.Find(); }break; case 1: manager(); while(!quit) { system("cls"); Grade.ShowMenu(); cin>>x; switch(x) { case 0:quit=true;break; case 1:Grade.AddItem();break; case 2:Grade.Display();break; case 3:Grade.Sort();break; case 4:Grade.Find();br- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 学生 成绩管理系统
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文