www.黄片视频在线播放,欧美精品日韩精品一级黄,成年男女免费视频网站,99久久久国产精品免费牛牛四川,99久久精品国产9999高清,乱人妻中文字幕视频4399,亚洲男人在线视频观看

C,,程序設計實習報告

發(fā)布時間:2020-09-13 來源: 精準扶貧 點擊:

 目錄 一、實習內容…………………………………………………………………………1 二、設計思路…………………………………………………………………………2 三、程序清單…………………………………………………………………………3 四、運行結果…………………………………………………………………………15 五、程序使用說明……………………………………………………………………20 六、總結及心得體會…………………………………………………………………21

 ? 一、實習內容 課程設計得題目:《小型公司工資管理系統(tǒng)》設計 設計說明:公司主要有四類人員:經理、技術員、銷售員、銷售經理。程序要求存儲這些人得職工號、姓名、月工資、年齡、性別等信息。并且應用程序中要求給出菜單,用于選擇各項功能。

 一、程序要求實現(xiàn)得功能即菜單目錄有: 1、數(shù)據(jù)輸入:輸入各種數(shù)據(jù); 2、數(shù)據(jù)統(tǒng)計:統(tǒng)計各銷售經理下屬銷售員得銷售額及銷售額之與;銷售經理工資進行冒泡排序; 3、數(shù)據(jù)打。捍蛴「黝悊T工得數(shù)據(jù)信息; 4、數(shù)據(jù)備份:把各類員工得數(shù)據(jù)信息寫入文件中保存; 5、退出:退出本系統(tǒng),即結束程序得運行。

 二、工資得計算方法 A:經理:固定月薪為8000 元;B:技術員:工作時間*小時工資(100 元/小時);C:銷售員:銷售額* 4%提成;D:銷售經理:底薪(5000)+所轄部門銷售額總額* 0、5%。

 三、類得層次結構大體如下 雇員類

  ↑ 技術員類

 經理類

 銷售員類 ↓ 銷售經理類 ? 二、設計思路

 1. (1)首先我們要搞清楚各類之間得繼承關系,設置基類 employee,其派生類manager,technician,salesman。再以 manager類為基類,再派生一個 salesmanager類,將各類得數(shù)據(jù)成員設計成 protected,方便派生類對基類得繼承; (2)在 public 里編寫數(shù)據(jù)輸入得函數(shù),在主函數(shù)中輸出菜單并定義各類得

 對象,通過對象來調用數(shù)據(jù)輸入函數(shù); 2. (1)在基類employee 中補充幾個返回各類數(shù)據(jù)得函數(shù)以用于返回輸入得各類值; (2)在主函數(shù)內用冒泡法對銷售經理得工資進行排序,定義一個 wage[]來將各銷售經理下面得銷售員得銷售額進行儲存,定義一個all用于計算銷售經理得銷售總額,以便于下面對其進行工資得計算 ; (3)第 2,3,4 步都用大量得 for 循環(huán)進行輸出,以實現(xiàn)表格得形成還有表格中數(shù)據(jù)得輸入;在主函數(shù)內定義各類得對象,然后都就是直接通過類得對象調用類內得函數(shù),運用 for循環(huán)進行打印,統(tǒng)計; 3。

 備份參照課本格式,選擇路徑及格式,運用 for循環(huán)備份;就就是那個 fstream之類得東西;、退出系統(tǒng)用exit(5)函數(shù)實現(xiàn); 4.主函數(shù)運用 switch 語句,將上述功能編為 case 1~5,每個 case后添加break; 5.程序結束。

 以上就是我所認為得該程序得幾個要點…………………………………、、

 三、程序清單 #include〈iostream> #include<string〉 #include<cmath> #include<iomanip〉 #include<fstream> using namespace std; const N=2; fstream outfile; class employee

。/基類,雇傭者 { protected:

  string name;

 ;xes rahc? int age; public:

  virtual void display()

。 ;”:名姓其"<<tuoc?

 ;eman>>nic?

 cout〈<”性別(m/w):";

  ;xes>>nic? ? cout<<"年齡:";

 ;ega〉〉nic? }? };eman nruter{)(man gnirts? char se(){return sex;}

 int ag(){return age;} };

。/ class technician: public employee

 //技術員類

。 public:

  int worktime;

 ;1rebmun tni?public:

  void display1()

 {? ;":號編得員術技”<〈tuoc?? ? cin>〉number1;

  employee::display();

  cout<<”工作時間”;

 ? cin>>worktime;

 }

。;emitkrow nruter{)(emit tni? };1rebmun nruter{)(1bmun tni?};

  // class manager :

 public employee

 //經理類 {protected:

 int number2;

  public:

 void display2()

 {

  ;”:號編得理經"〈<tuoc? ;2rebmun>>nic??

 employee::display();

。

。;2rebmun nruter{)(2bmun tni?};

 // class salesman : public employee

 //銷售員類

。 protected:

  int total;

 int boss;

 ;3rebmun tni?public:

 )(3yalpsid diov? {?

。":號編得員售銷"〈<tuoc?

;3rebmun>〉nic?

。澹恚穑靜yee::display();

 cout<<"銷售額:";

  ;latot>>nic? ;”:號編得理經售銷屬所"<<tuoc?? ? cin〉〉boss;

。

 int hismanager(){return boss;}

 };latot nruter{)(euohsoaix tni? };3rebmun nruter{)(3bmun tni?};

。/ class salesmanager : public manager

 //銷售經理類 {protected:

  int number4; public:

 )(4yalpsid diov? {?

;":號編得理經售銷”<〈tuoc?

 cin>>number4;

  employee::display();

 }

  };4rebmun nruter{)(4bmun tni?};

 // void form()

。 cout<<"★★小型公司工資管理系統(tǒng)★★"<<endl;

。崾颈砀 cout<<"┌─────────────┐"〈<endl; cout〈<”│

  請選擇您所需得操作

  │"<<endl; cout〈<”│

  數(shù)據(jù)輸入:1,并按回車鍵 │"〈<endl; cout〈<"│

  數(shù)據(jù)統(tǒng)計:2,并按回車鍵 │"〈〈endl; cout〈<"│

  數(shù)據(jù)打。3,并按回車鍵 │"〈<endl; cout<<”│

  數(shù)據(jù)備份:4,并按回車鍵 │"<<endl; cout〈<"│

  退出系統(tǒng):5,并按回車鍵 │"〈〈endl; cout〈<”└─────────────┘"〈〈endl; cout〈<"請選擇一個操作:"; } int main() { int i,j,k,g,m,all,t;

  char shuzi;

  int wage[N];

  technician t1[N];

  manager m1[N];

  salesman

。1[2*N],s2[2*N];

  salesmanager sm1[N],f; for(t=1;;t++) {

 ;)(mrof? cin〉>shuzi;

。﹊zuhs(hctiws?

  {?case ’1’:{

  //功能 1

  for(i=0;i〈N;i++)

  t1[i]、display1(); cout<〈”、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、”<<endl;

  for(i=0;i〈N;i++)

  m1[i]、display2(); cout<<"、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、”<<endl;

  for(i=0;i<2*N;i++)

。1[i]、display3(); cout<〈”、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、"〈〈endl;

 for(i=0;i〈N;i++)

 sm1[i]、display4(); cout<<”、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、"<〈endl;

 break;} case '2':

  //功能 2

。++i;N<i;0=i(rof? {wage[i]=5000;all=0; ? cout 〈<"職工號為"<〈sm1[i]、numb4()<<”銷售經理"〈<sm1[i]、nam()<<"下屬銷售員得業(yè)績?yōu)?"<〈endl;

 ;ldne〈〈”┐─────┬────┬─────┌”〈<tuoc?

 cout<<"│職工號

 │姓名

 │銷售額

 │"〈<endl;

。++m;N*2<m;0=m(rof? {if(s1[m]、hismanager()==sm1[i]、numb4())

 ?{、]m[1s+lla=lla;))(euohsoaix、]m[1s(*500、0+]i[egaw=]i[egaw?xiaoshoue();

  ;ldne〈<”┤─────┼────┼─────├"<〈tuoc? )8(wtes <<”│"<〈)(3bmun、]m[1s<<)01(wtes〈〈"│"<<tuoc?

 <〈s1[m]、nam()〈<”│"〈〈setw(10)<<s1[m]、xiaoshoue()〈<"│”<〈endl;

 }}?

  cout<〈”├─────┼────┴─────┤”〈<endl;

  cout<<”│銷售額總計│"<〈setw(20)<<all<<”│"〈〈endl;

  cout〈〈”└─────┴──────────┘"<<endl;} for(j=0;j<N;j++)

  for(k=0;k<N-j;k++)

  if(wage[k]<wage[k+1])

 {t=wage[k];

 //冒泡

 wage[k]=wage[k+1];

 wage[k+1]=t;

 f=sm1[k];

 sm1[k]=sm1[k+1]; sm1[k+1]=f;} cout<〈”銷售經理按工資排序為:”<<endl; cout〈〈"┌─────┬────┬────┬────┬────┐”<<endl; cout〈<”│職工號

 │姓名

 │性別

 │年齡

 │工資

 │"<<endl; for(g=0;g<N;g++)

 { cout〈〈”├─────┼────┼────┼────┼────┤”〈〈endl; cout<<"│"<〈setw(10)<<sm1[g]、numb4()〈〈"│”<<setw(8)<<sm1[g]、nam()<<”│"<<setw(8)〈<sm1[g]、se()〈<”│"<<setw(8)〈<sm1[g]、ag()<<"│"<<setw(8)<〈wage[g]<<"│"<<endl;

。 cout〈〈”└─────┴────┴────┴────┴────┘"〈<endl;

。鈘eak ;

 //功能 3 case '3":

 cout<<”請等待、、、、、、、、、、、、"<<endl;

 ? cout<〈”職工基本情況一覽表如下"<〈endl;

;ldne<<”員術技"<<tuoc??

。鉶ut<<"┌─────┬────┬────┬────┬────┐"<<endl;

  cout<<"│職工號

 │姓名

 │性別

 │年齡

 │工資

 │"〈〈endl;

  for(i=0;i<N;i++)

 {?? "┤────┼────┼────┼────┼─────├"<<tuoc?〈〈endl;

 wtes〈<"│”〈〈)(1bmun、]i[1t〈〈)01(wtes〈<"│”<<tuoc?(8)<<t1[i]、nam()<〈"│"<<setw(8)〈<t1[i]、se()<〈”│"<<setw(8)<<t1[i]、ag()〈<"│”<〈setw(8)〈〈t1[i]、time()*100<<”│"<<endl;

  }? "┘────┴────┴────┴────┴─────└"〈〈tuoc?<<endl; //技術員表

  co u t <<"、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、"<<endl;

  ;ldne〈<"理經”<〈tuoc?

 cout〈<”┌─────┬────┬────┬────┬────┐”<<endl;

  cout〈<"│職工號

 │姓名

 │性別

 │年齡

 │工資

 │”<〈endl;

 for(i=0;i<N;i++)

  {?

 cout<<"├─────┼────┼────┼────┼────┤”<<endl;

 ? cout〈〈"│”<<setw(10)<<m1[i]、numb2()〈<”│”<〈setw(8)<<m1[i]、nam()<<"│"<〈setw(8)〈<m1[i]、se()〈〈"│"<<setw(8)<<m1[i]、ag()<〈"│"<<setw(8)<<"8000”〈<"│"<<endl; ?? ? }

 ? cout<<"└─────┴────┴────┴────┴────┘"<〈endl;

 //經理表

  cou t〈<”、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、"<〈endl;

  cout<<”銷售經理"〈<endl;

  cout〈<"┌─────┬────┬────┬────┬────┐"<<endl;

  cout<<”│職工號

 │姓名

 │性別

 │年齡

 │工資

 │”<<endl;

  for(g=0;g<N;g++)

  {?

 cout<<"├─────┼────┼────┼────┼────┤"〈<endl;

  cout〈<"│”<<setw(10)〈<sm1[g]、numb4()〈<"│”<〈setw(8)〈〈sm1[g]、nam()〈<"│"<<setw(8)〈〈sm1[g]、se()〈<"│”<<setw(8)〈<sm1[g]、ag()〈〈”│"〈<setw(8)<<wage[g]<〈”│”<〈endl;

  }

  cout<<"└─────┴────┴────┴────┴────┘"<<endl;

  c o u t <

 〈”、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、”<<endl;

  //銷售經理表

 ? cout<〈"銷售員"<<endl;

  cout<〈"┌─────┬────┬────┬────┬────┬────────┐”<<endl;

  cout<<"│職工號

 │姓名

 │性別

 │年齡

 │工資

 │所屬部門經理編號│"<〈endl;

  for(i=0;i<(2*N);i++)

  { ──┼────┼────┼────┼────┼─────├”<〈tuoc??──────┤”〈〈endl;

  cout 〈<"│"<〈setw(10)<〈s1[i]、numb3()<〈"│” 〈<setw(8)

 〈〈s1[i]、nam()<<"│”<<setw(8)<<s1[i]、se()<<”│"<<setw(8)〈<s1[i]、ag()<<"│"<<setw(8)〈〈s1[i]、xiaoshoue()*0、04〈<"│"<〈setw(16)<〈s1[i]、hismanager()<<”│"<<endl;

  }

  cout〈〈”└─────┴────┴────┴────┴────┴────────┘"<〈endl;

 //經理表

  cout<〈"、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、”〈<endl;

  break;

 case "4":

  ;ldne<<”份備據(jù)數(shù)”〈〈tuoc?

 out("E:\\sjq、txt",ios::in|ios::out|ios::trunc);

  outfile<〈”技術員”<<endl;

  outfile<<”┌─────┬────┬────┬────┬────┐"<<endl;

  outfile<〈"│職工號

 │姓名

 │性別

 │年齡

 │工資

 │"〈〈endl;

  for(i=0;i<N;i++)

。?? ────┼────┼────┼────┼─────├”<〈eliftuo?┤"<<endl;

 ? outfile<<"│"<<setw(10)<<t1[i]、numb1()<<”│”〈<setw(8)<〈t1[i]、nam()<〈"│"〈<setw(8)<〈t1[i]、se()〈〈”│"〈〈setw(8)<<t1[i]、ag()<<"│"<<setw(8)<<t1[i]、time()*100<<"│"<<endl;

  }

 ? outfile〈〈"└─────┴────┴────┴────┴────┘"<<endl; //技術員表

  ou t f i le<<”、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、"〈<endl;

。唬靌ne<<"理經"<<eliftuo??

 outfile〈<"┌─────┬────┬────┬────┬────┐"〈<endl;

  outfile〈<"│職工號

 │姓名

 │性別

 │年齡

 │工資

 │"<<endl;

  for(i=0;i<N;i++)

  {?”┤────┼────┼────┼────┼─────├"〈<eliftuo??<〈endl;

  outfile〈〈"│”〈<setw(10)〈<m1[i]、numb2()<<”│"<<setw(8)<<m1[i]、nam()〈<"│"〈<setw(8)<<m1[i]、se()<〈”│”〈<setw(8)<〈m1[i]、ag()<<"│”<〈setw(8)〈〈"8000”〈<"│"<<endl;

  }

  ───┴────┴────┴────┴─────└”〈<eliftuo?─┘”<<endl;

 //經理表

 ? ou t fi l e〈〈"、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、”〈〈endl;

  ;ldne〈<"理經售銷"〈<eliftuo?

 outfile〈<”┌─────┬────┬────┬────┬────┐”<〈endl;

  outfile<〈"│職工號

 │姓名

 │性別

 │年齡

 │工資

 │"〈<endl;

  for(g=0;g<N;g++)

 {??

。飖tfile<〈"├─────┼────┼────┼────┼────┤”<<endl;

  outfile〈<”│"<<setw(10)<<sm1[g]、numb4()<<"│”〈<setw(8)<〈sm1[g]、nam()〈〈"│"<〈setw(8)〈<sm1[g]、se()<〈”│"<<setw(8)〈<sm1[g]、ag()<<"│"<〈setw(8)<<wage[g]<<"│"<<endl;

 }??

。飖tfile<<"└─────┴────┴────┴────┴────┘"<<endl;

 ? o utfil e <〈"、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、"<<endl;

  //銷售經理表

;ldne<〈”員售銷"<<eliftuo??

。飖tfile<〈"┌─────┬────┬────┬────┬────┬────────┐”<<endl;

  outfile<<"│職工號

 │姓名

 │性別

 │年齡

 │工資

 │所屬部門經理編號│"<〈endl;

。妫飏(i=0;i〈(2*N);i++)

  {?──┼────┼────┼────┼────┼─────├"〈<eliftuo??──────┤"<<endl; )8(wtes<〈"│"<〈)(3bmun、]i[1s〈〈)01(wtes<<"│”<<eliftuo??<<s1[i]、nam()<<"│”<〈setw(8)〈<s1[i]、se()〈〈”│"〈<setw(8)<<s1[i]、ag()<〈”│"〈<setw(8)<<s1[i]、xiaoshoue()*0、04〈<”│"<〈setw(16)<<s1[i]、hismanager()<<"│"〈<endl;

  }? ? outfile〈〈”└─────┴────┴────┴────┴────┴────────┘"<<endl;

。/經理表

  out f i l e〈〈"、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、”〈<endl;

  out();

  break;

 case ’5":cout<〈"確定退出系統(tǒng)嗎?”<<endl;

 cout<〈"就是:1,

 否:2"〈〈endl;

  ;a tni???;a>〉nic?

  if(a==1) exit(5);break;

 default :cout<〈"error"<<endl; ?? ? } } return 0; }

 四、運行結果

 數(shù)據(jù)備份內容……………………………………………、

 五、程序得使用說明

 1。從鍵盤輸入 1,按回車鍵,可進行各類數(shù)據(jù)得輸入,此步驟必須執(zhí)行; 2.從鍵盤輸入 2,按回車鍵,即可進行數(shù)據(jù)統(tǒng)計,得到統(tǒng)計列表; 3.從鍵盤輸入 3,按回車鍵,可打印出各類成員得基本信息; 4.從鍵盤輸入4,按回車鍵,可進行數(shù)據(jù)備份; 5.從鍵盤輸入5,按回車鍵,出現(xiàn)提示信息,若退出系統(tǒng)輸入 1 否則輸入 2. ? 六、總結及心得體會 從 9 月 2 號,我們開始了為期一周得C++程序設計實習——《小型工資管理系統(tǒng)》,每天下午去機房調試程序,上午編寫下一天得程序代碼。

 剛開始得時候,腦袋里一點思路都沒有,因為以前沒有接觸過這么大得程序。所以剛開始得時候,心里只有一個字能形容就就是怕。怕自己便不好,怕這門課程完成不了,很多很多。去做一件事情,最忌諱得就就是這一點.失敗者與成功者最大得區(qū)別就就是面對困難時得心態(tài),我深知這一點。所以,我沉下心來思考了很多。做一個程序,最重要得就就是大體思路,得有全局得思考,我承認,這一點我做得不就是很好,因為我第 2 天得程序做了大改動,也許就是我基本功不扎實,但就是我所能想到得就就是大改動了,可能有其她簡便得方法,所以這對于我而言,就是一個重大得警告.在第二天得晚上,我花了一晚得時間來重新整理思路,以防止在接下來得幾天里再出現(xiàn)那樣得錯誤,那就很讓人糾結了。第 1 天時完成數(shù)據(jù)得輸入以及類得設計。這個還不就是很難,就就是定義一個基類employee,然后派生下來幾個子類。然后在類內編寫返回值得函數(shù),以及數(shù)據(jù)輸入得函數(shù)等等,數(shù)據(jù)成員都設置成 protected。在類外在編幾個數(shù)組,用來調用類內函數(shù)。

 第 2 天就是完成數(shù)據(jù)統(tǒng)計,排序功能。排序得話用冒泡法,用數(shù)組進行數(shù)據(jù)得排序。但就是問題出現(xiàn)了,第一天我就是把輸入功能獨立變成一個 void 函數(shù)在主函數(shù)前面得,但就是我發(fā)現(xiàn)數(shù)據(jù)無法存儲下來.所以第2天我就把第一步得內容全改了,搬到了類內,這樣才解決了問題。

 第三天時完成數(shù)據(jù)得輸出顯示,這個地方得難點就就是設計表格,這個就涉及到了那個輸入內容寬度得設計,以及制表鍵盤得。然后數(shù)據(jù)得輸出就就是在主函數(shù)內定義類對象數(shù)組,以此來實現(xiàn)數(shù)據(jù)得調用。

 然后剩下得就就是備份以及推出功能得實現(xiàn)了。這些都就是在網上查了相

 關資料然后學會如何編寫得,剛開始覺得很深奧,學了之后,就覺得,嗯,還行.所以其她得任務在半天內就完成了。瞧著自己編出得程序,真心覺得一切都值了,很有成就感得樣子,我想這就就是編程員得歡喜吧。

 整個實習過程讓我明白了幾點:

 1.設計一個程序時需要從整體考慮,不能分散到最后結合不到一起; 2.有些貌似簡單得功能得實現(xiàn)其程序實現(xiàn)不一定簡單,但也不能畏首畏尾,不敢嘗試,要勇于挑戰(zhàn)自己,相信自己一定可以; 1.需要具有刻苦鉆研得精神,注意總結,遇到問題認真思考,力求得到結果; 2.同時也不能忽略團隊得力量,遇到實在個人解決不了得問題可以通過與同學商量解決,并且結合別人與自己得觀點,從多方面考慮,在眾多方案中找出最優(yōu)化得; 3.遇到一些問題時要有耐心進行更正,因為可能有時候一個很小得錯誤會導致整個程序運行失常。

 我感覺這一周得實習非常充實,謝謝這一周給我指導得老師,以及各位同學得陪伴。

相關熱詞搜索:程序設計 實習報告

版權所有 蒲公英文摘 m.91mayou.com