#include <iostream>
#include <string>
#include <sstream>
using namespace std;
std::stringstream str2digit;
class Staff
{
private:
int i,j,k;
double t;
double sum[10],arry[10];
string name[10][10];
public:
Staff();
void input();
void output();
void computer();
void put();
};
Staff::Staff()
{
cout<<"請輸入十個員工的姓名:";
for(i=0;i<=9;i++)
{cin>>name[i][0];}
}
void Staff::input()
{
for(int i=0;i<=9;i++)
{
cout<<"請輸入"<<name[i][0]<<"員工四個月的工資分別為多少:";
for(int j=1;j<=4;j++)
{cin>>name[i][j];}
}
}
void Staff::output()
{
for(int i=0;i<=9;i++)
{
cout<<name[i][0]<<endl;
for(int j=1;j<=4;j++)
{cout<<"在第"<<j<<"個月的工資為"<<name[i][j]<<endl;}
}
}
void Staff::computer()
{
double t=0.0;
for(int i=0;i<=9;i++)
{
for(int j=0;j<=4;j++)
{
str2digit<<(name[i][j]);str2digit>>t;
sum[i]+=t;
}
cout<<sum[i]<<endl;
arry[i]=sum[i]/4.0;
}
}
void Staff::put()
{
for(k=0;k<=9;k++)
{
cout<<name[k][0]<<"四個月的總工資為:"<<sum[k]<<endl;
cout<<name[k][0]<<"四個月的平均工資為:"<<arry[k]<<endl;
}
}
int main()
{
Staff s;
s.input();
s.output();
s.computer();
s.put();
return 0;
}
程式是寫輸入十個員工的姓名并輸入每四個月的工資
并輸出每四個月工資和總工資與平均工資
我用了string二維陣列 但我想問一下就是在computer這個建構式里面 我的想法是把string里面的每四個月工資都分別轉到double這個陣列里 但是查了很多資料最后寫成這樣還是算不出平均工資和總工資

想問問大家 string里面的數值如何轉化成double陣列被參考 (新手代碼寫的可能有點亂 勿噴)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/196285.html
標籤:C++ 語言
上一篇:小白問大家幾個問題
下一篇:萌新開始學習c++
