C++实现评教管理系统

本文实例为大家分享了C++实现评教管理系统的具体代码,供大家参考,具体内容如下

#include<iostream>
#include<fstream>
#include<cstring>
#include <stdlib.h>
#include <conio.h>
#include<vector>
using namespace std;
int n;
 
class Student
{public:
    char sname[20];
    char snum[20];
    char sclass[20];
    void input();
};
/*--------------------------学生登陆-----------------------------*/
void Student::input()
{
    cout<<"请输入您的姓名:";    cin>>sname;
    cout<<"请输入您的学号:";    cin>>snum;
    cout<<"请输入您的班级:";    cin>>sclass;
    cout<<"登陆成功!输入任意字符继续";    getch();
}
/*--------------------------评教信息 类模板-----------------------------*/
template<typename T1,typename T2,typename T3>
class Lesson
{public:
    Lesson(){};
    ~Lesson(){};
    T1 tname[20];
    T2 tlesson[20];
    T3 grade;
    void display();
    void input();
    void show();
};
 
/*--------------------------输出函数-----------------------------*/
template<typename T1,typename T2,typename T3>
void Lesson<T1,T2,T3>::show()
{
    cout<<"教师姓名:"<<tname<<endl;
    cout<<"课程名称:"<<tlesson<<endl;
    cout<<"评教分数:"<<grade<<endl;
}
/*--------------------------新建类-----------------------------*/
class System
{public:
    System(){};
    ~System(){};
    void add();
    int lname(char *x);
    void find();
    void change();
    void dele();
    void menu();
    void display();
    void save();
    void read();
};
    vector<Lesson<char,char,double> >v;
/*--------------------------输入函数-----------------------------*/
template<typename T1,typename T2,typename T3>
void Lesson<T1,T2,T3>::input()
{
    cout<<"请输入教师姓名:";    cin>>tname;
    cout<<"请输入课程名称:";    cin>>tlesson;
    cout<<"请输入打分(0-100):";    cin>>grade;
    try{                                                        //异常处理 
        if(grade<0||grade>100)    throw 0;
        else
        cout<<endl;}
    catch(int)
    {cout<<"输入数据错误,请重新输入";}
    cout<<endl;
}
/*--------------------------读取函数-----------------------------*/
void System::read()
{
    Lesson<char,char,double> ch;
    ifstream infile("sys.txt",ios::binary);
    if(!infile){
        cout<<"文件打不开"<<endl;
    }
    infile.read((char*)&ch,sizeof(ch));
    while(!infile.eof())
    {
    v.push_back(ch);
    infile.read((char*)&ch,sizeof(ch));
 
           cout<<"教师姓名:"<<ch.tname<<endl;
        cout<<"课程名称:"<<ch.tlesson<<endl;
        cout<<"评教分数:"<<ch.grade<<endl;
        cout<<endl;
 
    }
    infile.close();
    cout<<"读取成功"<<endl;
    getch();
}
/*--------------------------保存函数-----------------------------*/
void System::save()
    {
      ofstream outfile("sys.txt",ios::binary);
      Lesson<char,char,double>t;
      vector<Lesson<char,char,double> >::iterator ap;
      if(!outfile)
          cout<<"文件不能被打开"<<endl;
    else
    {
            for(ap=v.begin();ap!=v.end();ap++)
        {
                t=*ap;
             outfile.write((char*)&t,sizeof(t));
             cout<<"保存成功"<<endl;
        }
        outfile.close();
        getch();
    }
 
}
void System::display() 
{
    for(int i=0;i<n;i++)
    {v[i].show();} 
    cout<<"输入任意字符继续";    getch();
}
/*--------------------------主菜单-----------------------------*/
void System::menu() 
{
    cout<<"--------------*评 教 管 理 系 统*-------------"<<endl;
    cout<<"--------------*$1. 学生登陆界面*--------------"<<endl;
    cout<<"--------------*$2. 增加评教信息*--------------"<<endl;
    cout<<"--------------*$3. 更改评教信息*--------------"<<endl;
    cout<<"--------------*$4. 查找评教信息*--------------"<<endl;
    cout<<"--------------*$5. 显示评教信息*--------------"<<endl;
    cout<<"--------------*$6. 删除评教信息*--------------"<<endl;
    cout<<"--------------*$7. 保存相关数据*--------------"<<endl;
    cout<<"--------------*$8. 读取相关数据*--------------"<<endl;
    cout<<"--------------*$9. 退出评教系统*--------------"<<endl;
}
/*--------------------------添加数据-----------------------------*/
void System::add()
{
    string h="y";
    do{
    Lesson<char,char,double>l;
    l.input();
    n++;
    v.push_back(l); 
    cout<<"是否继续添加(y/n)?";
    cin>>h;
    }while(h=="y");
    cout<<"添加成功!输入任意字符继续";
    getch();
}
/*--------------------------查找课程-----------------------------*/
int System::lname(char *x) 
{
    int i;
    for(i=0;i<n;i++)
    {
        if(strcmp(v[i].tlesson,x)==0)
        {  return i;} 
    }
    return -1;
}
 
void System::find()
{
    char x[20];
    int a;
    cout<<"请输入要查找的课程名称:";    cin>>x;
    a=lname(x);
    if(a!=-1)
    v[a].show();
    else
    cout<<"没有找到相关课程信息"<<endl;
    cout<<"输入任意字符继续";
    getch();
}
/*--------------------------更改数据-----------------------------*/
void System::change() 
{
    char b[20];
    int k;
    cout<<"请输入需要修改的课程名称:";    cin>>b;
    k=lname(b);
    if(k!=-1){
    cout<<"已找到,请输入新的信息:"<<endl;
    v[k].input();}
    cout<<"输入任意字符继续:";
    getch();
}
/*--------------------------删除数据-----------------------------*/
void System::dele()
{
    char c[20];
    int d;
    cout<<"请输入要删除的课程名称:";    cin>>c;
    d=lname(c);
    if(d!=-1)
    {for(;d<n-1;d++)
    {strcpy(v[d].tname,v[d+1].tname);
    strcpy(v[d].tlesson,v[d+1].tlesson);
    v[d].grade==v[d+1].grade;
    }
    n--;
    }
    else
    cout<<"输入错误,找不到该课程信息"<<endl;
    cout<<"输入任意字符继续";
    getch();
} 
/*--------------------------主函数-----------------------------*/
int main()
{    
    Student x;
    System y; 
    int a;
    string ss="y";
    do{
        system("cls");
        cout<<"====================欢迎进入评教管理系统!===================="<<endl;
        y.menu() ;
        cout<<"请输入相应阿拉伯数字:";
        cin>>a;
        switch(a)
        {
            case 1:x.input();break;
            case 2:y.add();break;
            case 3:y.change();break;
            case 4:y.find();break;
            case 5:y.display();break;
            case 6:y.dele();break;
            case 7:y.save();break;
            case 8:y.read();break; 
            case 9:ss="n";break;
        }
        }while(ss=="y");
    return 0;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • C++实现评教管理系统

    本文实例为大家分享了C++实现评教管理系统的具体代码,供大家参考,具体内容如下 #include<iostream> #include<fstream> #include<cstring> #include <stdlib.h> #include <conio.h> #include<vector> using namespace std; int n;   class Student {public:     char sname[

  • Python趣味爬虫之用Python实现智慧校园一键评教

    一.安装selenium库 问题1:什么是selenium模块? 基于浏览器自动化的一个模块. 问题2:selenium模块有什么作用呢? 便捷地获取网站中动态加载的数据 便捷地实现模拟登录 问题3:环境安装 pip install selenium 二.下载一个浏览器的驱动程序(谷歌浏览器) 1.下载路径 http://chromedriver.storage.googleapis.com/index.html 2.驱动程序和浏览器的映射关系(谷歌浏览器) 方法1:[不推荐] 在浏览器地址栏输

  • Python实现智慧校园自动评教全新版

    前言 因为前面的文章中已经涉及到了登录智慧校园的验证码处理问题,所以本文将略过此过程.如登录时遇到验证码的情况,请参考此文.其实第一次使用有验证码的话,可以在浏览器先登录一次,然后再使用python代码模拟登录,验证码就没了.因为CQCET智慧校园验证码弹出是有限定条件的! 一.准备工作 导包 import json import requests import uuid from fake_useragent import UserAgent # 随机生成UserAgent 生成uuid和UA

  • java+SpringBoot设计实现评教系统

    目录 主要功能 运行环境 效果图展示 主要代码 教师管理控制层 登录控制层 管理员控制层 主要功能 共有三个角色:管理员.教师.学生. 管理员功能有:学生管理.教师管理.评教管理.指标管理.课程管理等. 教师功能有:学生管理.指标管理.课程管理. 学生功能有:评教管理. 运行环境 jdk1.8.mysql5.X.maven3.5\3.6.idea 效果图展示 主要代码 教师管理控制层 @Authority(roles = {Role.TEACHER}) @Controller @RequestM

  • 基于Java SSM框架实现简易的评教系统

    目录 介绍 效果图 部分核心代码 介绍 项目编号:BS-GX-014 数据库:mysql 开发工具:IDEA / ECLIPSE 开发技术:SSM 框架 本系统基于SSM框架实现.主要包含三个角色,管理员,老师,学生.管理员主要管理学生,老师,课程.学生可以进行选课,选完课后可以对任课老师评价.老师可以查看自己的评价信息. 效果图 部分展示功能如下: 管理员角色: 学生角色: 老师角色: 部分核心代码 package one.controller; import java.util.List;

  • 微信小程序如何修改本地缓存key中单个数据的详解

    最近在做教师评教系统,有一个'个人信息'页面中有个编辑修改邮箱的功能,本来想得很简单,结果进坑了,搞了好久才出来. 我想实现的效果是点击下图左侧邮箱,然后进入右侧页面,进行邮箱的修改,点击提交后跳转到左侧页面,同时邮箱也发生改变. 点击'我的'时,我让它从控制台打印出student缓存中传过来的数据,如下: {no: "1635050601", name: "张三", sex: "", email: "123@qq.com",

  • 教你用python实现一个无界面的小型图书管理系统

    一.需求了解 功能模块 图书信息 二.环境准备 安装mysql数据库 参考文章: MySQL数据库压缩版本安装与配置 MySQL msi版本下载安装图文教程 创建数据库表 创建数据库 CREATE DATABASE bookmanage; 使用数据库 use bookmanage; 创建表 create table books( id int unsigned primary key auto_increment not null, name varchar(20) default ""

  • 教你用Python实现简易版学生信息管理系统(含源码)

    一.项目分析 1.首先定义一个存放基础学生信息列表 格式:list = [{学号:姓名,年龄:num,成绩:num },{--}] student1 = [\ {1:"jam",'age':17,'socer':99}, {2:'kol','age':18,'socer':89}, {3:'avlir','age':19,'socer':100}] 2.先搭建框架(主函数main()) if __name__ == '__main__': while True: menu() key

  • Java超详细教你写一个学籍管理系统案例

    目录 前言 一.学籍管理系统功能介绍 1.介绍 2.学籍管理系统的主要功能图示 3.代码编写的思路 二.定义学生类 1.学生类名称: 2.包含的成员变量 3.构造方法 4.成员方法 5.代码示例 三.主界面的代码编写 1.思路 2.代码示例 四.系统功能方法的实现 1.添加学生信息的代码编写 1.1 思路 1.2 添加学生信息的方法说明图 1.3 代码示例 2.查看学生信息的代码编写 2.1 思路 2.2 查看学生信息的方法说明图 2.3 代码示例 3.删除学生信息的代码编写 3.1 思路 3.

  • 一篇文章教你用Python实现一个学生管理系统

    目录 片头 源码: 总结 片头 Python看了差不多三四天吧,基本上给基础看差不多了.写个管理系统吧,后续不出意外SQL.文件存储版本都会更. 学习Python感想: 人生苦短,我用Python 人生苦短,我用Python 人生苦短,我用Python 人生苦短,我用Python Python实在太爽了 源码: 使用Python3 ''' 学生成绩管理系统 时间:2021.9.9 作者:sunbeam ''' import time import os student_list = [] #定义

随机推荐