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

C++課程設(shè)計(jì)之學(xué)生成績(jī)管理系統(tǒng)

 更新時(shí)間:2020年12月29日 11:34:27   作者:chaoyue66  
這篇文章主要為大家詳細(xì)介紹了C++課程設(shè)計(jì)之學(xué)生成績(jī)管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了C++學(xué)生成績(jī)管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

/*要求:設(shè)立程序管理學(xué)生如下信息:學(xué)生學(xué)號(hào)、姓名、班級(jí),語(yǔ)文、數(shù)學(xué)、英語(yǔ)成績(jī)。
 至少要有10名以上學(xué)生。
能夠?qū)崿F(xiàn)根據(jù)以下關(guān)鍵字查詢:學(xué)生姓名 、學(xué)號(hào)、班級(jí)、課程名稱。
  能夠?qū)崿F(xiàn)按照單科成績(jī)、總成績(jī)、平均成績(jī)、學(xué)號(hào)排序。
  能夠?qū)崿F(xiàn)學(xué)生信息的插入、刪除和修改。
能夠查詢每個(gè)課程的最高分、最低分及相應(yīng)學(xué)生姓名、班級(jí)和學(xué)號(hào)。
能夠查詢每個(gè)班級(jí)某門(mén)課程的優(yōu)秀率(90分及以上)、不及格率,并進(jìn)行排序。*/
#include<iostream>
#include<iomanip>
#include<string>
using namespace std;
class student
{
 int num;
 char name[20];
 char class1[20];
 double chinese;
 double math;
 double english;
 double youxiu;//優(yōu)秀率
 double bujige;//不及格率
 double sum;//總成績(jī)
 double aver1;//平均成績(jī)
 
public:
 void set()
 {
 
 cout<<"\t學(xué)生學(xué)號(hào):";
 cin>>num;
 cout<<"\t學(xué)生姓名:";
 cin>>name;
  cout<<"\t學(xué)生班級(jí):";
 cin>>class1;
 cout<<"\t語(yǔ)文成績(jī):";
 cin>>chinese;
 cout<<"\t英語(yǔ)成績(jī):";
 cin>>english;
 cout<<"\t數(shù)學(xué)成績(jī):";
 cin>>math;
 }
 void show()
 {
 cout<<"該學(xué)生的學(xué)號(hào):"<<num<<endl;
 cout<<"該學(xué)生的姓名:"<<name<<endl;
 cout<<"該學(xué)生的班級(jí):"<<class1<<endl;
 cout<<"該學(xué)生的語(yǔ)文成績(jī):"<<chinese<<endl;
 cout<<"該學(xué)生的數(shù)學(xué)成績(jī):"<<math<<endl;
 cout<<"該學(xué)生的英語(yǔ)成績(jī):"<<english<<endl;
 }
 double ad(){return sum=chinese+english+math;}
 double aver()
 {
 aver1=(chinese+english+math)/3;
 return aver1;
 }
 friend void show();
 friend void search(); 
 friend void change(); 
 friend void add(); 
 friend void paixu();
 friend void del(); 
 
};
 void input();
 void show();
 void search(); 
 void change(); 
 void add(); 
 void paixu();
 void del(); 
 student s[100];
 int n=0;
 
int main()
{
 
 int select; 
 while(1)
 {
 system("cls");
 cout<<"\t ******************歡迎使用******************\n";
 cout<<"\t **************學(xué)生成績(jī)管理系統(tǒng)**************\n";
 cout<<"\t *------------------------------------------*\n";
 cout<<"\t *   1——錄入學(xué)生信息    *\n";
 cout<<"\t *   2——顯示學(xué)生信息    *\n";
 cout<<"\t *   3——查詢學(xué)生信息    *\n";
 cout<<"\t *   4——修改學(xué)生信息    *\n";
 cout<<"\t *   5——添加學(xué)生信息    *\n";
 cout<<"\t *   6——排序?qū)W生信息    *\n";
 cout<<"\t *   7——?jiǎng)h除學(xué)生信息    *\n";
 cout<<"\t *   0——退出      *\n";
 cout<<"\t *------------------------------------------*\n";
 cout<<"\t 你要輸入的編號(hào)是(0--7):";
 cin>>select;
 if(select==0) break;
 switch(select){
 case 1:
 input(); //調(diào)用input函數(shù)錄入數(shù)據(jù)
 system("pause");
 break;
 case 2:
 show(); //調(diào)用show函數(shù)顯示學(xué)生信息 
 system("pause");
 break;
 case 3:
  search(); //調(diào)用search函數(shù)查詢學(xué)生信息
 system("pause");
 break;
 case 4:
 change(); //調(diào)用change函數(shù)修改學(xué)生信息
 system("pause");
 break;
 case 5:
  add();  //調(diào)用add函數(shù)添加學(xué)生信息
 system("pause");
 break;
 case 6:
  paixu();  //調(diào)用add函數(shù)添加學(xué)生信息
 system("pause");
 break;
 case 7:
 del(); // 調(diào)用del函數(shù)刪除學(xué)生信息
 system("pause");
 break;
 
 
 
 system("pause");
 default:
 cout<<"沒(méi)有此選項(xiàng),請(qǐng)重新選擇!"<<endl;
 }
 }
 return 0;
}
 void input() //錄入學(xué)生信息的函數(shù)
{
 char sel;
 do
 {
 n++;
 cout<<"\t請(qǐng)輸入第"<<n<<"個(gè)學(xué)生信息:\t"<<endl;
  s[n].set();
 cout<<"是否要繼續(xù)錄入學(xué)生信息(Y/N):";
 cin>>sel;
 }while(sel=='Y' || sel=='y' ); 
}
void show()
{
 cout<<left; //設(shè)置輸出左對(duì)齊
 cout<<setw(10)<<"學(xué)生學(xué)號(hào)"
 <<setw(10)<<"學(xué)生姓名"
 <<setw(13)<<"學(xué)生班級(jí)"
 <<setw(12)<<"語(yǔ)文成績(jī)"
 <<setw(12)<<"數(shù)學(xué)成績(jī)"
 <<setw(12)<<"英語(yǔ)成績(jī)"
 <<endl;
 for(int i=1;i<=n;i++)
 {
 cout<<setw(10)<<s[i].num
 <<setw(10)<<s[i].name
 <<setw(13)<<s[i].class1
 <<setw(12)<<s[i].chinese
 <<setw(12)<<s[i].math
 <<setw(12)<<s[i].english<<endl;
 }
 cout<<endl;
 
}
 
void search()//查詢
{ 
 
 int a,b,i;char c[20];
 cout<<"請(qǐng)選擇查詢方式:"<<endl;
 cout<<"按學(xué)生姓名查詢請(qǐng)按1"<<endl;
 cout<<"按學(xué)生學(xué)號(hào)查詢請(qǐng)按2"<<endl;
 cin>>a;
 switch(a)
 {
 case 1: 
{char sel;
 do{
 cout<<"請(qǐng)輸入你要查的學(xué)生的姓名:"<<endl;
 cin>>c;
 for(i=1;i<=n;i++)
 if(strcmp(s[i].name,c)==0)
 {cout<<"你要查的學(xué)生信息為:"<<endl;
 cout<<"學(xué)生學(xué)號(hào):"<<s[i].num<<endl<<"學(xué)生姓名:"
 <<s[i].name<<endl<<"學(xué)生班級(jí):"
 <<s[i].class1<<endl<<"語(yǔ)文成績(jī):"
 <<s[i].chinese<<endl<<"數(shù)學(xué)成績(jī):"
 <<s[i].math<<endl<<"英語(yǔ)成績(jī):"
 <<s[i].english<<endl;
 break;
 }
 else if(strcmp(s[i].name,c)!=0&&i==n)
 {cout<<"沒(méi)有這個(gè)學(xué)生!"<<endl;break;}
 cout<<"是否要繼續(xù)查詢學(xué)生信息(Y/N):";
 cin>>sel;
 }while(sel=='Y' || sel=='y' ); 
 break;
}
 case 2:
{ char sel;
 do{
 cout<<"請(qǐng)輸入你要查的學(xué)生的學(xué)號(hào):"<<endl;
 cin>>b;
 for(i=1;i<=n;i++)
 if(s[i].num==b)
 {
 cout<<"你要查的學(xué)生信息為:"<<endl;
 cout<<"學(xué)生學(xué)號(hào):"<<s[i].num<<endl<<"學(xué)生姓名:"
 <<s[i].name<<endl<<"學(xué)生班級(jí):"
 <<s[i].class1<<endl<<"語(yǔ)文成績(jī):"
 <<s[i].chinese<<endl<<"數(shù)學(xué)成績(jī):"
 <<s[i].math<<endl<<"英語(yǔ)成績(jī):"
 <<s[i].english<<endl;
 break;
 }
 else if(s[i].num!=b&&i==n)
 {cout<<"沒(méi)有這個(gè)學(xué)生!請(qǐng)核對(duì)后再輸入!"<<endl;break;}
 cout<<"是否要繼續(xù)查詢學(xué)生信息(Y/N):";
 cin>>sel;
 }while(sel=='Y' || sel=='y' ); 
 break;}
 
 default:
 cout<<"您的輸入有誤!"<<endl;
 }
 
}
 
void change()
{
 { char sel;
 int d,i,e,f,g=0;
 do{
 cout<<"請(qǐng)輸入你要修改的學(xué)生的學(xué)號(hào):"<<endl;
 cin>>d;
 for(i=1;i<=n;i++)
  if(s[i].num==d)
 {
 cout<<"你要修改的學(xué)生信息為:"<<endl;
 cout<<"學(xué)生學(xué)號(hào):"<<s[i].num<<endl<<"學(xué)生姓名:"
 <<s[i].name<<endl<<"學(xué)生班級(jí):"
 <<s[i].class1<<endl<<"語(yǔ)文成績(jī):"
 <<s[i].chinese<<endl<<"數(shù)學(xué)成績(jī):"
 <<s[i].math<<endl<<"英語(yǔ)成績(jī):"
 <<s[i].english<<endl;
    e=1;
 break;
 }
 else if(s[i].num!=d&&i==n)
 {cout<<"沒(méi)有這個(gè)學(xué)生!請(qǐng)核對(duì)后再輸入!"<<endl;
 e=0;break;}
 while(e==1)
 { {cout<<"請(qǐng)輸入該學(xué)生要修改的信息對(duì)應(yīng)的數(shù)字:"<<endl;
 cout<<"學(xué)生學(xué)號(hào):1"
 <<'\t'<<"學(xué)生姓名:2"
 <<'\t'<<"學(xué)生班級(jí):3"
 <<'\t'<<"語(yǔ)文成績(jī):4"
 <<'\t'<<"數(shù)學(xué)成績(jī):5"
 <<'\t'<<"英語(yǔ)成績(jī):6"<<endl;
 }
 cin>>f;
 switch(f)
 {case 1:cout<<"\t新的學(xué)生學(xué)號(hào)為:";
   cin>>s[i].num;break;
   case 2:cout<<"\t新的學(xué)生姓名為:";
   cin>>s[i].name;break;
   case 3:cout<<"\t新的學(xué)生班級(jí)為:";
   cin>>s[i].class1;break;
   case 4:cout<<"\t新的語(yǔ)文成績(jī)?yōu)?";
   cin>>s[i].chinese;break;
   case 5:cout<<"\t新的數(shù)學(xué)成績(jī)?yōu)?";
 cin>>s[i].math;break;
  case 6:cout<<"\t新的英語(yǔ)成績(jī)?yōu)?";
 cin>>s[i].english;break;
 default:cout<<"您的輸入有誤,請(qǐng)重新輸入!";
 cin>>f;}
  e=0;
 g=1;
 }
 if(g==1)
 { cout<<"修改成功!";}
 cout<<"是否要繼續(xù)修改學(xué)生信息(Y/N):";
 cin>>sel;
 }while(sel=='Y' || sel=='y' ); 
 }
 
}
 
void add()
{
char sel;
 do
 {
 n++;
 cout<<"\n請(qǐng)輸入第"<< n <<"個(gè)學(xué)生信息:\n";
 cout<<"\t學(xué)生學(xué)號(hào):";
 cin>>s[n].num;
 cout<<"\t學(xué)生姓名:";
 cin>>s[n].name;
  cout<<"\t學(xué)生班級(jí):";
 cin>>s[n].class1;
 cout<<"\t語(yǔ)文成績(jī):";
 cin>>s[n].chinese;
 cout<<"\t數(shù)學(xué)成績(jī):";
 cin>>s[n].math;
 cout<<"\t英語(yǔ)成績(jī):";
 cin>>s[n].english;
 cout<<"是否要繼續(xù)添加學(xué)生信息(Y/N):";
 cin>>sel;
 }while(sel=='Y' || sel=='y' ); 
 
}
 
 
void paixu()
{
 int a;
 cout<<"請(qǐng)選擇排序方式:"<<endl;
 cout<<"1.按學(xué)號(hào)排序;"<<endl
 <<"2.按總成績(jī)排序;"<<endl
 <<"3.按平均成績(jī)排序;"<<endl;
 cin>>a;
 switch(a)
 {
 case 1:
 {int t=0;
 for(int i=0;i<n-1;i++)
 for(int j=0;j<n-i;j++)
 if(s[j].num>s[j+1].num)
 { t=s[j].num;
  s[j].num=s[j+1].num;
 s[j+1].num=t;}
 
  cout<<"按學(xué)號(hào)排序結(jié)果:"<<endl;
 cout<<left; //設(shè)置輸出左對(duì)齊
 cout<<setw(10)<<"學(xué)生學(xué)號(hào)"
 <<setw(10)<<"學(xué)生姓名"
 <<setw(13)<<"學(xué)生班級(jí)"
 <<setw(12)<<"語(yǔ)文成績(jī)"
 <<setw(12)<<"數(shù)學(xué)成績(jī)"
 <<setw(12)<<"英語(yǔ)成績(jī)"
 <<endl;
 for(i=1;i<=n;i++)
 { cout<<setw(10)<<s[i].num
 <<setw(10)<<s[i].name
 <<setw(13)<<s[i].class1
 <<setw(12)<<s[i].chinese
 <<setw(12)<<s[i].math
 <<setw(12)<<s[i].english<<endl;}
 }
 break;
 
/* case 2:
 {double t;
 for(int i=0;i<n-1;i++)
 { for(int j=0;j>n-i-1;j++)
 {
 if(s[j].sum>s[j+1].sum)
 t=s[j].sum; s[j].sum=s[j+1].sum; s[j+1].sum=t;
 } 
 }
  cout<<"按總成績(jī)排序結(jié)果:"<<endl;
 for(i=1;i<=n;i++)
  cout<<"學(xué)號(hào):"<<s[i].num<<"\t"<<"姓名:"<<s[i].name<<"\t"<<"班級(jí):"<<s[i].class1<<"\t"
  <<"語(yǔ)文成績(jī):"<<s[i].chinese<<"\t"<<"數(shù)學(xué)成績(jī):"<<s[i].math<<"\t"<<"英語(yǔ)成績(jī)"<<s[i].english<<"\t總成績(jī)"<<s[i]sum<<endl;
  cout<<endl;
 }
 break;*/
 
/* case 3:
 int t;
 for(int i=0;i<n-1;i++)
 { for(int j=0;j>n-1-i;j++)
 {
 if(s[j].aver()>s[j+1].aver())
 t=s[j].aver(); s[j].aver()=s[j+1].aver(); s[j+1].aver()=t;
 } 
 }
  cout<<"按平均成績(jī)排序結(jié)果:"<<endl;
 for(i=0;i<n;i++)
  cout<<"學(xué)號(hào):"<<s[i].num<<"\t"<<"姓名:"<<s[i].name<<"\t"<<"班級(jí):"<<s[i].class1<<"\t"
  <<"語(yǔ)文成績(jī):"<<s[i].chinese<<"\t"<<"數(shù)學(xué)成績(jī):"<<s[i].math<<"英語(yǔ)成績(jī)"<<s[i].english<<endl;
  cout<<endl;
 }
 break ;
*/
 
 default:
 {cout<<"您的輸入有誤!請(qǐng)重新輸入!"<<endl;
 cin>>a;}
 }
 
}
 void del()
{
 
 int j,i,k;char c[10],sel,y;
 do{
 cout<<"請(qǐng)輸入你要?jiǎng)h除的學(xué)生的姓名:"<<endl;
 cin>>c;
 for(i=1;i<=n;i++)
 if(strcmp(s[i].name,c)==0)
 {cout<<"你要?jiǎng)h除的學(xué)生信息為:"<<endl;
 cout<<"學(xué)生學(xué)號(hào):"<<s[i].num<<endl
 <<"學(xué)生姓名:"<<s[i].name<<endl
 <<"學(xué)生班級(jí):"<<s[i].class1<<endl
 <<"語(yǔ)文成績(jī):"<<s[i].chinese<<endl
 <<"數(shù)學(xué)成績(jī):"<<s[i].math<<endl
 <<"英語(yǔ)成績(jī):"<<s[i].english<<endl;
 cout<<"確認(rèn)刪除?(y/n):";
 cin>>y;
 if(y=='Y'||y=='y')
 {
 for(j=i;j<=n+1;j++)
 {
  s[j]=s[j+1];
 } k=1;
 }
 else 
 cout<<"刪除失??!"<<endl;
 
 
 break;
 }
 else if(strcmp(s[i].name,c)!=0&&i==n)
 {cout<<"沒(méi)有這個(gè)學(xué)生!請(qǐng)核對(duì)后再輸入!"<<endl;
 k=0;break;}
 while(k==1)
 {
 if(y=='Y'||y=='y')
 cout<<"刪除成功!";
 n--;
 k=0;
 }
 cout<<"是否要繼續(xù)刪除學(xué)生信息(Y/N):";
 cin>>sel;
 
 }while(sel=='Y' || sel=='y' ); 
 
}

效果圖:

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

相關(guān)文章

  • 詳解Qt中線程的使用方法

    詳解Qt中線程的使用方法

    這篇文章主要為大家詳細(xì)介紹了Qt中線程的使用方法,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Qt有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下
    2022-12-12
  • C++中關(guān)于constexpr函數(shù)使用及說(shuō)明

    C++中關(guān)于constexpr函數(shù)使用及說(shuō)明

    這篇文章主要介紹了C++中關(guān)于constexpr函數(shù)使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • C語(yǔ)言全面梳理結(jié)構(gòu)體知識(shí)點(diǎn)

    C語(yǔ)言全面梳理結(jié)構(gòu)體知識(shí)點(diǎn)

    結(jié)構(gòu)體是一些值的集合,這些值稱為成員變量,結(jié)構(gòu)體的每個(gè)成員可以是不同類型的變量。本文將通過(guò)示例為大家詳細(xì)講講C語(yǔ)言中結(jié)構(gòu)體的使用,需要的可以參考一下
    2022-07-07
  • C++從文本文件讀取數(shù)據(jù)到vector中的方法

    C++從文本文件讀取數(shù)據(jù)到vector中的方法

    這篇文章主要給大家介紹了利用C++如何從文本文件讀取數(shù)據(jù)到vector中,文章通過(guò)實(shí)例給出示例代碼,相信會(huì)對(duì)大家的理解和學(xué)習(xí)很有幫助,有需要的朋友們下面來(lái)一起看看吧。
    2016-10-10
  • 簡(jiǎn)單了解C語(yǔ)言中主線程退出對(duì)子線程的影響

    簡(jiǎn)單了解C語(yǔ)言中主線程退出對(duì)子線程的影響

    這篇文章主要介紹了簡(jiǎn)單了解C語(yǔ)言中主線程退出對(duì)子線程的影響,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • C++實(shí)現(xiàn)涂色游戲(博弈)

    C++實(shí)現(xiàn)涂色游戲(博弈)

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)涂色游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • C++貪心算法實(shí)現(xiàn)活動(dòng)安排問(wèn)題(實(shí)例代碼)

    C++貪心算法實(shí)現(xiàn)活動(dòng)安排問(wèn)題(實(shí)例代碼)

    貪心算法(又稱貪婪算法)是指,在對(duì)問(wèn)題求解時(shí),總是做出在當(dāng)前看來(lái)是最好的選擇。這篇文章主要介紹了C++貪心算法實(shí)現(xiàn)活動(dòng)安排問(wèn)題,需要的朋友可以參考下
    2019-11-11
  • 示例詳解C++語(yǔ)言中的命名空間 (namespace)

    示例詳解C++語(yǔ)言中的命名空間 (namespace)

    C++名字空間是一種描述邏輯分組的機(jī)制,也就是說(shuō),如果有一些聲明按照某種準(zhǔn)則在邏輯上屬于同一個(gè)模塊,就可以將它們放在同一個(gè)名字空間,以表明這個(gè)事實(shí),這篇文章主要給大家介紹了關(guān)于C++語(yǔ)言中命名空間 (namespace)的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • C++實(shí)現(xiàn)LeetCode(140.拆分詞句之二)

    C++實(shí)現(xiàn)LeetCode(140.拆分詞句之二)

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(140.拆分詞句之二),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C語(yǔ)言實(shí)現(xiàn)酒店客房管理系統(tǒng)課程設(shè)計(jì)

    C語(yǔ)言實(shí)現(xiàn)酒店客房管理系統(tǒng)課程設(shè)計(jì)

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)酒店客房管理系統(tǒng)課程設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03

最新評(píng)論