我的编程空间,编程开发者的网络收藏夹
学习永远不晚

C++实现评教管理系统

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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;
}

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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

C++实现评教管理系统

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

C++如何实现教职工管理系统

这篇文章主要介绍“C++如何实现教职工管理系统”,在日常操作中,相信很多人在C++如何实现教职工管理系统问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++如何实现教职工管理系统”的疑惑有所帮助!接下来,请跟
2023-06-29

C语言如何实现教务管理系统

这篇文章主要介绍“C语言如何实现教务管理系统”,在日常操作中,相信很多人在C语言如何实现教务管理系统问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C语言如何实现教务管理系统”的疑惑有所帮助!接下来,请跟着小编
2023-06-29

C#实现学生管理系统

这篇文章主要为大家详细介绍了C#实现学生管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
2022-11-13

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录