学生信息管理系统

项目内容

(1)设计一个学生信息管理系统,学生和老师可以通过这个平台进行信息的管理。

(2)提供用户注册登录功能,用户可使用学号进行注册。

(3)提供用户更改密码,并且提供用户找回密码的功能。

(4)在教师端提供老师修改成绩和宿舍床位的交换。

(5)教师可以在这个平台查询个人的基本信息、录入成绩和班级宿舍的管理;学生可以在这个平台查询课程成绩和选取本学期的课程。

学生端选课中心

void StudentWindow::SelectedCourseRefresh(){
    QSqlQuery query(db);
    query.exec("select course.cno, cname, tname, time, period, credit, assess, property "
               "from course, teacher, sc "
               "where sc.cno = course.cno and "
                     "sc.sno = '" + username + "' and "
                 "course.tno = teacher.tno"
                        );
    ui->ScoreTable_4->clearContents();
    int row = 0;
    while(query.next()){
        if(ui->ScoreTable_4->rowCount() <= row)ui->ScoreTable_4->insertRow(row);
        for(int i = 0; i < ui->ScoreTable_4->columnCount(); i++){
            ui->ScoreTable_4->setItem(row, i, new QTableWidgetItem(query.value(i).toString()));
            ui->ScoreTable_4->item(row, i)->setTextAlignment(Qt::AlignCenter);
        }
        row++;
    }
}

教师端成绩的录入和修改

void TeacherWindow::init_Score() {
    QString cno = ui->Cno->currentText();
    QSqlQuery query(db);
    query.exec("select student.sno, sname, major, cname, score "
               "from student, SC, course "
               "where student.sno = SC.sno and course.cno = SC.cno and SC.cno = '" + cno + "'");

    QStringList headerlist;
    headerlist<<"学号"<<"姓名"<<"专业"<<"课程名"<<"成绩";
    ui->ScoreTable->setColumnCount(headerlist.size());
    for (int i = 0; i < ui->ScoreTable->columnCount(); ++i){
        ui->ScoreTable->setHorizontalHeaderItem(i, new QTableWidgetItem(headerlist[i]));

    }
    ui->ScoreTable->horizontalHeader()->setStyleSheet("QHeaderView::section{font: Bold 13pt '微软雅黑'}");
    ui->ScoreTable->horizontalHeader()->setVisible(true);

    int row = 0;
    while (query.next()) {
        ui->ScoreTable->insertRow(row);
        for (int i = 0; i < ui->ScoreTable->columnCount(); ++i) {
            ui->ScoreTable->setItem(row, i, new QTableWidgetItem(query.value(i).toString()));
            ui->ScoreTable->item(row, i)->setTextAlignment(Qt::AlignCenter);
            if (i != 4) ui->ScoreTable->item(0, i)->setFlags(Qt::ItemIsEnabled);        // 设置成绩列为可修改
        }
        row++;
}
}

数据库部分数据的插入


CREATE database studentmanager;
USE studentmanager;

DROP TABLE IF EXISTS student;
CREATE TABLE student (
    sno VARCHAR(12) PRIMARY KEY,
    sname TEXT,
    sex TEXT,
    age INT,
    major TEXT,
    classno VARCHAR(12),
    status TEXT,
    phonenumber TEXT,
    password TEXT NOT NULL,
    dormitory TEXT,
    bednum INT,
    jiangcheng TEXT
);
select * from student;

insert into student values('202210713201','张三','男','20','计科','2022107132','中共党员','18252462866','123456','2-C304','1','数学竞赛省一');
insert into student values('202210713202','李四','男','21','计科','2022107132','共青团员','18252462876','123456','2-C304','2','数学竞赛国一');
insert into student values('202210713203','小美','女','20','计科','2022107132','中共党员','18252462766','123456','2-D301','1','蓝桥杯省一');
insert into student values('202210713204','王五','男','20','计科','2022107132','共青团员','18252462776','123456','2-C304','3','无');
insert into student values('202210713205','阳阳','男','20','计科','2022107132','共青团员','18052462776','123456','2-C304','4','无');

insert into student values('202210713101','小葱','男','20','计科','2022107131','中共党员','18052462866','123456','3-C304','1','数学竞赛省一');
insert into student values('202210713102','小李','男','19','计科','2022107131','共青团员','18052462876','123456','3-C304','2','数学竞赛省二');
insert into student values('202210713103','小芳','女','20','计科','2022107131','中共党员','18052462766','123456','2-D301','2','蓝桥杯省一');
insert into student values('202210713104','刘三','男','20','计科','2022107131','共青团员','18052462776','123456','3-C304','3','无');
insert into student values('202210713105','小徐','男','20','计科','2022107131','共青团员','18152462776','123456','3-C304','4','无');

insert into student values('202210712101','大大','男','20','物联网工程','2022107121','中共党员','11052462866','123456','3-C301','1','数学竞赛省一');
insert into student values('202210712102','小永','男','19','物联网工程','2022107121','共青团员','11052462876','123456','3-C301','2','数学竞赛省二');
insert into student values('202210712103','小乐','女','20','物联网工程','2022107121','中共党员','12052462766','123456','2-D307','2','蓝桥杯省一');
insert into student values('202210712104','小明','男','19','物联网工程','2022107121','共青团员','12052462776','123456','3-C301','3','数学建模国一');
insert into student values('202210712105','小吴','男','20','物联网工程','2022107121','共青团员','12152462776','123456','3-C301','4','数学竞赛省三');

insert into student values('202210712201','大聪','男','20','物联网工程','2022107122','中共党员','13052462866','123456','3-C308','1','数学建模省一');
insert into student values('202210712202','小烨','男','19','物联网工程','2022107122','共青团员','13052462876','123456','3-C308','2','数学竞赛省二');
insert into student values('202210712203','欣欣','女','20','物联网工程','2022107122','中共党员','13052462766','123456','2-D307','1','蓝桥杯省一');
insert into student values('202210712204','小郭','男','19','物联网工程','2022107122','共青团员','13052462776','123456','3-C308','3','数学建模国一');
insert into student values('202210712205','小贾','男','20','物联网工程','2022107122','共青团员','13152462776','123456','3-C308','4','数学竞赛省三');


DROP TABLE IF EXISTS teacher;
CREATE TABLE teacher (
    tno VARCHAR(12) PRIMARY KEY,
    tname TEXT,
    password TEXT
);

INSERT INTO teacher VALUES ('2002110101', '郭小芳', '123456');
INSERT INTO teacher VALUES ('2002110102', '吴刚', '123456');
INSERT INTO teacher VALUES ('2002110201', '朱艳', '123456');
INSERT INTO teacher VALUES ('2002110202', '陈红', '123456');


DROP TABLE IF EXISTS class;
CREATE TABLE class (
    classno VARCHAR(12) PRIMARY KEY,
    major TEXT,
    tno VARCHAR(12)
);

insert into class values('2022107132','物联网工程','2002110101');
insert into class values('2022107131','物联网工程','2002110102');
insert into class values('2022107122','计科','2002110201');
insert into class values('2022107121','计科','2002110202');


DROP TABLE IF EXISTS course;
CREATE TABLE course (
    cno VARCHAR(12) PRIMARY KEY,
    cname text,
    tno VARCHAR(12),
    time text,
    period int,
    credit int,
    assess text,
    property text
);

insert into course values('19040302a','数据库','2002110101','大三上','72','4','考试','必修');
insert into course values('19040301a','计算机组成原理','2002110102','大三下','72','4','考试','必修');
insert into course values('19040301b','计算机网络','2002110201','大三上','72','4','考试','必修');
insert into course values('19040302b','数据结构','2002110202','大三下','72','4','考试','必修');


DROP TABLE IF EXISTS SC;
CREATE TABLE SC (
    sno VARCHAR(12) NOT NULL,
    cno VARCHAR(12) NOT NULL,
    score INT
);

insert into sc values('202210713201','19040302a','90');
insert into sc values('202210713202','19040302a','99');
insert into sc values('202210713203','19040302a','89');
insert into sc values('202210713204','19040302a','88');
insert into sc values('202210713205','19040302a','95');

insert into sc values('202210713101','19040301a','98');
insert into sc values('202210713102','19040301a','96');
insert into sc values('202210713103','19040301a','78');
insert into sc values('202210713104','19040301a','85');
insert into sc values('202210713105','19040301a','63');

insert into sc values('202210712101','19040301b','83');
insert into sc values('202210712102','19040301b','77');
insert into sc values('202210712103','19040301b','78');
insert into sc values('202210712104','19040301b','72');
insert into sc values('202210712105','19040301b','65');

insert into sc values('202210712201','19040302b','75');
insert into sc values('202210712202','19040302b','96');
insert into sc values('202210712203','19040302b','100');
insert into sc values('202210712204','19040302b','56');
insert into sc values('202210712205','19040302b','62');
alter table sc add primary key(sno, cno);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值