可视化学生成绩管理系统(QT)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

#include

#include

#include

#include

#include

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

#include

#include

class management{

private:

vectorstu;

public:

vectordeletetxt(const string&m);//删除记录

vectorfindtxt(const string&m);//模糊搜索

vectorfindtxt1(int,int,const string&);//分数段搜索vectoritxt();//文件写入

vectorgetstu(){return stu;}

vectorttxt(vector);//统计分析

vectorptxt();//排序

void addtxt();//增加记录

void changetxt();//成绩修改

void otxt();//文件输出

void show();//输出

};

#endif//MANAGEMENT

类mainwindow

#ifndef MAINWINDOW_H

#define MAINWINDOW_H

#include

#include"management.h"

namespace Ui{

class MainWindow;

}

class MainWindow:public QMainWindow

{

Q_OBJECT

public:

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;

相关文档
最新文档