當前位置:編程學習大全網 - 源碼下載 - 求編程文本:利用Vitual Studio C++進行C語言編程設計壹個成績測評系統

求編程文本:利用Vitual Studio C++進行C語言編程設計壹個成績測評系統

我有壹個類似的:

/*設計壹個Student(學生)類,並使Student類具有以下特點:

該類具有學生姓名、學號、程序設計、信號處理、數據結構三門課程的成績。

學生全部信息由鍵盤輸入,以提高程序的適應性。

通過成員函數分別統計每個學生的平均成績和每門課程的平均成績,當課程 數量增加或減少時成員函數無需修改仍可求取平均成績。

輸出學生的各科成績與平均成績。

學生對象的定義采用對象數組實現。

統計不及格學生人數。

表格輸出整齊美觀。

能以最方便的方式實現對課程數量和學生人數的修改。

采用多文件方式組織程序。

1.添加 2.修改 3.顯示 4.不及格學生人數 5.排序

請根據妳的需要選擇(1~5):1

請依次輸入該學生的相關信息:

學號:1001

姓名:張三

信號處理:67

數據結構:65

C語言:87

1.添加 2.修改 3.顯示 4.不及格學生人數 5.排序

請根據妳的需要選擇(1~5):1

請依次輸入該學生的相關信息:

學號:1002

姓名:王龍龍

信號處理:78

數據結構:89

C語言:98

1.添加 2.修改 3.顯示 4.不及格學生人數 5.排序

請根據妳的需要選擇(1~5):1

請依次輸入該學生的相關信息:

學號:1003

姓名:王麗麗

信號處理:76

數據結構:89

C語言:90

1.添加 2.修改 3.顯示 4.不及格學生人數 5.排序

請根據妳的需要選擇(1~5):3

學號:1001 姓名:張三 信號處理:67 數據結構:65 C語言:87 總分:219 平均分:73

學號:1002 姓名:王龍龍 信號處理:78 數據結構:89 C語言:98 總分:265 平均分:88.3333

學號:1003 姓名:王麗麗 信號處理:76 數據結構:89 C語言:90 總分:255 平均分:85

1.添加 2.修改 3.顯示 4.不及格學生人數 5.排序

請根據妳的需要選擇(1~5):4

不及格學生人數: 0

1.添加 2.修改 3.顯示 4.不及格學生人數 5.排序

請根據妳的需要選擇(1~5):2

請輸入要修改的學生學號:

1001

該學號的學生信息如下:

學號:1001 姓名:張三 信號處理:67 數據結構:65 C語言:87 總分:219 平均分:73

請輸入新的學生信息:

學號:1001

姓名:張三

信號處理:67

數據結構:75

C語言:40

1.添加 2.修改 3.顯示 4.不及格學生人數 5.排序

請根據妳的需要選擇(1~5):3

學號:1001 姓名:張三 信號處理:67 數據結構:75 C語言:40 總分:182 平均分:60.6667

學號:1002 姓名:王龍龍 信號處理:78 數據結構:89 C語言:98 總分:265 平均分:88.3333

學號:1003 姓名:王麗麗 信號處理:76 數據結構:89 C語言:90 總分:255 平均分:85

1.添加 2.修改 3.顯示 4.不及格學生人數 5.排序

請根據妳的需要選擇(1~5):4

不及格學生人數: 1

1.添加 2.修改 3.顯示 4.不及格學生人數 5.排序

請根據妳的需要選擇(1~5):7

謝謝使用!!!

*/

#include <iostream>

#include <string>

using namespace std;

struct Student //聲明壹個名為student的結構體類型

{

string name; //姓名

long number; //學號

double xhcl; //信號處理

double sjjg; //數據結構

double Cyuyan; //C語言

double ZF; //總分

double PJF; //平均分

};

class Students //聲明類Students

{

public:

Students(){n=0;} //構造函數

void add();//添加

void show();//顯示

void change();//修改

void PX();//排序

void bjg();//統計不及格學生人數

private:

Student stu[1000];//定義壹個結構體類型Students的變量stu,其最大值為100

int n;

};

void Students::add()//添加

{

cout<<"學號:";

cin>>stu[n].number;

cout<<"姓名:";

cin>>stu[n].name;

cout<<"信號處理:";

cin>>stu[n].xhcl;

cout<<"數據結構:";

cin>>stu[n].sjjg;

cout<<"C語言:";

cin>>stu[n].Cyuyan;

stu[n].ZF= stu[n].xhcl+ stu[n].sjjg+ stu[n].Cyuyan;

stu[n].PJF=stu[n].ZF/3;

n++;//學生個數增加壹個

}

void Students::show()//顯示

{

for(int i=0;i<n;i++)

cout<<"學號:"<<stu[i].number<<' '<<"姓名:"<<stu[i].name<<' '<<"信號處理:"<<stu[i].xhcl<<' '<<"數據結構:"<<stu[i].sjjg<<' '<<"C語言:"<<stu[i].Cyuyan<<' '<<"總分:"<<stu[i].ZF<<' '<<"平均分:"<<stu[i].PJF<<endl;

}

void Students::change() //修改

{long num;

cout<<"請輸入要修改的學生學號:"<<endl;

cin>>num;

for(int i=0;i<n;i++)

if(stu[i].number==num)

{cout<<"該學號的學生信息如下:"<<endl;

cout<<"學號:"<<stu[i].number<<' '<<"姓名:"<<stu[i].name<<' '<<"信號處理:"<<stu[i].xhcl<<' '<<"數據結構:"<<stu[i].sjjg<<' '<<"C語言:"<<stu[i].Cyuyan<<' '<<"總分:"<<stu[i].ZF<<' '<<"平均分:"<<stu[i].PJF<<endl;

cout<<"請輸入新的學生信息:"<<endl;

cout<<"學號:";

cin>>stu[i].number;

stu[n].number=stu[i].number;

cout<<"姓名:";

cin>>stu[i].name;

stu[n].name=stu[i].name;

cout<<"信號處理:";

cin>>stu[i].xhcl;

stu[n].xhcl=stu[i].xhcl;

cout<<"數據結構:";

cin>>stu[i].sjjg;

stu[n].sjjg=stu[i].sjjg;

cout<<"C語言:";

cin>>stu[i].Cyuyan;

stu[n].Cyuyan=stu[i].Cyuyan;

stu[i].ZF= stu[i].xhcl+ stu[i].sjjg+ stu[i].Cyuyan;

stu[i].PJF=stu[i].ZF/3;

break;

}

if(stu[i].number!=num)

cout<<"無此學生信息!!"<<endl;

}

void Students::PX() //排序

{cout<<"請選擇排序方式:";

cout<<"1.按學生總分排序";

cout<<"2.按學生平均分排序";

cout<<"3.返回"<<endl;

int k;

cin>>k;

switch (k)

{

case 1://按學生總分排序

{

Student p;

for(int i=0;i<n;i++)

for(int j=0;j<n-i;j++)

{

if(stu[j].ZF<stu[j+1].ZF)

{

p=stu[j];

stu[j]=stu[j+1];

stu[j+1]=p;

}

}

cout<<"學號 姓名 信理 數構 C語言 平均分"<<endl;

for(int m=0;m<n;m++)

cout<<stu[m].number<<" "<<stu[m].name<<" "<<stu[m].xhcl<<" "<<stu[m].sjjg<<" "<<stu[m].Cyuyan<<" "<<stu[m].PJF<<endl;

}

break;

case 2://按學生平均分排序

{ Student p;//定義壹個Student類型的變量p

for(int i=0;i<n;i++)

for(int j=0;j<n-i;j++)

{

if(stu[j].PJF<stu[j+1].PJF)

{

p=stu[j];

stu[j]=stu[j+1];

stu[j+1]=p;

}

}

cout<<"學號 姓名 信號處理 數據結構 C語言 平均分"<<endl;

for(int m=0;m<n;m++)

cout<<stu[m].number<<" "<<stu[m].name<<" "<<stu[m].xhcl<<" "<<stu[m].sjjg<<" "<<stu[m].Cyuyan<<" "<<stu[m].PJF<<endl;

}break;

case 3:return;//返回

}

}

void Students::bjg()//統計不及格學生人數

{

int count=0;

for(int m=0;m<n;m++)

if(stu[m].xhcl<60||stu[m].sjjg<60||stu[m].Cyuyan<60)

count++;

cout<<"不及格學生人數: "<<count<<endl;

}

void main()

{

Students person;

int b;

do

{

cout<<" 1.添加 2.修改 3.顯示 4.不及格學生人數 5.排序 "<<endl;

cout<<"請根據妳的需要選擇(1~5):";

cin>>b;

switch(b)

{

case 1:

cout<<"請依次輸入該學生的相關信息:"<<endl;

person.add();

break;

case 2:

person.change();

break;

case 3:

person.show();

break;

case 4:

person.bjg();

break;

case 5:

person.PX();

break;

case 6:

cout<<"謝謝使用!!!"<<endl;

}

}while(b<7);

}

  • 上一篇:做壹個小程序生成平臺需要掌握哪些技術?
  • 下一篇:計算機專業的同學如何安排大學生活
  • copyright 2024編程學習大全網