欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++實(shí)現(xiàn)評(píng)教管理系統(tǒng)

 更新時(shí)間:2022年03月15日 09:53:00   作者:唐納特  
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)評(píng)教管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了C++實(shí)現(xiàn)評(píng)教管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

#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();
};
/*--------------------------學(xué)生登陸-----------------------------*/
void Student::input()
{
?? ?cout<<"請(qǐng)輸入您的姓名:";?? ?cin>>sname;
?? ?cout<<"請(qǐng)輸入您的學(xué)號(hào):";?? ?cin>>snum;
?? ?cout<<"請(qǐng)輸入您的班級(jí):";?? ?cin>>sclass;
?? ?cout<<"登陸成功!輸入任意字符繼續(xù)";?? ?getch();
}
/*--------------------------評(píng)教信息 類模板-----------------------------*/
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();
};
?
/*--------------------------輸出函數(shù)-----------------------------*/
template<typename T1,typename T2,typename T3>
void Lesson<T1,T2,T3>::show()
{
?? ?cout<<"教師姓名:"<<tname<<endl;
?? ?cout<<"課程名稱:"<<tlesson<<endl;
?? ?cout<<"評(píng)教分?jǐn)?shù):"<<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;
/*--------------------------輸入函數(shù)-----------------------------*/
template<typename T1,typename T2,typename T3>
void Lesson<T1,T2,T3>::input()
{
?? ?cout<<"請(qǐng)輸入教師姓名:";?? ?cin>>tname;
?? ?cout<<"請(qǐng)輸入課程名稱:";?? ?cin>>tlesson;
?? ?cout<<"請(qǐng)輸入打分(0-100):";?? ?cin>>grade;
?? ?try{?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?//異常處理?
?? ??? ?if(grade<0||grade>100)?? ?throw 0;
?? ??? ?else
?? ??? ?cout<<endl;}
?? ?catch(int)
?? ?{cout<<"輸入數(shù)據(jù)錯(cuò)誤,請(qǐng)重新輸入";}
?? ?cout<<endl;
}
/*--------------------------讀取函數(shù)-----------------------------*/
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<<"評(píng)教分?jǐn)?shù):"<<ch.grade<<endl;
? ? ? ? cout<<endl;
?
? ? }
? ? infile.close();
? ? cout<<"讀取成功"<<endl;
?? ?getch();
}
/*--------------------------保存函數(shù)-----------------------------*/
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<<"輸入任意字符繼續(xù)";?? ?getch();
}
/*--------------------------主菜單-----------------------------*/
void System::menu()?
{
?? ?cout<<"--------------*評(píng) 教 管 理 系 統(tǒng)*-------------"<<endl;
? ? cout<<"--------------*$1. 學(xué)生登陸界面*--------------"<<endl;
? ? cout<<"--------------*$2. 增加評(píng)教信息*--------------"<<endl;
? ? cout<<"--------------*$3. 更改評(píng)教信息*--------------"<<endl;
? ? cout<<"--------------*$4. 查找評(píng)教信息*--------------"<<endl;
? ? cout<<"--------------*$5. 顯示評(píng)教信息*--------------"<<endl;
? ? cout<<"--------------*$6. 刪除評(píng)教信息*--------------"<<endl;
? ? cout<<"--------------*$7. 保存相關(guān)數(shù)據(jù)*--------------"<<endl;
? ? cout<<"--------------*$8. 讀取相關(guān)數(shù)據(jù)*--------------"<<endl;
? ? cout<<"--------------*$9. 退出評(píng)教系統(tǒng)*--------------"<<endl;
}
/*--------------------------添加數(shù)據(jù)-----------------------------*/
void System::add()
{
?? ?string h="y";
?? ?do{
?? ?Lesson<char,char,double>l;
?? ?l.input();
?? ?n++;
?? ?v.push_back(l);?
?? ?cout<<"是否繼續(xù)添加(y/n)?";
?? ?cin>>h;
?? ?}while(h=="y");
?? ?cout<<"添加成功!輸入任意字符繼續(xù)";
?? ?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<<"請(qǐng)輸入要查找的課程名稱:";?? ?cin>>x;
?? ?a=lname(x);
?? ?if(a!=-1)
?? ?v[a].show();
?? ?else
?? ?cout<<"沒有找到相關(guān)課程信息"<<endl;
?? ?cout<<"輸入任意字符繼續(xù)";
?? ?getch();
}
/*--------------------------更改數(shù)據(jù)-----------------------------*/
void System::change()?
{
?? ?char b[20];
?? ?int k;
?? ?cout<<"請(qǐng)輸入需要修改的課程名稱:";?? ?cin>>b;
?? ?k=lname(b);
?? ?if(k!=-1){
?? ?cout<<"已找到,請(qǐng)輸入新的信息:"<<endl;
?? ?v[k].input();}
?? ?cout<<"輸入任意字符繼續(xù):";
? ? getch();
}
/*--------------------------刪除數(shù)據(jù)-----------------------------*/
void System::dele()
{
?? ?char c[20];
?? ?int d;
?? ?cout<<"請(qǐng)輸入要?jiǎng)h除的課程名稱:";?? ?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<<"輸入錯(cuò)誤,找不到該課程信息"<<endl;
? ? cout<<"輸入任意字符繼續(xù)";
? ? getch();
}?
/*--------------------------主函數(shù)-----------------------------*/
int main()
{?? ?
?? ?Student x;
?? ?System y;?
?? ?int a;
?? ?string ss="y";
?? ?do{
?? ??? ?system("cls");
?? ??? ?cout<<"====================歡迎進(jìn)入評(píng)教管理系統(tǒng)!===================="<<endl;
? ? ?? ?y.menu() ;
?? ??? ?cout<<"請(qǐng)輸入相應(yīng)阿拉伯?dāng)?shù)字:";
? ? ?? ?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;
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C++實(shí)現(xiàn)線程池的簡(jiǎn)單方法示例

    C++實(shí)現(xiàn)線程池的簡(jiǎn)單方法示例

    這篇文章主要給大家介紹了關(guān)于C++實(shí)現(xiàn)線程池的簡(jiǎn)單方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用C++具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • C語言實(shí)現(xiàn)簡(jiǎn)單的貪吃蛇游戲的示例代碼

    C語言實(shí)現(xiàn)簡(jiǎn)單的貪吃蛇游戲的示例代碼

    這篇文章主要為大家詳細(xì)介紹了C語言如何實(shí)現(xiàn)經(jīng)典貪吃蛇游戲,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C語言有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-01-01
  • ubuntu系統(tǒng)下C++調(diào)用matlab程序的方法詳解

    ubuntu系統(tǒng)下C++調(diào)用matlab程序的方法詳解

    學(xué)習(xí)c++與matlab混合編程一般是通過c++調(diào)用matlab函數(shù),因?yàn)閙atlab具有強(qiáng)大的數(shù)學(xué)函數(shù)庫,然而vc++具有界面設(shè)計(jì)靈活的優(yōu)點(diǎn),下面這篇文章主要給大家介紹了關(guān)于在ubuntu系統(tǒng)下C++調(diào)用matlab程序的方法,需要的朋友可以參考下。
    2017-08-08
  • C++產(chǎn)生隨機(jī)數(shù)的幾種方法小結(jié)

    C++產(chǎn)生隨機(jī)數(shù)的幾種方法小結(jié)

    本文主要介紹了C++產(chǎn)生隨機(jī)數(shù)的幾種方法小結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • C++設(shè)計(jì)模式之裝飾模式

    C++設(shè)計(jì)模式之裝飾模式

    這篇文章主要介紹了C++設(shè)計(jì)模式之裝飾模式,裝飾模式能夠?qū)崿F(xiàn)動(dòng)態(tài)的為對(duì)象添加功能,是從一個(gè)對(duì)象外部來給對(duì)象添加功能,需要的朋友可以參考下
    2014-10-10
  • CLion開發(fā)stm32?使用DSP庫的操作方法

    CLion開發(fā)stm32?使用DSP庫的操作方法

    這篇文章主要介紹了CLion開發(fā)stm32?使用DSP庫的方法,首先需要添加DSP庫文件到工程目錄,修改CMakeLists,添加STM32HAL庫,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • vc控制臺(tái)程序關(guān)閉事件時(shí)的處理方式及注意點(diǎn)詳解

    vc控制臺(tái)程序關(guān)閉事件時(shí)的處理方式及注意點(diǎn)詳解

    在本篇文章里小編給大家整理的是一篇關(guān)于vc控制臺(tái)程序關(guān)閉事件時(shí)的正確處理方式的相關(guān)知識(shí)點(diǎn)內(nèi)容,對(duì)此有需求的朋友們可以參閱下。
    2021-12-12
  • Qt(C++)調(diào)用工業(yè)相機(jī)Basler的SDK使用示例

    Qt(C++)調(diào)用工業(yè)相機(jī)Basler的SDK使用示例

    這篇文章主要介紹了Qt(C++)調(diào)用工業(yè)相機(jī)Basler的SDK使用示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • C語言實(shí)現(xiàn)自動(dòng)發(fā)牌程序

    C語言實(shí)現(xiàn)自動(dòng)發(fā)牌程序

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)自動(dòng)發(fā)牌程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • C語言代碼實(shí)現(xiàn)簡(jiǎn)單掃雷游戲

    C語言代碼實(shí)現(xiàn)簡(jiǎn)單掃雷游戲

    這篇文章主要為大家詳細(xì)介紹了C語言代碼實(shí)現(xiàn)簡(jiǎn)單掃雷游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-02-02

最新評(píng)論