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

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

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

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

#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<<"登陸成功!輸入任意字符繼續(xù)";?? ?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();
};
?
/*--------------------------輸出函數(shù)-----------------------------*/
template<typename T1,typename T2,typename T3>
void Lesson<T1,T2,T3>::show()
{
?? ?cout<<"教師姓名:"<<tname<<endl;
?? ?cout<<"課程名稱:"<<tlesson<<endl;
?? ?cout<<"評教分數(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<<"請輸入教師姓名:";?? ?cin>>tname;
?? ?cout<<"請輸入課程名稱:";?? ?cin>>tlesson;
?? ?cout<<"請輸入打分(0-100):";?? ?cin>>grade;
?? ?try{?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?//異常處理?
?? ??? ?if(grade<0||grade>100)?? ?throw 0;
?? ??? ?else
?? ??? ?cout<<endl;}
?? ?catch(int)
?? ?{cout<<"輸入數(shù)據(jù)錯誤,請重新輸入";}
?? ?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<<"評教分數(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<<"--------------*評 教 管 理 系 統(tǒng)*-------------"<<endl;
? ? cout<<"--------------*$1. 學生登陸界面*--------------"<<endl;
? ? cout<<"--------------*$2. 增加評教信息*--------------"<<endl;
? ? cout<<"--------------*$3. 更改評教信息*--------------"<<endl;
? ? cout<<"--------------*$4. 查找評教信息*--------------"<<endl;
? ? cout<<"--------------*$5. 顯示評教信息*--------------"<<endl;
? ? cout<<"--------------*$6. 刪除評教信息*--------------"<<endl;
? ? cout<<"--------------*$7. 保存相關數(shù)據(jù)*--------------"<<endl;
? ? cout<<"--------------*$8. 讀取相關數(shù)據(jù)*--------------"<<endl;
? ? cout<<"--------------*$9. 退出評教系統(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<<"請輸入要查找的課程名稱:";?? ?cin>>x;
?? ?a=lname(x);
?? ?if(a!=-1)
?? ?v[a].show();
?? ?else
?? ?cout<<"沒有找到相關課程信息"<<endl;
?? ?cout<<"輸入任意字符繼續(xù)";
?? ?getch();
}
/*--------------------------更改數(shù)據(jù)-----------------------------*/
void System::change()?
{
?? ?char b[20];
?? ?int k;
?? ?cout<<"請輸入需要修改的課程名稱:";?? ?cin>>b;
?? ?k=lname(b);
?? ?if(k!=-1){
?? ?cout<<"已找到,請輸入新的信息:"<<endl;
?? ?v[k].input();}
?? ?cout<<"輸入任意字符繼續(xù):";
? ? getch();
}
/*--------------------------刪除數(shù)據(jù)-----------------------------*/
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<<"輸入任意字符繼續(xù)";
? ? getch();
}?
/*--------------------------主函數(shù)-----------------------------*/
int main()
{?? ?
?? ?Student x;
?? ?System y;?
?? ?int a;
?? ?string ss="y";
?? ?do{
?? ??? ?system("cls");
?? ??? ?cout<<"====================歡迎進入評教管理系統(tǒng)!===================="<<endl;
? ? ?? ?y.menu() ;
?? ??? ?cout<<"請輸入相應阿拉伯數(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;
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

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

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

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

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

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

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

    學習c++與matlab混合編程一般是通過c++調用matlab函數(shù),因為matlab具有強大的數(shù)學函數(shù)庫,然而vc++具有界面設計靈活的優(yōu)點,下面這篇文章主要給大家介紹了關于在ubuntu系統(tǒng)下C++調用matlab程序的方法,需要的朋友可以參考下。
    2017-08-08
  • C++產生隨機數(shù)的幾種方法小結

    C++產生隨機數(shù)的幾種方法小結

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

    C++設計模式之裝飾模式

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

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

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

    vc控制臺程序關閉事件時的處理方式及注意點詳解

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

    Qt(C++)調用工業(yè)相機Basler的SDK使用示例

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

    C語言實現(xiàn)自動發(fā)牌程序

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

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

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

最新評論