c語言de編程題目 急!!!!!
100
編一個程序 要求打入一個表格
學號 姓名 專業 英語 高數 C語言
A01 網絡
A02 網絡
A03 網絡
A04 網絡
A05 網絡
B01 會計
B02 會計
B03 會計
B04 會計
B05 會計
中間的學號 名字和分數都自己想 無所謂 關鍵是還要求出每個學生的平均分 以及 每個專業每科的平均分
最佳回答:
#include <iostream>
#include<string>
using namespace std;
struct pe
{
string SN;//學號
string N;//姓名
string S;//專業
short Ep;//英語成績
short ACp;//高數成績
short Cp;//c語言成績
float avg;//3科的平均成績
};
class table
{
public:
const static short tsize=3;//表大小
struct pe p[tsize];
table(){};
void input()
{
short i;
for(i=0;i!=tsize;++i)
{
cin>>p[i].SN>>p[i].N>>p[i].S>>p[i].Ep>>p[i].ACp>>p[i].Cp;
p[i].avg=(float)(p[i].Ep+p[i].ACp+p[i].Cp)/3;
}
}
float cavg(string S,string sub)//S為專業名,sub為科目,計算S專業sub科目的平均成績,輸出為-1則為沒有輸入專業的學生
{
short i;
float avg=0;
short number=0;
for(i=0;i!=tsize;++i)
{
if(p[i].S==S)
{
if(sub=="E")//根據輸入的修改
avg+=p[i].Ep;
if(sub=="C")
avg+=p[i].Cp;
if(sub=="AC")
avg+=p[i].ACp;
++number;
}
}
if(number==0)
return -1;//表中沒有輸入的專業
else
return avg/number;
}
};
int main()
{
class table t;
t.input();
cout<<t.cavg("~","E")<<endl;//參數根據輸入的數據修改
short i;
cin>>i;
return 0;
}