最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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<<"文件打不開(kāi)"<<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<<"文件不能被打開(kāi)"<<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<<"沒(méi)有找到相關(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)文章

  • 增加Vscode引用路徑的解決方法(2種)

    增加Vscode引用路徑的解決方法(2種)

    在嵌入式開(kāi)發(fā)中需要經(jīng)常用到庫(kù)函數(shù), Vscode需要配置引用路徑,本文主要介紹了增加Vscode引用路徑的解決方法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • C語(yǔ)言實(shí)現(xiàn)電子時(shí)鐘程序

    C語(yǔ)言實(shí)現(xiàn)電子時(shí)鐘程序

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)電子時(shí)鐘程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • C語(yǔ)言?棧與數(shù)組的實(shí)現(xiàn)詳解

    C語(yǔ)言?棧與數(shù)組的實(shí)現(xiàn)詳解

    棧(stack)又名堆棧,它是一種運(yùn)算受限的線性表。限定僅在表尾進(jìn)行插入和刪除操作的線性表。這一端被稱為棧頂,相對(duì)地,把另一端稱為棧底。向一個(gè)棧插入新元素又稱作進(jìn)棧、入?;驂簵?,它是把新元素放到棧頂元素的上面,使之成為新的棧頂元素
    2022-04-04
  • Qt實(shí)現(xiàn)線程與定時(shí)器的方法

    Qt實(shí)現(xiàn)線程與定時(shí)器的方法

    本文主要介紹了Qt實(shí)現(xiàn)線程與定時(shí)器的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C語(yǔ)言 如何求兩整數(shù)的最大公約數(shù)與最小公倍數(shù)

    C語(yǔ)言 如何求兩整數(shù)的最大公約數(shù)與最小公倍數(shù)

    這篇文章主要介紹了C語(yǔ)言中如何求兩整數(shù)的最大公約數(shù)與最小公倍數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • C++ 將字符串值賦給CHAR數(shù)組的實(shí)現(xiàn)

    C++ 將字符串值賦給CHAR數(shù)組的實(shí)現(xiàn)

    這篇文章主要介紹了C++ 將字符串值賦給CHAR數(shù)組的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • C語(yǔ)言中scanf與scanf_s函數(shù)的使用詳解

    C語(yǔ)言中scanf與scanf_s函數(shù)的使用詳解

    本文主要介紹了C語(yǔ)言中scanf與scanf_s函數(shù)的使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • C++入門指南之貪吃蛇游戲的實(shí)現(xiàn)

    C++入門指南之貪吃蛇游戲的實(shí)現(xiàn)

    這篇文章主要給大家介紹了關(guān)于C++入門指南之貪吃蛇游戲?qū)崿F(xiàn)的相關(guān)資料,文章通過(guò)示例代碼介紹的非常詳細(xì),可以讓大家能短時(shí)間內(nèi)寫(xiě)出一個(gè)貪吃蛇,需要的朋友可以參考下
    2021-10-10
  • C語(yǔ)言實(shí)現(xiàn)動(dòng)態(tài)鏈表的示例代碼

    C語(yǔ)言實(shí)現(xiàn)動(dòng)態(tài)鏈表的示例代碼

    本文主要介紹了C語(yǔ)言實(shí)現(xiàn)動(dòng)態(tài)鏈表的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • C語(yǔ)言詳解Z字形變換排列的實(shí)現(xiàn)

    C語(yǔ)言詳解Z字形變換排列的實(shí)現(xiàn)

    Z字形變換排列就是指將一個(gè)給定字符串根據(jù)給定的行數(shù),以從上往下、從左到右進(jìn)行 Z 字形排列,下面讓我們用C語(yǔ)言來(lái)實(shí)現(xiàn)
    2022-04-04

最新評(píng)論

永年县| 克什克腾旗| 慈溪市| 兴和县| 焉耆| 西贡区| 南溪县| 包头市| 罗定市| 囊谦县| 太湖县| 咸宁市| 琼海市| 额敏县| 原平市| 北安市| 望江县| 定日县| 清水河县| 屯门区| 黎平县| 色达县| 静安区| 梁河县| 佛坪县| 丹棱县| 田阳县| 宁波市| 简阳市| 高雄县| 儋州市| 金沙县| 磐安县| 明星| 贵德县| 肥城市| 清苑县| 桐梓县| 闽侯县| 汝南县| 略阳县|