可视化学生成绩管理系统(QT)
学生成绩管理系统的用例类图课件
可以对成绩管理系统进行持续的改进和优化,提高系统的性能和稳定 性,满足不断增长的用户需求。
THANKS
感谢观看
通过实际操作,加深对用例类 图的理解和应用。
02 学生成绩管理系 统概述
系统定义
学生成绩管理系统是一个用于管 理学生成绩的软件系统
该系统旨在提供方便、高效、准 确的管理方式,帮助学校、教育 机构或个人更好地管理学生成绩
该系统可以支持多种功能,如成 绩录入、查询、统计、分析等
系统功能
成绩查询
学生或管理员可以查询自己的 成绩或他人的成绩,支持多种 查询条件
学生可以使用系统查询自 己的成绩,了解自己的学 习情况和表现
教师
教师可以使用系统录入学 生成绩,查看学生的学习 情况和表现,并给出反馈 和建议
管理员
管理员可以使用系统管理 学生成绩,维护系统数据 和安全,管理用户权限等
03 用例图基本概念
用例图定义
用例图是一种用于描述系统功能的图形化表示方法。
它描述了参与者与系统之间的交互行为,以及系统如何分解成不同的功能模块。
成绩实体类
包括成绩ID、学生ID、课程ID、成绩等属性。
成绩操作类
包括添加、修改、删除成绩信息,查询成绩信息等操作。
管理员类图绘制
管理员实体类
包括管理员ID、姓名、密码等属 性。
管理员操作类
包括添加、修改、删除管理员信 息,查询管理员信息等操作。
管理员权限类
包括对学生、课程、成绩的添加、 修改、删除和查询等权限。
成绩分析
系统可以对成绩进行分析和比 较,帮助学生和教师更好地了 解学生的学习情况和表现
成绩录 入
支持教师或管理员录入学生成 绩,可以批量导入或单个录入
可视化学生成绩管理系统(QT)
中国地质大学计算机高级语言课程设计报告(QT设计)——学生成绩管理系统班级:191142班学号:姓名:日期:2015年7月2日一课程设计题目与要求(包括题目与系统功能要求)【实习内容】C++语言,面向对象的分析与设计。
然后改成QT语言。
【基本要求】学生成绩管理是高等学校教务管理的重要组成部分,主要包括学生成绩的录入、删除、查找及修改、成绩的统计分析等等。
请设计一个系统实现对学生成绩的管理。
系统要求实现以下功能:(1)增加记录:要求可以连续增加多条记录。
(2)删除一个学生的记录:要求可以先查找,再删除。
删除前,要求用户确认。
(3)成绩修改:若输入错误可进行修改;要求可以先查找,再修改。
(4)查找:可以根据姓名(或学号)查找某个学生的课程成绩,查找某门课程成绩处于指定分数段内的学生名单等等。
(5)统计分析:对某个班级学生的单科成绩进行统计,求出平均成绩;求平均成绩要求实现函数的重载,既能求单科的平均成绩,又能求三科总分的平均成绩。
求出一门课程标准差和合格率;(6)排序功能:要求按总分进行排序(从高到低),若总分相同,则按数学排序;若总分和数学相同,则按物理排序;若总分和各科成绩都相同,则按学号排序;(7)文件操作:可以打开文件,显示班级的所有学生信息;可以将增加或修改后的成绩重新写入文件;可以将排序好的信息写入新的文件。
【较高要求】查找可以实现模糊查询,即输入名字的一部分,可以列出满足条件的所有记录。
再从这个记录中进行二次选择。
二需求分析【问题描述】在编写过程中,主要的困难有:1.模糊搜索(不能使用string中的find函数)需要自定义一个函数。
2.排序,需要自己学习算法。
【系统环境】Qt5.4.1三概要设计【类的设计】:类Student:#ifndef STUDENT_H#define STUDENT_H#include<iostream>#include<vector>#include<fstream>#include<string>#include<iomanip>#include<cmath>using namespace std;class student{private:string m_id,m_name;int m_math,m_eng,m_phy;public:student();student(string,string,int,int,int);//构造函数student(const student&);//复制构造函数~student(){};//析构函数string getId();//自定义接口string getName();int getMath();int getEng();int getPhy();int total();student operator=(const student&);//=号重载};#endif//STUDENT_H#define MANAGEMENT#include"student.h"#include"QString"#include<QFileDialog>#include<QFile>#include<qtextstream.h>class management{private:vector<student>stu;public:vector<student>deletetxt(const string&m);//删除记录vector<student>findtxt(const string&m);//模糊搜索vector<student>findtxt1(int,int,const string&);//分数段搜索vector<student>itxt();//文件写入vector<student>getstu(){return stu;}vector<double>ttxt(vector<double>);//统计分析vector<student>ptxt();//排序void addtxt();//增加记录void changetxt();//成绩修改void otxt();//文件输出void show();//输出};#endif//MANAGEMENT类mainwindow#ifndef MAINWINDOW_H#define MAINWINDOW_H#include<QMainWindow>#include"management.h"namespace Ui{class MainWindow;}class MainWindow:public QMainWindow{Q_OBJECTpublic:explicit MainWindow(QWidget*parent=0);~MainWindow();private slots:void on_pushButton_clicked();void on_ok_clicked();void on_pushButton_2_clicked();void on_ok_2_clicked();void on_ss_clicked();void on_ss_2_clicked();void on_pushButton_3_clicked();void on_pushButton_4_clicked();private:Ui::MainWindow*ui;};#endif//MAINWINDOW_H【主界面设计】:主机面主要以一个do-while循环使得系统能够多次查询。
基于QT的学生信息管理系统的实现
基于QT的学生信息管理系统的实现作者:张会来源:《电脑知识与技术》2018年第36期摘要:该文利用 Qt应用框架,应用Qt信号槽机制实现了一个学生信息管理系统。
系统具有添加,修改,分类查询,删除,计算总分及退出等功能。
学生成绩管理系统是一个集继承、图形界面、事件处理等面向对象编程知识的综合应用的实例程序。
关键词:Qt;C++;槽函数;信息管理系统中图分类号:TP311; ; ; ;文献标识码:A; ; ; 文章编号:1009-3044(2018)36-0046-03大部分大学一年级学生初接触到的是C/C++计算机编程语言,而用C/C++语言编写界面程序时多在黑屏白字的application console下采用文字描述模拟菜单选择,学生体验感及成就感较差。
而初学者只有一定的C++面向对象编程基础,可以使用Qt轻松实现图形界面编程。
本文利用Qt图形库,采用 C++语法,在Qt Creator集成开发环境下,实现了一个基于Qt的学生成绩管理系统。
1 Qt的特点Qt被用于高性能的跨平台软件开发,它是一个标准的技术成熟的C++框架,Qt不仅拥有扩展的C++类库,还提供了大量可用来快速编写应用程序的工具[1],Qt是采用C++实现的框架。
Qt Creator是一款新的轻量级集成开发环境(IDE),IDE支持跨平台运行,支持的系统包括 Mac OS X 、Linux( 32 位及 64 位)以及Windows等系统。
Qt Creator的设计目标是方便开发人员利用Qt这个应用程序框架更加快速、轻易地完成相关开发任务[2]。
2 系统功能学生信息管理系统主要功能包括:学生基本信息和成绩的录入,浏览、查询、删除、修改及计算成绩等功能。
功能分析如下:1)添加/输入学生信息:输入的学生信息包括学生姓名,学号,性别,出生日期,英语成绩,语文成绩,数学成绩。
2)查询学生信息:可以按姓名、学号、性别进行分类查询,及全部查询,从而把所有学生记录重新全部显示出来。
可视化编程应用——Visual Basic 6中文版项目八 学生成绩管理系统的设计
实现【驱动器列表】控件的显示功能
【驱动器列表】控件除了一些共有属性之外,还有一
个特殊的属性:【Drive】属性。该属性用于设置或返 回要操作的驱动器,用户可以通过设置该属性来改变 默认的驱动器。由于【Drive】属性不显示在属性对话 框里,因此只能通过代码来设置,其语法结构如下:
实现删除文件功能
在Visual Basic 6.0中,文件的删除可以通过Kill语句来完成,
其语法结构如下:
Kill 文件名
功能:用来删除“文件名”所指定的文件。 说明:在指定“文件名”时,必须给出文件的详细路径,
并且文件名中还可以含有通配符“*”和“?”。例如:
Kill "d:\myfile\*.txt"
在【文件夹列表】控件中,双击某个文件夹便可以选中该文件夹,并
以图标 的形式显示该文件夹,表示该文件夹被打开。当前被选中的文 件夹,被【文件夹列表】控件的【Path】属性记录下来。【Path】属 性不仅可以用来返回当前被选中的文件夹,而且还可以用于设置当前 被选中的文件夹,但只能通过代码来设置【Path】属性。例如,本操 作中的代码“Dir1.Path = Drive1.Drive”,便是用来设置文件夹列表的 当前文件夹。
说明:“原文件名”必须是已经存在的文件名,而“新文件名”必须是一个不存在
的新的文件名,并且两个文件的路径必须是一样的。如果“新文件名”的路径与 “原文件名”的路径不一样时,则将“原文件”移动“新文件名”所指定的路径下, 并将文件改名为“新文件名”。例如: Name "d:\myfile\11.txt" As "d:\myfile\22.txt" 语句便可以将文件“11.txt”改名为“22.txt”。 Name "d:\myfile\11.txt" As "c:\mydocument\33.txt" 语句便可以将文件11.txt从D盘“myfile”文件夹下移动C盘“mydocument”文件夹 下,并改名为“33.txt”。
C语言可视化程序课程的设计学生成绩管理系统
C语言可视化程序设计报告行政班级机械0805魏永涛学号 0806080524指导老师夏建芳课题名称学生成绩管理系统C可视化程序设计报告一.设计题目学生成绩管理系统二、课题的任务:1、所有记录保存在一个数据文件中;2、具备记录添加功能;3、查询功能(如按学号查询成绩等);4、计算统计功能(如统计某门课程的平均程序);5、排序功能(如按成绩排序);6、统计并显示信息功能;三.课程设计目的了解软件工程中的一些系统分析,模块分析,代码设计的概念,利用visual c++实现学生成绩管理系统的录入、查询、删除、统计等基本操作,掌握C语言中的结构体、指针、函数(系统函数、自定义函数)、文件操作等知识。
通过对系统的分析和设计,进一步巩固C语言的学习,以提高对开发环境。
四、成员承担的任务:(组长)魏永涛:完成下面子程序的编写:a:主函数的编译b:定位指针的Locate()函数的编译,与调试。
c:主菜单函数的编译,及其它外部函数的编译,与调试。
d: 任务分配,规定变量符号,及变量的初始化。
e:程序的组装及调试。
王栋:完成下面子程序的编写:a:统计数据函数的编译。
b::查找学生记录函数的编译。
c:增加学生记录的函数的编译。
王义:完成下面子程序的编写:a:删除函数的编译b:修改函数的编译c:排序函数的编译巫培宇:完成下面子程序的编写:a:显示函数的编译。
b:欢迎界面的制作。
c:保存函数的编译五、程序流程图1.系统总体结构图2.main()函数流程图3.Add函数流程图6.Modify函数流程图7.Disp函数流程图六.系统实际运行效果1.欢迎界面2.主菜单3.输入学生资料4.删除学生资料4.查询6.显示8.排序9.排序结果10.帮助11.退出七.系统源代码#include "stdio.h"#include "stdlib.h"#include "string.h"int shoudsave=0; //定义一个全局变量struct student{char num[11];//学号char name[20];//char sex[4]; //性别int cgrade; //c语言成绩int mgrade; //数学成绩int egrade; //英语成绩int totle; //总分int ave; //平均分char neartime[10];//最近更新时间};typedef struct node //声明新的结构体类型Node{struct student data;struct node *next;}Node,*Link;void welcome()//欢迎界面{printf(" ***************************\n");printf(" *欢迎使用*\n");printf(" *中南大学学生成绩管理系统 *\n");printf(" ***************************\n");printf(" 本系统由中南大学机械0805班梦幻小组\n\t\t\t倾情奉献\n"); printf("\n");printf(" 愿我们的努力\n");printf(" 能为您的学习工作带来方便\n");printf(" 您的支持将是我们不断创新的动力\n");printf(" 祝您使用愉快!\n\t\t如有任何疑问联系我们\n\t\t QQ:453275642\n\t\tTel:\n");}void menu() //主菜单{printf("\t*************************************************************\n"); printf("\t* MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM *\n"); printf("\t* MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM *\n"); printf("\t* MMM 1<输入学生资料> 2<删除学生资料> MMM *\n"); printf("\t* MMM 3<查询学生资料> 4<修改学生资料> MMM *\n");printf("\t* MMM 5<显示学生资料> 6<统计学生成绩> MMM *\n"); printf("\t* MMM 7<排序学生成绩> 8<保存学生资料> MMM *\n"); printf("\t* MMM 9<菜单导航> 0<退出系统> MMM *\n"); printf("\t* MMM MMM *\n"); printf("\t* MMM MMM *\n"); printf("\t* MMM ********************************* MMM *\n"); printf("\t* MMM i 欢迎使用中南大学学生成绩管理系统i MMM *\n"); printf("\t* MMM ********************************* MMM *\n"); printf("\t* MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM *\n"); printf("\t* MMM 出品人:梦幻小组 | 辅导老师:夏建芳 MMM *\n"); printf("\t* MMM 组长:魏永涛 | 梦幻组合 MMM *\n"); printf("\t* MMM 组员:王栋王义巫培宇| 成就梦幻品质 MMM *\n"); printf("\t* MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM *\n"); printf("\t*************************************************************\n"); }void printstart(){printf("-----------------------------------------------------------------------\n");}void Wrong(){printf("\n对不起!你输入的信息有误!请重新输入!\n");}void Nofind(){printf("________________________________________________________________________\n");printf("\n\t提示:没有找到该学生!\n");printf("________________________________________________________________________\n"); printf("\n");}void printc() // 本函数用于输出中文{printf(" 学号\t 性别英语数学 C语言总分平均分\n");}void printe(Node *p)//本函数用于输出英文{printf("%-12s%s\t%s\t%d\t %d\t %d\t %d\t %d\n",p->data.num,p->,p->data.sex,p->data.egrade,p->data.mgrade,p->data.cgrade,p->data.totle,p->data.ave) ;//输出成绩}Node* Locate(Link l,char findmess[],char nameornum[]) //该函数用于定位链表中符合要求的接点,并返回该指针{Node *r;if(strcmp(nameornum,"num")==0) //按学号查询{r=l->next;while(r!=NULL){if(strcmp(r->data.num,findmess)==0)//将输入学号与已有学号对比return r; //返回地址r=r->next;}}else if(strcmp(nameornum,"name")==0) //按查询将输入与已有对比{r=l->next;while(r!=NULL){if(strcmp(r->,findmess)==0)return r; //返回地址r=r->next;}}return 0;}void Add(Link l) //增加学生{Node *p,*r,*s; //定义Node型指针char num[11];r=l;s=l->next;while(r->next!=NULL)r=r->next; //将指针置于最末尾while(1){printf("请您输入学号(以'0'返回上一级菜单:)");scanf("%s",num);if(strcmp(num,"0")==0)break;while(s)if(strcmp(s->data.num,num)==0)//将新输入学号与已有学号对比{printf("!!!!!!提示:学号为'%s'的学生已经存在,若要修改请你选择'4 修改'!\n",num);printstart();printc();printe(s);printstart();printf("\n");return;}s=s->next;//指向下一个地址}p=(Node *)malloc(sizeof(Node));//在存中分配长度与node相同的连续空间用于存储新数据strcpy(p->data.num,num);printf("请你输入:");scanf("%s",p->);getchar();printf("请你输入性别:");scanf("%s",p->data.sex);getchar();printf("请你输入c语言成绩:");scanf("%d",&p->data.cgrade);getchar();printf("请你输入数学成绩:");scanf("%d",&p->data.mgrade);getchar();printf("请你输入英语成绩:");scanf("%d",&p->data.egrade);getchar();p->data.totle=p->data.egrade+p->data.cgrade+p->data.mgrade; //求总分p->data.ave=p->data.totle / 3;//信息输入已经完成p->next=NULL;r->next=p;r=p;shoudsave=1;}}void Qur(Link l) //查询学生int sel;char findmess[20];Node *p;if(!l->next)//当l->next=NULL时成立{printf("\n********>提示:没有资料可以查询!\n");return;}printf("\n********>1按学号查找\n********>2按查找\n"); scanf("%d",&sel);if(sel==1)//学号{printf("请你输入要查找的学号:");scanf("%s",findmess);p=Locate(l,findmess,"num");if(p){printf("\t\t\t\t查找结果\n");printstart();printc();printe(p);printstart();}elseNofind();}else if(sel==2) //{printf("请你输入要查找的:");scanf("%s",findmess);p=Locate(l,findmess,"name");if(p){printf("\t\t\t\t查找结果\n");printstart();printc();printe(p);printstart();}elseNofind();}elseWrong();}void Del(Link l) //删除函数{int sel;Node *p,*r;char findmess[20];if(!l->next){printf("\n********>提示:没有资料可以删除!\n");return;}printf("\n********>1按学号删除\n********>2按删除\n"); scanf("%d",&sel);if(sel==1){printf("请你输入要删除的学号:");scanf("%s",findmess);p=Locate(l,findmess,"num");if(p){r=l;while(r->next!=p)r=r->next;r->next=p->next;free(p);printf("\n********>提示:该学生已经成功删除!\n");printf("\t\t\t\t请按任意键返回。
基于Qt的教务管理系统的实现本科论文
基于Qt的教务管理系统的实现摘要近年来,由于计算机网络与计算机软件的不断快速迅猛发展,人们的生活习惯也由此造成了很大的变化,并且计算机信息管理系统也越来越多的参与到人们的日常生活与工作中来,对于我们学生来说,这种变化尤其巨大。
信息的快速更新变化使得学校在学生信息的管理上投入的资源越来越多。
所以,为了提高学校教务管理工作的效率,节约教务资源与经费,并且减少教务处理工作中的失误,有必要开发一套高效自动化的计算机信息管理系统。
本论文中的系统使用的开发工具是Qt,采用SqLite数据库,是在使用比较广泛的windows下开发,利用其提供的面向对象编程的可视化工具来编制出界面友好,操作简单的程序。
此教务管理系统由后台数据的处理部分与前台应用的交互部分组成,并且该系统可以根据用户不同的权限来提供不同的操作,主要包括学生的成绩管理、学生的学籍管理、学校的班级管理等。
此教务管理系统的开发目的在于最大限度的节省人才资源的同时也可以提高管理效率,能够及时、准确、迅速的满足不同用户的不同需求。
关键词:教务管理系统;Qt;SqLite;效率The implementation of educational administration systembased on QtAbstractIn recent years, due to the computer network and computer software continuously rapid development quick, people's life habit also caused the great changes, and computer information management system is also more and more involved in the People's Daily life and work, for our students, this change is especially large.Update information changes make the school in the management of student information resources more and more.So, in order to improve the efficiency of school educational administration work, saving the educational resources and funds, and reduce the faults in our educational work, it is necessary to develop a set of efficient automatic computer information management system.System development tools used in this paper is the Qt, using SqLite database, is in the use of more extensive development under the Windows, using the object-oriented programming offered by the visual tools to develop the friendly interface, simple operation procedures.The educational administration management system by the background data processing part and the foreground application of the interaction of the parts, and the system can provide different according to different user permissions to operation, mainly includes the student performance management, student status management, school of class management, etc.The development of the educational administration system is aimed at the maximum save resources at the same time also can improve the efficiency of management, able to timely, accurately and quickly to meet the different needs of different users.KeyWords: Educational administration management system; Qt; Sqlite ; efficienc目录摘要 (i)Abstract (ii)1 系统概述 (1)1.1 项目背景 (1)1.2 系统开发的目的和意义 (1)1.3 目前国内外的研究现状 (1)1.3.1 国外研究现状 (1)1.3.2 国内研究现状 (1)2 关键技术 (3)2.1 开发工具简介 (3)2.1.1 Qt Creator集成开发环境 (3)2.1.2 Sqlite 简介 (4)2.2 开发语言简介 (4)2.2.1 C++ (4)2.2.2 SQL (5)3 系统总体设计的实现 (7)3.1 系统模块结构的设计 (7)3.1.1 软件模块结构的设计 (7)3.1.2 软件模块总体处理流程 (7)3.1.3 功能分配 (9)3.2 系统功能总体设计 (10)3.3 系统的总体界面设计介绍 (11)3.4 数据库的设计 (12)3.5 数据库表的实体图 (13)3.6 系统数据出错处理设计 (15)3.6.1 系统的出错信息以及处理方法 (15)3.6.2 补救措施 (15)3.6.3 安全保密设计 (16)4 详细设计 (17)4.1 系统的主程序 (17)4.2 程序初始化界面的实现 (17)4.3 数据库的操作 (20)4.4 管理员模块的实现 (22)4.5 学生模块的实现 (26)4.6 教师模块的实现 (28)4.7 数据库模块的实现 (29)5 系统运行界面展示 (30)5.1 登录界面展示 (30)5.2 管理员操作初始化界面展示 (32)5.3 教师操作界面展示 (33)5.4 学生界面展示 (34)5.5 错误处理界面展示 (35)6 系统测试 (36)6.1 测试概述 (36)6.2 测试过程 (37)6.3 测试结果 (37)总结 (38)参考文献 (39)致谢 (40)外文原文 (41)外文翻译 (53)1 系统概述1.1 项目背景信息系统的目的是让人可以高效的进行工作,包括对信息的一系列操作,如添加信息、修改信息、删除信息、查询信息等;人们将计算机硬件与软件相结合来开发出信息平台,在这个平台中实现信息系统的功能与目的。
数据可视化高校评教成绩分析系统研究
数据可视化高校评教成绩分析系统研究1. 引言1.1 背景介绍在当今高校教育领域,评教已成为一项重要的教学管理活动。
传统的评教方式往往需要耗费大量的人力和时间,而且结果可能存在主观性和误差。
随着信息技术的发展,数据可视化技术逐渐被引入到高校评教中,为教师和管理者提供更直观、准确的评估和分析结果。
数据可视化可以将庞大的评教数据转化为图表、地图等直观形式,帮助用户更好地理解和利用数据。
高校评教成绩分析系统的设计与实现,旨在提高评教工作的效率和准确性。
通过收集、存储和处理评教数据,系统可以为教师和管理者提供全面的评教分析报告和可视化结果。
系统功能包括数据收集、数据分析、成绩展示等模块,能够帮助用户更好地了解教学质量和改进教学方法。
本研究旨在探讨数据可视化技术在高校评教中的应用,设计并实现一套成绩分析系统,为高校教学管理提供更准确、高效的支持。
通过本系统的应用,希望能够提升高校评教效率,促进教学质量的提升。
1.2 研究目的本文旨在探究数据可视化在高校评教中的应用以及设计一个成绩分析系统,通过对学生成绩数据的可视化展示和分析,帮助高校教师和管理者更好地了解学生成绩状况,发现问题和优势,从而提升教学质量和管理效率。
具体研究目的包括:1. 研究数据可视化技术在高校评教中的实际应用情况,深入分析现有评教系统存在的问题和不足。
2. 设计并实现一个数据可视化高校评教成绩分析系统,结合实际需求和技术特点,提高评教数据的可视化展示和分析效果。
3. 深入探讨成绩分析系统的功能设计和实现,包括数据处理、图表展示、分析算法等方面,在系统性能和用户体验方面取得平衡和优化。
4. 评估系统的性能表现,测试系统在不同规模数据集下的运行效果和稳定性,验证系统对用户的实际使用需求是否能够满足。
5. 对系统的用户体验进行评价,收集用户反馈意见和建议,通过不断改进和优化提高系统的使用便捷性和用户满意度。
1.3 意义本研究旨在探讨数据可视化技术在高校评教成绩分析系统中的应用,旨在提高高校教学管理的效率和质量。
python+qtdesigner 学生成绩可视化设计
在Python中,我们可以使用QtDesigner和PyQt库来创建图形用户界面(GUI)。
这对于创建学生成绩可视化设计非常有用,因为它可以帮助我们以直观的方式展示数据。
以下是如何使用Python和QtDesigner进行学生成绩可视化设计的步骤:1. 安装Python和PyQt5:首先,你需要在你的计算机上安装Python。
然后,你可以使用pip 命令来安装PyQt5。
在命令行中输入以下命令:`pip install PyQt5`。
2. 安装QtDesigner:QtDesigner是一个用于设计和创建GUI的工具。
你可以在Python的官方网站上下载并安装它。
3. 创建一个新的项目:打开QtDesigner,然后选择“新建”来创建一个新的项目。
4. 添加控件:在QtDesigner中,你可以选择各种控件,如按钮、文本框、标签等,并将它们添加到你的项目中。
5. 设置控件的属性:你可以设置控件的各种属性,如大小、颜色、字体等。
6. 编写代码:在QtDesigner中,你可以编写代码来控制你的GUI。
例如,你可以编写代码来处理按钮点击事件,或者从文本框中获取用户输入的数据。
7. 运行你的程序:当你完成你的GUI设计后,你可以运行你的程序来查看结果。
对于学生成绩可视化设计,你可能需要创建一个表格来显示学生的姓名和成绩,以及一个图表来显示成绩的分布。
你可以使用QtDesigner中的表格控件和图表控件来实现这一点。
例如,你可以创建一个表格,其中每一行代表一个学生,每一列代表一个科目。
然后,你可以将每个学生的成绩填入相应的单元格中。
你还可以使用图表控件来创建一个饼图或条形图,以显示每个科目的分数占比。
在编写代码时,你可能需要处理一些事件,如点击按钮来刷新数据,或者拖动滚动条来查看更多的数据。
你还需要编写代码来读取和处理数据文件,如CSV文件或Excel文件。
总的来说,使用Python和QtDesigner进行学生成绩可视化设计是一个相对简单的过程。
UML学生成绩管理系统ppt课件
后面内容直接删除就行 资料可以编辑修改使用 资料可以编辑修改使用
资料仅供参考,实际情况实际分析
主要经营:课件设计,文档制作,网络软件设计、 图文设计制作、发布广告等 秉着以优质的服务对待每一位客户,做到让客户满 意! 致力于合同简历、论文写作、PPT设计、计划书、 策划案、学习课件、各类模板等方方面面,打造全 网一站式需求
验证通过
成绩管理
显示管理服 务
查询学生信 息 显示学生信 息
录入学生成 绩信息
修改学生成 绩信息
删除学生成 绩信息
显示录入成 绩信息
显示修改成 绩信息
显示删除成 绩信息
退出系统
图5-2 教师活动图
学生活动图
学生 系统
登录
验 证 登录 信 息
登 录 失败
验 证 失败
验 证 通过
选 择 服务
显 示 使用 服 务
管理员
<<include>> 查询学生信息 添加学生信息 <<include>> 信息管理 <<include>> 修改学生信息
删除学生信息
图2-2 管理员用例图
教师用例图
<<extend>> 登录系统 找回密码 <<include>> 教师 <<include>> 查询学生信息 添加学生成绩信息 <<include>> <<include>> 成绩管理 <<include>> 修改学生成绩信息
保存成绩
删除学生成绩信息
图2-3 教师用例图
学生用例图
学生成绩管理可视化系统设计方案
学⽣成绩管理可视化系统设计⽅案1 引⾔1.1 ⽬的本系统设计报告是为了开发学⽣信息管理系统⽽编写。
通过本系统,管理⽼师可以录⼊、修改、查找学⽣成绩;学⽣可以根据姓名学号查询学年各科成绩。
1.2 背景:项⽬名称:学⽣成绩管理信息系统2 总体设计2.1 系统权限分配根据需求分析,本系统将⾯向三种⽤户对象:系统管理员、各任课⽼师、在校学⽣。
对于不同的⽤户,系统将分配不同的⽤户权限。
管理员拥有的权限如下:1. 对学⽣信息进⾏添加、删除、修改、查询2. 对教师信息进⾏添加、删除、修改、查询3. 对课程信息进⾏添加、删除、修改、查询4. 查看学⽣与⽼师信息并进⾏修改5. 查看学⽣选课信息、学⽣的各科成绩6. 对学⽣的选课信息进⾏添加、删除等操作教师拥有的权限如下:1. 查看个⼈账户信息并修改登录密码2. 对学⽣成绩添加、修改、查询,查看学⽣个⼈信息与成绩排名学⽣拥有的权限如下:1. 修改个⼈登录密码2. 查看⾃⼰的课表3. 进⾏选课4. 查询个⼈成绩2.2 ⼦系统设计本系统可以细分成学⽣信息管理、教师信息管理、管理员信息管理这三个⼦系统。
学⽣信息系统1. 查询:学⽣可以通过系统对课表和各科成绩进⾏查询2. 密码管理:学⽣通过密码验证后可以修改登录密码3. 选课:学⽣可以通过系统进⾏选课并查询选课信息教师信息系统1. 基本信息查询:⽼师可以通过该系统进⾏教师基本信息的查询2. 密码管理:通过密码验证后可以修改登录密码3. 学⽣信息查询:教师可以通过系统查询学⽣个⼈信息和学⽣成绩,并且可以通过系统按学⽣专业或课程进⾏排名查询。
4. 学⽣成绩管理:教师可以通过系统对学⽣的成绩进⾏添加与更改管理员信息系统1. 学⽣信息管理:管理员可以通过系统查询、添加、修改、删除学⽣个⼈信息,查询学⽣个⼈成绩与选课情况2. 教师信息管理:管理员可以通过系统查询、添加、修改、删除教师信息3. 课程管理:管理员可以通过系统查询、添加、修改、删除课程信息,为学⽣进⾏选课2.3 软件结构本系统是基于传统MVC(Model View Controller 模型-视图-控制器)结构设计创建的Web应⽤程序。
python学生成绩管理系统的设计内容
python学生成绩管理系统的设计内容Python 学生成绩管理系统的设计内容1. 介绍学生成绩管理系统是教育管理中不可或缺的一部分。
随着信息技术的发展,Python 作为一种强大而灵活的编程语言,被广泛用于开发各种应用程序,包括学生成绩管理系统。
在本文中,我将从深度和广度的角度探讨如何使用 Python 设计学生成绩管理系统,以及系统所需要的具体内容。
2. 系统功能与设计2.1 学生信息管理学生成绩管理系统首先需要包含学生的基本信息管理功能。
这包括学生的尊称、学号、班级、芳龄等信息的录入、修改和删除。
在 Python 中,可以使用面向对象的方式设计一个学生信息类,以便于更好地管理学生的信息。
2.2 成绩录入与查询学生成绩管理系统的核心功能之一是成绩的录入与查询。
系统应该能够方便地录入学生的考试成绩,并且能够根据学号或尊称进行成绩的查询。
在 Python 中,可以利用数据库来存储学生成绩的信息,同时设计相应的查询接口,以实现快速准确地查询功能。
2.3 成绩统计与分析除了成绩的录入与查询功能,学生成绩管理系统还应该具备成绩的统计与分析功能。
这包括对班级或学科的成绩进行统计,计算平均成绩、排名等。
在 Python 中,可以利用 pandas 这个强大的数据分析库来实现成绩的统计与分析功能,同时使用 matplotlib 来绘制相关的统计图表。
3. 系统设计的深度探讨3.1 面向对象的设计思想在设计学生成绩管理系统时,采用面向对象的设计思想是非常重要的。
通过将学生、成绩等抽象为对象,利用类与对象的方式来管理学生信息以及进行成绩管理,能够使系统更加模块化、灵活,并且易于维护和扩展。
3.2 数据库的选择与管理在 Python 中,有多种数据库可供选择,如 SQLite、MySQL、MongoDB 等。
在设计学生成绩管理系统时,需要根据实际需求选择合适的数据库,并对数据库的管理进行深入的思考。
如何设计数据库结构、进行数据的增删改查操作以及数据的备份与恢复,都是需要深入思考的问题。
QT编写一个简单的学生管理系统
嵌入式作业报告——学生信息管理系统学生信息管理系统报告说明书一.需求分析利用QT Creator编程环境编写一个简单的学生信息管理系统,与数据库连接,或者直接对.txt文本进行操作,实现对学生信息的增,删,改,查功能。
二.总体设计在窗口刚跳出来时,在左边的QTextEdit对象中显示所有学生的信息,学生的信息被保存在文件中。
右边是几个QPushButton,分别实现增,删,改,查功能。
还有一个QLineEdit,用来编辑学生信息。
1.增加学生信息:在行编辑器内输入学生的信息,点击“增加”按钮,该生的信息就会被写入文件,并且将增加后的所有的学生信息显示在窗口的QTextEdit对象中。
2.删除学生信息:在行编辑器内输入学生的信息,点击“删除”按钮,该生的信息就会从文件中删除,并且将删除后的所有的学生信息显示在窗口的QTextEdit对象中。
3.修改学生信息:在行编辑器内输入学生的信息,点击“修改”按钮,该生的新的信息就会被写入文件,并且将修改后的所有的学生信息显示在窗口的QTextEdit对象中。
4.查找学生信息:在行编辑器内输入学生的学号,点击“查找”按钮,该生的信息会显示在窗口上。
三.详细设计若选择直接对文本进行操作,过程比较麻烦。
如在进行删除某位学生的信息时,很自然地会想到先找到该生在文件中的位置,再将其后的所有学生信息都向前移动,看起来似乎很简单,但是在文件里进行这些操作时还是要费一些功夫的。
经过在网上查资料,得到了一种算法,就是先把文件里的每位学生的信息读出来,放到一个str[]数组中,再通过比较,找到要删除学生所在的数组元素的下标,之后仅仅是对数组内容进行更改,最后再将新的数组元素写入文件中,再通过读文件将信息显示在窗口。
下面这段代码是我自己认为在这次作业中取得较大突破的。
就是删除学生信息的代码。
结这个用QT环境编写一个简单的学生管理系统的作业做了一周,今天终于完成了。
而这一周,自己也学会了很多东西。
学生成绩管理系统数据流程图及数据字典
学生成绩管理系统数据流程图及数据字典一、数据流程图学生成绩管理系统是一个用于管理学生学习成绩的系统。
下面是该系统的数据流程图,展示了各个模块之间的数据流动和处理过程。
1. 学生信息管理模块该模块用于管理学生的基本信息,包括学生姓名、学号、性别、年级等。
数据流程如下:- 输入流:学生基本信息- 处理流:将学生基本信息存储到学生信息数据库中- 输出流:无2. 课程信息管理模块该模块用于管理课程的基本信息,包括课程名称、课程编号、授课教师等。
数据流程如下:- 输入流:课程基本信息- 处理流:将课程基本信息存储到课程信息数据库中- 输出流:无3. 成绩录入模块该模块用于录入学生的成绩信息,包括学生学号、课程编号、成绩等。
数据流程如下:- 输入流:学生学号、课程编号、成绩- 处理流:将成绩信息存储到成绩信息数据库中- 输出流:无4. 成绩查询模块该模块用于查询学生的成绩信息,可以按照学生学号或课程编号进行查询。
数据流程如下:- 输入流:学生学号或课程编号- 处理流:从成绩信息数据库中查询对应的成绩信息- 输出流:查询结果5. 成绩统计模块该模块用于统计学生的成绩信息,包括计算平均成绩、最高成绩、最低成绩等。
数据流程如下:- 输入流:无- 处理流:从成绩信息数据库中获取所有学生的成绩信息,并进行统计计算- 输出流:统计结果二、数据字典下面是学生成绩管理系统中使用的数据字典,包括各个数据表的字段及其说明。
1. 学生信息表(StudentInfo)- 字段:学号(StudentID)、姓名(Name)、性别(Gender)、年级(Grade)- 说明:用于存储学生的基本信息,学号为主键2. 课程信息表(CourseInfo)- 字段:课程编号(CourseID)、课程名称(CourseName)、授课教师(Teacher)- 说明:用于存储课程的基本信息,课程编号为主键3. 成绩信息表(ScoreInfo)- 字段:学号(StudentID)、课程编号(CourseID)、成绩(Score)- 说明:用于存储学生的成绩信息,学号和课程编号组合为主键以上是学生成绩管理系统的数据流程图及数据字典,通过该系统可以方便地管理学生的学习成绩,包括学生信息的录入、课程信息的管理、成绩的录入和查询、成绩的统计等功能。
用pyqt5设计成绩等级代码
用pyqt5设计成绩等级代码1.引言1.1 概述概述部分的内容可以对整篇文章进行一个简要的介绍,主要包括对文章主题的概述和要解决的问题进行提及。
以下是一个可能的概述部分内容:概述:在当今信息化、智能化的时代,计算机编程已经成为了一项重要的技能。
在学习编程的过程中,我们常常会遇到需要设计一些实用的应用程序的需求。
本文将介绍使用PyQt5来设计成绩等级代码的过程。
成绩等级设计是一个实用且有趣的项目。
对于学生来说,了解自己的成绩等级是对自己学习情况一个非常直观的了解。
而对于教师来说,自动计算成绩等级可以减轻大量的手动工作,提高工作效率。
通过使用PyQt5,我们可以方便地设计出一个用户友好的图形界面,使得学生和教师都能够轻松地输入成绩数据,并自动计算对应的成绩等级。
本文将详细介绍使用PyQt5来设计成绩等级代码的过程,包括PyQt5的简介以及成绩等级设计的具体实现。
通过学习本文,读者将能够掌握使用PyQt5设计图形界面的基本技巧,并了解如何利用编程语言来解决实际问题。
同时,本文也将展望未来,在成绩等级设计的基础上,可以进一步扩展功能,如添加成绩统计功能、生成成绩报告等。
在接下来的正文部分,首先将介绍PyQt5的基本知识和使用方法,然后详细讲解成绩等级设计的实现步骤。
最后,结论部分将对整篇文章进行总结,并展望使用PyQt5设计其他实用应用程序的可能性。
1.2 文章结构文章结构是指文章的组织方式和内容安排。
一个良好的文章结构有助于读者理解文章的主题和内容,并能够更好地阐述作者的观点和论述。
在本文中,我们将主要包括以下几个部分:1. 引言:本节主要对文章的概述进行描述,简要介绍将要讨论的主题和要解决的问题。
同时,介绍本文的结构,为读者提供一个整体的框架。
2. 正文:本节将分为两个小节:2.1 pyqt5简介:在本小节中,我们将对pyqt5进行简要介绍,包括它的定义、特点以及相关应用领域。
此外,我们还将介绍pyqt5的安装和基本使用方法,为后续的成绩等级设计做好准备。
用QT简单编写的学生信息管理系统
1.设计目的本系统为使学校适应工作发展的需要,加快信息化建设,提高学生信息管理效率与准确性。
本系统由学生信息查看系统,学生信息修改系统,学生信息删除系统,学生信息添加系统组成。
2.设计内容该系统通过QT编程完成,主要拥有五个界面。
(1)主窗口有菜单栏和工具栏,菜单栏编辑菜单中有Add、Search、Modify、Delete菜单项,且当这些菜单项属于激活状态时,状态栏显示自己的学号和名字。
该主窗口的标题为自己的学号和名字,在主窗口中央显示Student Management System。
(2)Add界面要求打开界面时,显示出文件里的所有信息,点击增加按钮以后,标签显示自己的学号与名字,将增加的内容添加至文件中,并显示出来。
(3)Search界面,通过输入学号就能查询该学生的相应信息,并显示出来,点击按钮以后标签显示自己的学号和名字。
(4)Modify界面,通过输入学号,输出该学生的相应信息,通过往各文本区里写入相应的修改后的信息,点击修改按钮后修改文件内容,并将该学生的新的信息显示在文本区中,标签显示自己的学号和名字。
(5)Delete界面要求界面打开时出现文件中所有学生的信息,通过输入学号选择需删除的信息行,当点击按钮时标签显示自己的名字和学号。
3.需求描述图1 系统用例图4.系统设计4.1顺序图图2 添加模块顺序图图3 查询模块顺序图图4 修改模块顺序图图5 删除模块顺序图4.1活动图图6系统活动图4.2构件图图7 构件图4.6 文件内容Num Name Sex Age 0906054207 zhanglianghong girl 210906054201 zhangdi girl 210906054202 zhangqiuwen girl 210906054203 yuanyukun girl 210906054204 mayanjuan girl 215.系统实现5.1开发工具及系统运行环境开发工具:QT Designer运行环境:Linux5.2 主窗口实现图8 主窗口功能描述:主窗口有菜单栏和工具栏,菜单栏编辑菜单中有Add、Search、Modify、Delete菜单项,且当这些菜单项属于激活状态时,状态栏显示自己的学号和名字。
QT——学生信息管理系统
QT一—学生信息管理系统
学生信息管理系统
这是我的一个实训小项目,包含学生系统的基本操作,比如增删改查,用图表显示学生信息情况。
所有的控件都是用代码写的,没有用q1拖拽功能。
主界面
上图给大家瞅瞅
上图就是一些主要功能概括。
本系统是用多个子窗口实现的,点击就会弹出新的界面现在展示主界面代码
主界面代码简单,而且易懂,就不作过多的介绍。
功能界面
本系统用的是自己手写的链表文件,使操作更加方便。
可以直接创建一个链表存储学生的信息,包括一些增加删除链表的方法。
比实现更加的方便。
联系人添加界面。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中国地质大学计算机高级语言课程设计报告(QT设计)——学生成绩管理系统班级:191142班学号:姓名:日期:2015年7月2日一课程设计题目与要求(包括题目与系统功能要求)【实习内容】C++语言,面向对象的分析与设计。
然后改成QT语言。
【基本要求】学生成绩管理是高等学校教务管理的重要组成部分,主要包括学生成绩的录入、删除、查找及修改、成绩的统计分析等等。
请设计一个系统实现对学生成绩的管理。
系统要求实现以下功能:(1)增加记录:要求可以连续增加多条记录。
(2)删除一个学生的记录:要求可以先查找,再删除。
删除前,要求用户确认。
(3)成绩修改:若输入错误可进行修改;要求可以先查找,再修改。
(4)查找:可以根据姓名(或学号)查找某个学生的课程成绩,查找某门课程成绩处于指定分数段内的学生名单等等。
(5)统计分析:对某个班级学生的单科成绩进行统计,求出平均成绩;求平均成绩要求实现函数的重载,既能求单科的平均成绩,又能求三科总分的平均成绩。
求出一门课程标准差和合格率;(6)排序功能:要求按总分进行排序(从高到低),若总分相同,则按数学排序;若总分和数学相同,则按物理排序;若总分和各科成绩都相同,则按学号排序;(7)文件操作:可以打开文件,显示班级的所有学生信息;可以将增加或修改后的成绩重新写入文件;可以将排序好的信息写入新的文件。
【较高要求】查找可以实现模糊查询,即输入名字的一部分,可以列出满足条件的所有记录。
再从这个记录中进行二次选择。
二需求分析【问题描述】在编写过程中,主要的困难有:1.模糊搜索(不能使用string中的find函数)需要自定义一个函数。
2.排序,需要自己学习算法。
【系统环境】Qt5.4.1三概要设计【类的设计】:类Student:#ifndef STUDENT_H#define STUDENT_H#include<iostream>#include<vector>#include<fstream>#include<string>#include<iomanip>#include<cmath>using namespace std;class student{private:string m_id,m_name;int m_math,m_eng,m_phy;public:student();student(string,string,int,int,int);//构造函数student(const student&);//复制构造函数~student(){};//析构函数string getId();//自定义接口string getName();int getMath();int getEng();int getPhy();int total();student operator=(const student&);//=号重载};#endif//STUDENT_H#define MANAGEMENT#include"student.h"#include"QString"#include<Q>#include<QFile>#include<qtextstream.h>class management{private:vector<student>stu;public:vector<student>deletetxt(const string&m);//删除记录vector<student>findtxt(const string&m);//模糊搜索vector<student>findtxt1(int,int,const string&);//分数段搜索vector<student>itxt();//文件写入vector<student>getstu(){return stu;}vector<double>ttxt(vector<double>);//统计分析vector<student>ptxt();//排序void addtxt();//增加记录void changetxt();//成绩修改void otxt();//文件输出void show();//输出};#endif//MANAGEMENT类mainwindow#ifndef MAINWINDOW_H#define MAINWINDOW_H#include<QMainWindow>#include"management.h"namespace Ui{class MainWindow;}class MainWindow:public QMainWindow{Q_OBJECTpublic:explicit MainWindow(QWidget*parent=0);~MainWindow();private slots:void on_pushButton_clicked();void on_ok_clicked();void on_pushButton_2_clicked();void on_ok_2_clicked();void on_ss_clicked();void on_ss_2_clicked();void on_pushButton_3_clicked();void on_pushButton_4_clicked();private:Ui::MainWindow*ui;};#endif//MAINWINDOW_H【主界面设计】:主机面主要以一个do-while循环使得系统能够多次查询。
循环中大部分是判断语句的嵌套。
能够以用户意愿自由查询和进出系统。
【文件读到屏幕上】【修改记录】【添加纪录】【删除记录】【统计分析】【排序】四详细设计"【增加记录】:所用函数:addtxt()函数、itxt()函数。
增加记录主要是调用void addtxt()函数。
进入void addtxt()函数后,用户经过手动添加信息。
添加信息过后,系统会将用户所输入的信息与数据库中已有信息进行对比,判断数据库中是否已存在该信息。
不存在则添加,添加时会调用student类的构造函数。
用户所添加的信息则会有一个以类型为student的变量push_back到默认以student为类型的容器中。
然后点击确定转为槽函数,再通过mainwindow类中的指针ui指向text edit,使结果输出到text edit 上。
此时在经过while循环,使得系统支持重复添加功能。
otxt()函数将数据输出保存到date.txt 文件中。
【删除记录】:实现该功能先要调用void deletetxt()函数。
进入该函数后系统会提示用户输入所需删除信息的学号或姓名。
然后系统会在数据库中搜索是否真的存在此信息。
不存在系统会提示用户。
若存在则所删信息会在对话框中出现。
此时系统会调用void deletetxt()函数、string getId()函数、string getName()函数、int getMath()函数int getEng()函数、int getPhy()函数、int total()函数。
然后系统会提示用户确定是否删除该信息。
若否则回到主菜单。
若是此时系统会定义一个以student为类型的容器。
然后默认的以student为类型的容器(其中有数据库中的全部信息。
)经过两个for循环将数据库中除了用户要删除的信息全部push_back到定义的容器中。
然后再经过一个for循环。
使得默认的容器当中的信息与定义的容器当中的信息相同。
则完成删除。
删除成功后,通过mainwindow类中指针指向另一个对话框此时对话框会提示用户删除成功。
【成绩修改】:先进入void changetxt()函数,对话框中会提示用户输入所要修改的信息。
输入信息后系统会定义一个以student为类型的变量。
然后系统会调用student &operator=(const student &)函数,使得修改后的信息覆盖掉原有信息。
在用mainwindow类中的指针ui把结果输出到textedit 上,在调用文本输入的函数使得用户能够确定信息确实修改成功了。
【查找】:进入查找后对话框中会提示用户是分数段查找还是个人成绩查询。
若是前者则系统调用void findtxt1()函数。
此时对话框会提示用户选择哪一门成绩以及分数的上下限。
然后系统再调用此时系统会调用void deletetxt()函数、string getId()函数、string getName()函数、int getMath()函数int getEng()函数、int getPhy()函数、int total()函数。
对话框中会出现在此分数段中的所有信息。
并回到菜单。
若是后者则系统调用void findtxt()函数(支持模糊搜索)。
此时对话框中会提示用户输入所要寻找的信息的学号或姓名。
系统会将数据库中满足条件的信息反馈到对话框中,然后mainwindow类中指针ui将返回的容器的成员转化为QString类型然后将结果反馈到text edit上。
【统计分析】:现根据对话框的提示选择系统分析栏。
对话框会提示用户是单科情况或是全科情况。
若是前者系统会调用void ttxt()函数,把结果反馈到对话框中并回到主菜单中。
若是后者系统调用void ttxt(int i)函数。
然后把结果(平均分、总平局分、及格率、标准差)用mainwindow类中指针ui转到另一个对话框中,在调用该对话框中的指针ui将结果反馈到text edit上。
【排序】:现根据对话框的提示选择排序。
系统会调用void ptxt()函数。
进入void ptxt()函数系统会调用string getId()函数、string getName()函数、int getMath()函数int getEng()函数、int getPhy()函数、int total()函数。
根据总分进行排序(从高到低),若总分相同,则按数学排序;若总分和数学相同,则按物理排序;若总分和各科成绩都相同,则按学号排序;排序完成后,mainwindow类中指针ui将容器中的信息全部转化为QString类型。
然后调用输出文本将结果反馈到text edit上。
【退出系统】:在主菜单中选择退出系统,系统会跳出主菜单中的do-while循环,结束程序。