国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

linux下C/C++學生信息管理系統

2020-01-26 13:47:37
字體:
來源:轉載
供稿:網友

一、簡介

      大學期間用vc++開發的簡單的學生信息管理系統,主要有添加學生信息、刪除學生信息、修改學生信息、查詢學生信息、顯示學生信息、綜合統計(各課程平均成績和合格率)、總分排序和退出系統。設計:

二、詳解

1、代碼

(1)main.cpp

#include<iostream> #include<fstream> #include<iomanip>  //使用setw()函數 #include<windows.h> //使用system()函數 #include<conio.h>  //使用getch(),輸入任意字符 #include <string>  //使用strcpy()函數 using namespace std; void baocun();//保存信息 int n=0;     //全局變量,記錄學生總人數。 char mi[]="1987"; //初始密碼 class student //學生類 { public:   int num;  //學生學號   char name[10];//學生姓名   char sex[4];//學生性別   char classroom[10];//學生班級   double a,b,c; //三門課的成績   double sum; //記錄個人三門課的總成績 }stu[100],paixu[100],wo[100];//聲明對象  class school:public student { public:   //聲明函數原型   void input(); //添加學生信息   void add();  //增加學生   void del();  //刪除學生信息   void alt();  //修改學生信息   void find();  //查詢學生信息   void disp();  //顯示學生信息   void cal();  //綜合統計(各課程平均成績和合格率)   void xu();  //總分排序   void back();  //返回主界面   void gai();   //修改密碼   void start();  //管理操作 }; //主函數 void main() {   school A;   char a;char c[20];char m[20];   system("cls");//清屏 DOC調用   system("color 1F"); //顏色 調用doc   cout<<setw(45)<<"您想進入學生管理系統?"<<endl;   cout<<"若進入請按Y,若不進入請按N."<<endl;   cin>>a;   if(a=='Y'||a=='y')   { cout<<setw(20)<<"0、退出."<<setw(15)<<"1、登陸."<<setw(20)<<"2、修改密碼."<<endl;      cout<<"請輸入操作選擇:";      int j;      cin>>j;     if(j>3||j<0)   //輸入超出范圍控制     {       cout<<"輸入有誤!"<<endl;       A.back();     }      switch(j)     {      case 1:break;      case 2:A.gai();break;     case 0:exit(0);break;     default:cout<<"你的輸入有誤!/n";     }     system("cls");//清屏 doc調用     system("color 3F"); //顏色 同樣是調用doc     cout<<"請輸入您的賬號:";cin>>c;     cout<<"請輸入您的密碼:";cin>>m;     if(strcmp(m,mi)==0&&strcmp(c,"admin")==0)     { A.start();}     else  //賬號、密碼輸入的錯誤提示     {       if(strcmp(c,"admin")!=0)         cout<<"賬號輸入有誤,請從新輸入!"<<endl;       if(strcmp(m,mi)!=0)         cout<<"密碼輸入有誤,請從新輸入!"<<endl;       cout<<"按任意鍵返回"<<endl;       getch();       main();     }   }   else  //退出系統   {     cout<<"謝謝您的關顧!"<<endl;     exit(0);   } }  void school::start() {   system("cls");//清屏 DOC調用   system("color 2F"); //顏色 調用doc   cout<<setw(45)<<"歡迎進入學生管理系統!"<<endl;   cout<<setw(35)<<"1、添加學生信息 ,并保存."<<setw(30)<<"2、刪除學生信息,并保存."<<endl;    cout<<setw(34)<<"3、修改學生信息,并保存."<<setw(24)<<"4、查詢學生信息."<<endl;   cout<<setw(27)<<"5、顯示學生信息."<<setw(53)<<"6、綜合統計(各課程平均成績和合格率.)"<<endl;   cout<<setw(23)<<"7、總分排序."<<setw(31)<<"8、增加學生."<<endl;   cout<<setw(23)<<"0、退出系統."<<endl;   cout<<"請輸入操作選擇:";    int i;    cin>>i;   if(i>9||i<0) //操作控制   {     cout<<"輸入有誤!"<<endl;     school::back();   }    switch(i)   {    case 1:school::input();break;    case 2:school::del();break;    case 3:school::alt();break;    case 4:school::find();break;   case 5:school::disp();break;   case 6:school::cal();break;   case 7:school::xu();break;   case 8:school::add();break;   case 0:exit(0);break;   default:cout<<"你的輸入有誤!/n";   } }  void school::input() //添加學生 {   system("color 1F"); //顏色 調用doc   system("cls");//清屏      cout<<"請輸入要添加的學生個數:(0-100)";    cin>>n;   if(n>=100||n<=0)    {     cout<<"輸入有誤!"<<endl;     cout<<"按任意鍵返回"<<endl;     getch();     input();    }   else   {     cout<<"****注意:輸入學號為整數!!性別只能為男或女!!輸入的成績為0-100!!****"<<endl;     cout<<"**********************************************"<<endl;      for(int i=0;i<n;i++)     {       cout<<"請輸入第"<<i+1<<"個同學的信息:"<<endl;              cout<<"學號"<<setw(7)<<"姓名"<<setw(7)<<"性別"<<setw(7)<<"班級"<<setw(10)         <<"英語成績"<<setw(10)<<"C++成績"<<setw(10)<<"數學成績"<<endl;       cin>>stu[i].num;   cin>>stu[i].name;       cin>>stu[i].sex;    cin>>stu[i].classroom;       cin>>stu[i].a;     cin>>stu[i].b;       cin>>stu[i].c;           if(stu[i].num<=0&&stu[i].num<2147483647)       {cout<<"學號輸入有誤,請重新輸入./n" ;         cout<<"按任意鍵返回"<<endl;         getch();school::input();}       if(strcmp(stu[i].sex,"nan")!=0&&strcmp(stu[i].sex,"nv")!=0)       {cout<<"性別輸入有誤,請重新輸入./n";         cout<<"按任意鍵返回"<<endl;         getch();school::input();}       if(stu[i].a<0||stu[i].a>100)       {  cout<<"英語成績輸入有誤,請重新輸入./n";         cout<<"按任意鍵返回"<<endl;         getch();school::input();}       if(stu[i].b<0||stu[i].b>100)       {cout<<"C++成績輸入有誤,請重新輸入./n";         cout<<"按任意鍵返回"<<endl;         getch();school::input();}       if(stu[i].c<0||stu[i].c>100)       {  cout<<"數學成績輸入有誤,請重新輸入./n";         cout<<"按任意鍵返回"<<endl;         getch();school::input();}       stu[i].sum=stu[i].a+stu[i].b+stu[i].c;}   }   baocun();   school::back(); }  void school::add() {system("color 1F"); //顏色 調用doc   system("cls");//清屏   int m;   cout<<"請輸入要增加的學生個數:";    cin>>m;n+=m;   if(n>=100||n<=0)    {cout<<"輸入有誤!"<<endl;     cout<<"按任意鍵返回"<<endl;     getch();     school::input(); }   else   { cout<<"****注意:輸入學號為整數!!性別只能為男或女!!輸入的成績為0-100!!****"<<endl;     for(int i=n-m;i<n;i++)     {cout<<"請輸入第"<<i+1<<"個同學的信息:"<<endl;       cout<<"學號"<<setw(7)<<"姓名"<<setw(7)<<"性別"<<setw(7)<<"班級"<<setw(10)         <<"英語成績"<<setw(10)<<"C++成績"<<setw(10)<<"數學成績"<<endl;       cin>>stu[i].num;   cin>>stu[i].name;       cin>>stu[i].sex;    cin>>stu[i].classroom;       cin>>stu[i].a;     cin>>stu[i].b;       cin>>stu[i].c; stu[i].sum=stu[i].a+stu[i].b+stu[i].c;        if(strcmp(stu[i].sex,"nan")!=0&&strcmp(stu[i].sex,"nv")!=0)       {cout<<"性別輸入有誤,請重新輸入./n";         cout<<"按任意鍵返回"<<endl;         getch();school::input();}       if(stu[i].a<0||stu[i].a>100)       {  cout<<"英語成績輸入有誤,請重新輸入./n";         cout<<"按任意鍵返回"<<endl;         getch();school::input();}       if(stu[i].b<0||stu[i].b>100)       {cout<<"C++成績輸入有誤,請重新輸入./n";         cout<<"按任意鍵返回"<<endl;         getch();school::input();}       if(stu[i].c<0||stu[i].c>100)       {  cout<<"數學成績輸入有誤,請重新輸入./n";         cout<<"按任意鍵返回"<<endl;}     }   }   baocun();   cout<<"*********增加后的學生信息*******/n";   school::disp(); }  void school:: xu()//  學生總分從高到低排序 {system("color 1F"); //顏色 同樣是調用doc   system("cls");//清屏   for(int pass=1;pass<=n;pass++)   {int work=0;     for(int i=0;i<n;i++)       paixu[i]=stu[i];     for(int i=0;i<n-pass;i++)       if(paixu[i].sum<paixu[i+1].sum)       {wo[i]=paixu[i];paixu[i]=paixu[i+1];         paixu[i+1]=wo[i];         work=1;       } if(work)break;        }    cout<<"###########總分排序后的信息 .#############"<<endl;   cout<<"名次"<<setw(8)<<"班級"<<setw(8)<<"姓名"<<setw(8)<<"總成績" <<endl;   for(int i=0;i<n;i++)   {cout<<i+1<<setw(10)<<paixu[i].classroom<<setw(10)<<paixu[i].name<<setw(10)<<paixu[i].sum<<endl;}   school::back(); }  void school:: disp()//顯示同學信息 {   system("color 1F"); //顏色 同樣是調用doc   system("cls");//清屏   cout<<"************學生信息瀏覽************/n";   cout<<"學號"<<setw(7)<<"姓名"<<setw(7)<<"性別"<<setw(7)<<"班級"<<setw(12)     <<"英語成績"<<setw(8)<<"C++"<<setw(10)<<"數學成績"<<setw(13)<<"該同學總分"<<endl;   for(int i=0;i<n;i++)     cout<<stu[i].num<<'/t'<<stu[i].name<<'/t'<<stu[i].sex       <<'/t'<<stu[i].classroom<<'/t'<<stu[i].a<<'/t'<<stu[i].b<<'/t'<<stu[i].c      <<'/t'<<stu[i].sum<<endl;   school:: back(); }   void school:: find()  {   system("color 1F"); //顏色 同樣是調用doc   system("cls");//清屏   int h,j;char na[20],ban[20];   cout<<"&&&&&進入查詢系統&&&&&&&&"<<endl;   cout<<"1、按學號查找  2、按姓名查找 /n"      <<"3、按班級收索  0、返回主頁面/n";   cout<<"請輸入操作選擇:";    int i;    cin>>i;   if(i>8||i<0) //操作控制   {     cout<<"輸入有誤!"<<endl;     school::back();   }    switch(i)   {case 1:   {system("color 1F"); //顏色 同樣是調用doc     system("cls");//清屏     cout<<"輸入學生學號:";cin>>h;     for(int i=0;i<n;i++)       if(stu[i].num ==h)        {cout<<"********查找的同學的信息********/n";         cout<<"學號"<<setw(7)<<"姓名"<<setw(7)<<"性別"<<setw(7)<<"班級"<<setw(12)           <<"英語成績"<<setw(8)<<"C++"<<setw(10)<<"數學成績"<<setw(13)<<"該同學總分"<<endl;         cout<<stu[i].num<<'/t'<<stu[i].name<<'/t'<<stu[i].sex           <<'/t'<<stu[i].classroom<<'/t'<<stu[i].a<<'/t'<<stu[i].b<<'/t'<<stu[i].c          <<'/t'<<stu[i].sum<<endl;         j++;       }     if(j==0)       cout<<"沒有你要查找的信息";     school::back();break;   }    case 2:   {system("color 1F"); //顏色 同樣是調用doc     system("cls");//清屏     cout<<"輸入學生姓名:";cin>>na;     for(int i=0;i<n;i++)       if(strcmp(stu[i].name ,na)==0)       {cout<<"********查找的同學的信息********/n";         cout<<"學號"<<setw(7)<<"姓名"<<setw(7)<<"性別"<<setw(7)<<"班級"<<setw(12)           <<"英語成績"<<setw(8)<<"C++"<<setw(10)<<"數學成績"<<setw(13)<<"該同學總分"<<endl;         cout<<stu[i].num<<'/t'<<stu[i].name<<'/t'<<stu[i].sex           <<'/t'<<stu[i].classroom<<'/t'<<stu[i].a<<'/t'<<stu[i].b<<'/t'<<stu[i].c          <<'/t'<<stu[i].sum<<endl;         j++;       }     if(j==0)       cout<<"沒有你要查找的信息";     school::back();break;   }   case 3:   {system("color 1F"); //顏色 同樣是調用doc     system("cls");//清屏     cout<<"輸入學生班級:";cin>>ban;     cout<<"********查找的同學的信息********/n";     for(int i=0;i<n;i++)       if(strcmp(stu[i].classroom,ban)==0)       {         cout<<"學號"<<setw(7)<<"姓名"<<setw(7)<<"性別"<<setw(7)<<"班級"<<setw(12)           <<"英語成績"<<setw(8)<<"C++"<<setw(10)<<"數學成績"<<setw(13)<<"該同學總分"<<endl;         cout<<stu[i].num<<'/t'<<stu[i].name<<'/t'<<stu[i].sex           <<'/t'<<stu[i].classroom<<'/t'<<stu[i].a<<'/t'<<stu[i].b<<'/t'<<stu[i].c          <<'/t'<<stu[i].sum<<endl;         j++;       }     cout<<"在此班級的一共有:"<< j<<"人!"<<endl;     if(j==0)       cout<<"沒有你要查找的信息";     school::back();break;   }   case 0:school::back();break;   } }  void school::del()//刪除指定學號學生信息 {system("cls");//清屏; //顏色 同樣是調用doc   system("color 1F"); //顏色 同樣是調用doc   int a,y=0;   char x;   cout<<"請輸入要刪除的學生學號";    cin>>a;   for(int i=0;i<n;i++)     if(stu[i].num==a)     {       cout<<"該生的信息:/n";       cout<<"學號"<<setw(7)<<"姓名"<<setw(7)<<"性別"<<setw(7)<<"班級"<<setw(10)         <<"英語成績"<<setw(10)<<"C++成績"<<setw(10)<<"數學成績"<<setw(13)<<"該同學總分"<<endl;       cout<<stu[i].num<<" "<<stu[i].name<<'/t'<<stu[i].sex         <<'/t'<<stu[i].classroom<<'/t'<<stu[i].a<<'/t'<<stu[i].b<<'/t'<<stu[i].c        <<'/t'<<stu[i].sum<<endl;       cout<<"是否確認刪除?(Y/N)"<<endl;       cin>>x;       if(x=='Y'||x=='y')       {         y++;         for(;i<n;i++)            stu[i]=stu[i+1];         n=n-1;//每刪除一個總是減少一個       }       else       {cout<<"退出刪除!"<<endl;         school::back();}     }      if(y==0)   {     cout<<"該學生不存在!"<<endl;     school::back();   }   else   {baocun();     cout<<"刪除后的信息為:"<<endl;     school:: disp();     school::back();   }  }  void school::alt()//修改指定學號學生  {system("color 1F"); //顏色 同樣是調用doc   system("cls");//清屏   int xh,y=0;   char x;   cout<<"請輸入要修改學生的學號:";    cin>>xh;   for(int i=0;i<n;i++)     if(stu[i].num ==xh)     {       cout<<"該生的信息:/n";       cout<<"學號"<<setw(7)<<"姓名"<<setw(7)<<"性別"<<setw(7)<<"班級"<<setw(10)         <<"英語成績"<<setw(10)<<"C++成績"<<setw(10)<<"數學成績"<<endl;       cout<<stu[i].num<<'/t'<<stu[i].name<<'/t'<<stu[i].sex         <<'/t'<<stu[i].classroom<<'/t'<<stu[i].a<<'/t'<<stu[i].b<<'/t'<<stu[i].c        <<'/t'<<endl;       cout<<"是否確認修改?(Y/N)"<<endl;       cin>>x;       if(x=='Y'||x=='y')       {y++;         cout<<"****注意:輸入學號為整數!!性別只能為男或女!!輸入的成績為0-100!!****"<<endl;         cout<<"**********************************************************"<<endl;         cout<<"學號"<<setw(7)<<"姓名"<<setw(7)<<"性別"<<setw(7)<<"班級"<<setw(10)           <<"英語成績"<<setw(10)<<"C++成績"<<setw(10)<<"數學成績"<<endl;         cin>>stu[i].num;   cin>>stu[i].name;         cin>>stu[i].sex;    cin>>stu[i].classroom;         cin>>stu[i].a;     cin>>stu[i].b;         cin>>stu[i].c;     stu[i].sum=stu[i].a+stu[i].b+stu[i].c;       }       else       {         school::back();       }     }   if(y==0)   {     cout<<"該學生不存在!";     school::back();   }   else   { baocun();     cout<<"***********修改后的信息為************"<<endl;     school::disp();   } }  void school::cal()//綜合統計(各課程平均成績和合格率) {   system("color 1F"); //顏色 同樣是調用doc   system("cls");//清屏   double english=0,program=0,math=0;   for(int i=0;i<n;i++)   {english+=stu[i].a;     program+=stu[i].b;     math+=stu[i].c;   }   cout<<"**********各課程平均成績為**********"<<endl;   cout<<"英語平均成績:"<<english/n<<endl;   cout<<"C++平均成績:"<<program/n<<endl;   cout<<"數學平均成績:"<<math/n<<endl;   double t=0,y=0,u=0;   for(int i=0;i<n;i++)   {if(stu[i].a>60)t++;     if(stu[i].b>60)y++;     if(stu[i].c>60)u++;   }   cout<<"**********各課程合格率**********"<<endl;   cout<<"英語合格率:"<<t/n*100<<"%"<<endl;   cout<<"C++合格率:"<<y/n*100<<"%"<<endl;   cout<<"數學合格率:"<<u/n*100<<"%"<<endl;   school::back(); }  void school:: gai()//修改密碼 {system("cls");//清屏; //顏色 同樣是調用doc   system("color 2F"); //顏色 同樣是調用doc   char mi2[20],mi3[20],mi4[20];   cout<<"&&&&&&&歡迎修改密碼!&&&&&&&&&"<<endl;   cout<<"請輸入原密碼:";cin>>mi2;        if(strcmp(mi2,mi)==0)   {cout<<"請輸入新密碼:";cin>>mi3;     cout<<"請再輸入新密碼:";cin>>mi4;}   else    {     cout<<"密碼錯誤,請重新輸入."<<endl;     cout<<"按任意鍵返回!"<<endl;getch();     system("cls");//清屏; //顏色 同樣是調用doc     system("color 2F"); //顏色 同樣是調用doc     gai();   }   if(strcmp(mi3,mi4)==0)   {cout<<"恭喜修改密碼成功!"<<endl;strcpy(mi,mi3);     cout<<"按任意鍵返回!"<<endl;     getch();main();}   else   {cout<<"前后密碼不同,請從新輸入!"<<endl;     cout<<"按任意鍵返回!"<<endl;     getch();     system("cls");//清屏; //顏色 同樣是調用doc     system("color 2F"); //顏色 同樣是調用doc     gai();   } }  void baocun()//保存信息 {char ch;school B;   cout<<"是否要保存信息?(Y/N)/n";   cin>>ch;   if(ch=='Y'||ch=='y')   {  char filename[20];     fstream f;char answer;char s[80];     cout<<"請輸入要保存文件的路徑:(如:D://student.dat)/n";     cin>>filename;     f.open(filename,ios::out);     f<<"**************存取的學生信息***********"<<endl;     f<<"學號"<<setw(7)<<"姓名"<<setw(7)<<"性別"<<setw(7)<<"班級"<<setw(10)<<"英語成績"<<       setw(10)<<"C++成績"<<setw(10)<<"數學成績"<<setw(13)<<"該同學總分"<<endl;     for (int i=0;i<n;i++)       f<<stu[i].num<<'/t'<<stu[i].name<<'/t'<<stu[i].sex       <<'/t'<<stu[i].classroom<<'/t'<<stu[i].a<<'/t'<<stu[i].b<<'/t'<<stu[i].c       <<'/t'<<stu[i].sum<<endl;     f.close();     cout<<"信息已經保存,要瀏覽嗎?(Y/N)/n";     cin>>answer;     if(answer=='Y'||answer=='y')     {       f.open(filename,ios::in);//重用流打開文件       while(!f.eof())       {         f.getline(s,80);         cout<<s<<endl;       }            }       f.close();//關閉文本文件     B.back();     system("cls");//清屏; //顏色 同樣是調用doc     system("color 2F"); //顏色 同樣是調用doc   } } void school::back()//返回 {   cout<<"按任意鍵返回!"<<endl;   getch();   school::start(); } 

 (2)編譯運行

在vc6.0或vs2010上都能編譯通過,登錄的用戶名是admin,密碼是1987。

三、總結

(1)上述代碼無實際用途,僅僅用來回憶學習C++的過程。
(2)若有建議,請留言,在此先感謝!

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 婺源县| 屯门区| 松溪县| 八宿县| 尼木县| 常山县| 蓬莱市| 凤城市| 措美县| 定陶县| 三门峡市| 晋州市| 晴隆县| 琼结县| 沙湾县| 东光县| 阜宁县| 义乌市| 永和县| 邹平县| 桐城市| 海城市| 大名县| 都江堰市| 平度市| 南投县| 绥滨县| 西城区| 沭阳县| 抚远县| 朝阳市| 即墨市| 浮山县| 肇州县| 永和县| 蕉岭县| 大余县| 革吉县| 上栗县| 清徐县| 安溪县|