1. <rt id="ptjxw"><optgroup id="ptjxw"></optgroup></rt>
    1. <cite id="ptjxw"><form id="ptjxw"></form></cite>
    2. 您的位置:百味書屋 > 范文大全 > 經典范文 > 實訓總結報告 正文 本文移動端:實訓總結報告

      實訓總結報告

      2018-10-08 16:48:07 來源網站: 百味書屋

      實訓總結報告

      ----《面向對象程序設計

        實訓的目的與系統概述

        1、目的:

        (1)掌握面向對象設計開發的基本思想和方法,培養學生在已有的知識基礎上進一步獲取新知識的能力,提高分析問題和解決問題的能力。

        (2)進一步鞏固《面向對象程序設計》課程中所學到的知識,熟練掌握C++語言程序設計,加強對VC++編程環境的使用能力,掌握VC++編程環境中的調試功能,增強實際編程能力。

        (3)培養和提高邏輯思維、抽象思維和統籌規劃能力,培養獨立完成程序設計開發的工作能力。為今后從事專業性軟件開發工作打下基礎。

        2、 功能


        通過將不同類型的人員設計成相應的類,完成的學校人員的管理。

        3、 系統概述

        學校的人員包括學生、職工;職工又分為教師和行政人員;在職進修教師又具備學生和教師的屬性和行為。

        a) 人員具有姓名、年齡、性別、地址和人員類別等屬性,有顯示屬性的功能和設置屬性的功能。

        b) 學生具有人員的屬性和行為,此外,添加學號、成績屬性。具有的行為有:設置屬性的函數:讓用戶能夠通過鍵盤的輸入設置除了成績之外的基本屬性;錄入成績:輸入學生的各門成績;顯示:顯示基本屬性和他的平均成績。

        c) 職工具有人員的屬性和行為,此外,添加職工號、職稱和工資屬性。

        d) 教師具有職工的屬性和行為,此外,添加教研室、教授的課程屬性。具有的行為有:設置屬性的函數:讓用戶能夠通過鍵盤的輸入設置除了課程信息之外的基本屬性;錄入課程:輸入教師所教的各門成績;顯示:顯示基本屬性。

        e) 行政人員具有職工的屬性和行為,此外,添加辦公室屬性。

        f) 在職進修教師具有教師與學生的屬性和行為,此外,添加進修時間,工作單位屬性。

        通過實現此系統,讓我綜合運用所學知識,掌握面向對象設計開發的基本思想和方法和C++的編程思想來完成簡單的面向對象的程序設計。讓我在已有的知識基礎上進一步獲取新知識的能力,提高分析問題、解決問題和獨立完成程序設計開發的工作能力。為今后從事專業性軟件開發工作打下基礎。


        類的實現

        編程實現上面類的設計。

        主程序中的驗證

        創建對象,檢驗類的功能是否能夠實現。


        總結

        1、遇到的困難、解決辦法及收獲:

        ①各類屬性的實現。

        利用對象數組即方便又能固定調用哪個屬性。在構造函數中定義屬性類型,利用對象數組調用。

        ②對象數組中字符串的賦值。

        分配(new實現)一個char型變量長度加一的字符串,再利用拷貝函數拷貝原變量并放在name里,如:

        name=new char[strlen(na)+1];strcpy(name,na);

        ③因為沒有給原帶參構造函數的形參賦值,主函數中不能聲明類的無參對象。

        在定義一個無參構造函數,如:

        person(){}

        ④在派生類帶參構造函數與基類帶參構造函數所帶參數不同時沒有對基類構造函數的參數初始化。

        構造函數無法被繼承,當派生類帶參構造函數與基類帶參構造函數所帶參數不同時,要在派生類構造函數中對基類構造函數的參數進行初始化,如:

        worker(int num,char *v,int p,char *na,int a,char *s,char *ad,char *l):person(na,a,s,ad,l){}

        ⑤平均分的實現。

        利用對象數組正確調用分數屬性再利用返回值為float的成員函數實現平均分,如:

        float getaverage(student st[],int i){

        int a=st[i].mathscore;

        int b=st[i].cscore;

        return st[i].average=(a+b)/2;}

        ⑥正確輸入和調用屬性。

        利用p[n].屬性名實現屬性的各種行為,如:

        cin>>p[n+1].age;

        cout<<"姓名:"<<p[n].name<<endl;

        ⑦switch語句總執行完一個case后還繼續執行。

        加入break語句跳出switch語句。

        2、 程序中還需要改進的地方。

        姓名,年齡,地址等屬性限制的實現。


      附件:源程序
      #include <iostream.h>
      #include <string>
      using namespace std;
      class person{
      protected:
             char *name;
             int age;
             char *sex;
             char *address;
             char *lb;
      public:
             person(char *na,int a,char *s,char *ad,char *l){//對象數組
                    name=new char[strlen(na)+1];
                    strcpy(name,na);
                    age=a;
                    sex=new char[strlen(s)+1];
                    strcpy(sex,s);
                    address=new char[strlen(ad)+1];
                    strcpy(address,ad);
                    lb=new char[strlen(l)+1];
                    strcpy(lb,l);}
             person(){}//無參構造函數,方便聲明無參對象
             virtual void getinf(person p[],int n){
                    char na1[128];
                    cout<<"姓名:";
                    cin>>na1;
                    p[n].name=new char[strlen(na1)+1];//分配na1長度+1的字符串
                    strcpy(p[n].name,na1);//拷貝字符串
                    cout<<endl;
                    cout<<"年齡:";
                    cin>>p[n+1].age;
                    cout<<endl;
              char s1[2];
                    cout<<"性別:(n:男,w:女)";
                    cin>>s1;
                    p[n+2].sex=new char[strlen(s1)+1];
                    strcpy(p[n+2].sex,s1);
                    cout<<endl;
                    char ad1[128];
                    cout<<"地址:";
                    cin>>ad1;
                    p[n+3].address=new char[strlen(ad1)+1];
                    strcpy(p[n+3].address,ad1);
                    cout<<endl;
      }
             virtual void disp(person p[],int n){//有參虛函數,對象數組輸出的事現
                    cout<<"姓名:"<<p[n].name<<endl;
                    cout<<"年齡:"<<p[n+1].age<<endl;
                    cout<<"性別:"<<p[n+2].sex<<endl;
                    cout<<"地址:"<<p[n+3].address<<endl;}
      };
      class student:public virtual person
      {
      protected:
             int number;
             int mathscore,cscore;
             float average;
      public:
             student(int nu,int ms,int cs,float av,char *na,int a,char *s,char *ad,char *l):person(na,a,s,ad,l){//構造函數無法被繼承,在派生類構造函數帶參數與基類構造函數所帶參數不同時要先對基類構造函數初始化
                    number=nu;mathscore=ms;cscore=cs;average=av;}
             student(){}
             virtual void getvalue(student st[],int i){
                    cout<<"學號:";
                    cin>>st[i].number;
                    cout<<endl;}
             void getscore(student st[],int i){
                    cout<<"數學成績:";
                    cin>>st[i].mathscore;
                    cout<<endl;
                    cout<<"C++成績:";
                    cin>>st[i].cscore;
                    cout<<endl;}
             float getaverage(student st[],int i){//平均分的實現
                    int a=st[i].mathscore;
                    int b=st[i].cscore;
                    return st[i].average=(a+b)/2;}
             void show(student st[],int i){
                    cout<<"學號:"<<st[i].number<<endl;
             }
             virtual void show1(student st[],int i){
                    st[i].show(st,i);
                    cout<<"數學成績:"<<st[i].mathscore<<endl;
                    cout<<"C++成績:"<<st[i].cscore<<endl;
                    st[i].getaverage(st,i);
                    cout<<"平均成績:"<<st[i].average<<endl;
             }
      };
      class worker:public virtual person
      {
      protected:
             int number;
             float pay;
             char *value;
      public:
             worker(int num,char *v,int p,char *na,int a,char *s,char *ad,char *l):person(na,a,s,ad,l){
                    number=num;
                    value=new char[strlen(v)+1];
                    strcpy(value,v);
                    pay=p;}
             worker(){}
             void getvalue(worker w[],int i){
                    cout<<"職工號:";
                    cin>>w[i].number;
                    cout<<endl;
                    char v1[128];
                    cout<<"職稱:";
                    cin>>v1;
                    w[i].value=new char[strlen(v1)+1];
                    strcpy(w[i].value,v1);
                    cout<<endl;
                    cout<<"工資:";
                    cin>>w[i].pay;
                    cout<<endl;
                    }
             void show(worker w[],int i){
                    cout<<"職工號:"<<w[i].number<<endl;
                    cout<<"職稱:"<<w[i].value<<endl;
                    cout<<"工資:"<<w[i].pay<<endl;
                    }
      };
      class teacher:public virtual worker,public virtual person{
      protected:
             char *kemu;
             int chengji;
             char *office;
      public:
             teacher(char *of,char *ke,int ch,int num,char *v,int p,char *na,int a,char *s,char *ad,char *l):worker(num,v,p,na,a,s,ad,l),person(na,a,s,ad,l){
                    office=new char[strlen(of)+1];
                    strcpy(office,of);
                    kemu=new char[strlen(ke)+1];
                    strcpy(kemu,ke);
                    chengji=ch;}
             teacher(){}
             void getmessage(teacher t[],int i) {
                    char of1[128];
                    cout<<"教研室:";
                    cin>>of1;
                    t[i].office=new char[strlen(of1)+1];
                    strcpy(t[i].office,of1);
                    cout<<endl;
                    char ke1[128];
                    cout<<"科目:";
                    cin>>ke1;
                    t[i].kemu=new char[strlen(ke1)+1];
                    strcpy(t[i].kemu,ke1);
                    cout<<endl;
                    cout<<"成績:";
                    cin>>t[i].chengji;
                    cout<<endl;
                    }
             void show1(teacher t[],int i){
                    cout<<"教研室:"<<t[i].office<<endl;
                    cout<<"科目:"<<t[i].kemu<<endl;
                    cout<<"成績:"<<t[i].chengji<<endl;
                    }
      };
      class employee:public virtual worker,public virtual person{
      private:
             char *office;
      public:
             employee(char *of,int num,char *v,int p,char *na,int a,char *s,char *ad,char *l):worker(num,v,p,na,a,s,ad,l),person(na,a,s,ad,l){
                    office=new char[strlen(of)+1];
                    strcpy(office,of);
                    }
             employee(){}
      void getmessage(employee e[],int i) {
                    char of1[128];
                    cout<<"教研室:";
                    cin>>of1;
                    e[i].office=new char[strlen(of1)+1];
                    strcpy(e[i].office,of1);
                    cout<<endl;
                    }
             void show1(employee e[],int i){
                    cout<<"教研室:"<<e[i].office<<endl;
                    }
      };
      class jingx:public virtual student,public virtual teacher,public virtual worker,public virtual person{
      private:
             int time;
             char *danwei;
      public:
             jingx(int ti,char *da,int nu,int ms,int cs,float av,char *of,char *ke,int ch,int num,char *v,int p,char *na,int a,char *s,char *ad,char *l):student(nu,ms,cs,av,na,a,s,ad,l),teacher(of,ke,ch,num,v,p,na,a,s,ad,l),worker(num,v,p,na,a,s,ad,l),person(na,a,s,ad,l){
                    time=ti;
                    danwei=new char[strlen(da)+1];
                    strcpy(danwei,da);}
             jingx(){}
             void getmessage1(jingx j[],int i){
                    cout<<"進修時間:";
                    cin>>j[i].time;
                    cout<<endl;
                    char da1[128];
                    cout<<"單位屬性:";
                    cin>>da1;
                    j[i].danwei=new char[strlen(da1)+1];
                    strcpy(j[i].danwei,da1);
                    cout<<endl;
                    }
             void show2(jingx j[],int i) {
                    cout<<"進修時間:"<<j[i].time<<endl;
                    cout<<"單位屬性:"<<j[i].danwei<<endl;
                    }
      };
      int i;
      person p[1];    student st[1];   worker wo[1];  teacher te[1];  employee em[1];  jingx jx[1];
      void main(){
             cout<<"請選擇人員類別:"<<endl;
             cout<<"1、普通人 2、學生 3、學生及成績 4、員工 5、教師 6、行政人員 7、在職進修教師"<<endl;
             cin>>i;
             cout<<"請依次錄入信息"<<endl;
             switch(i){//錄入信息種類選擇的實現
             case 1:{
                    p[1].getinf(p,1);
                    cout<<"*************************************"<<endl;
                    p[1].disp(p,1);
                    break;}//要有break語句否則將執行case2
             case 2:{
                    st[1].getvalue(st,1);
                    p[1].getinf(p,1);
                    cout<<"*************************************"<<endl;
                    st[1].show(st,1);
                    p[1].disp(p,1);
                    break;}
             case 3:{
                    st[1].getvalue(st,1);
                    p[1].getinf(p,1);
                    st[1].getscore(st,1);
                    cout<<"*************************************"<<endl;
                    st[1].show1(st,1);
                    p[1].disp(p,1);
                    break;}
             case 4:{
                    wo[1].getvalue(wo,1);
                    p[1].getinf(p,1);
                    cout<<"*************************************"<<endl;
                    wo[1].show(wo,1);
                    p[1].disp(p,1);
                    break;}
             case 5:{
                    te[1].getmessage(te,1);
                    p[1].getinf(p,1);
                    wo[1].getvalue(wo,1);
                    cout<<"*************************************"<<endl;
                    te[1].show1(te,1);
                    p[1].disp(p,1);
                    wo[1].show(wo,1);
                    break;}
             case 6:{
                    em[1].getmessage(em,1);
                    p[1].getinf(p,1);
                    wo[1].getvalue(wo,1);
                    cout<<"*************************************"<<endl;
                    em[1].show1(em,1);
                    p[1].disp(p,1);
                    wo[1].show(wo,1);
                    break;}
             case 7:{
                    jx[1].getmessage1(jx,1);
                    te[1].getmessage(te,1);
                    st[1].getvalue(st,1);
                    wo[1].getvalue(wo,1);
                    p[1].getinf(p,1);
                    st[1].getscore(st,1);
                    cout<<"*************************************"<<endl;
                    jx[1].show2(jx,1);
                    p[1].disp(p,1);
                    te[1].show1(te,1);
                    wo[1].show(wo,1);
                    st[1].show1(st,1);
                       break;}
             default :
                    cout<<"輸入錯誤!"<<endl;
      }
       
      }

      實訓總結報告》出自:百味書屋
      鏈接地址:http://www.alexanderday.net/news/182677.html
      轉載請保留,謝謝!
      查看更多相關內容>>實訓總結報告
      相關文章
      • 工作思路范文

        工作思路范文工作思路范文關于工作思路和設想怎么寫工作思路就是你的工作方法和方向,如何完成工作的計劃; 而設想也就是期望,你期望你能將工作或者是你的職業如何完善? 設想猶...

      • 公司經營情況怎么寫

        公司經營情況說明經營情況說明一.基本情況:洛格燈飾是有湖北省恩施市工商行政管理局批準并于2011年6月11日在該局登記注冊為私營個體戶企業注冊地址為:湖北恩市鳳凰城限高線金家...

      • 檔案,專項核查,工作匯報

        關于檔案工作檢查情況報告(2015)關于檔案工作檢查情況報告(通報)為掌握楊浦軍休系統檔案工作現狀,軍休中心分管檔案工作負責人攜中心綜合辦主任和一名工作人員于7月22日、7月24...

      • 社會調查總體方案

        設計一個簡單的社會調查研究總體方案的提示自定題目、內容,設計一個簡單的社會調查研究總體方案。(提示:定性、定量研究方案皆可;文字不必太多,但方案項目要完整、清晰。)1、...

      • 產業扶貧典型材料

        xx縣產業化扶貧示范縣典型材料xx縣農業開發扶貧辦公室關于產業化扶貧示范縣的典型材料2011年12月xx縣地處xxx流域,轄?鎮?鄉?個行政村,總面積?平方公里,人口?萬,xxxx年被確定為...

      • 巡視工作整改方案

        環保局落實市委巡視組反饋意見的整改方案市環保局落實市委巡視組反饋意見的整改方案按照市委的統一安排,今年3月×日至4月×日,市委第二巡視組對我局進行了巡視。5月×日上午,市...

      • 公司運營情況說明

        公司經營情況說明經營情況說明一.基本情況:洛格燈飾是有湖北省恩施市工商行政管理局批準并于2011年6月11日在該局登記注冊為私營個體戶企業注冊地址為:湖北恩市鳳凰城限高線金家...

      • 向心力實驗報告

        向心力研究實驗報告課程名稱:中學物理實驗研究課程論文題目:向心力研究姓名:黃珊學號:2014000135所在學院:教師教育學院專業:物理行知班任課教師:王鳳蘭實驗十二向心力研究...

      • 餐費超標整改

        關于我院次均費用超標準的整改措施關于我院次均費用超標準的整改措施現針對我院次均住院費用超標做出以下措施,請各科室遵照執行:1、各科室嚴格按照瀘州市醫療價格進行收費,杜絕...

      • 課題開題論證組意見

        開題報告論證意見表附件二:開題報告論證意見表課題開題論證意見課題開題論證意見開題論證意見格式及要求《新時期中小學家庭教育立德樹人的綜合研究》子課題開題論證意見格式及要...

      推薦范文
      彩34 www.abrasys.com:那曲县| www.skzs-china.com:六枝特区| www.74li.com:东港市| www.firmware-drivers.com:西青区| www.slcbw.cn:乌鲁木齐县| www.georgepappasltd.com:东莞市| www.rightics.com:镇平县| www.uberdrivingparttime.com:蚌埠市| www.fromge.com:斗六市| www.n6989.com:阿坝县| www.vizarron.com:张家界市| www.chen0370.com:繁峙县| www.actuneups.com:岳阳县| www.aaotimepasskarain.com:沧州市| www.lainiyin.com:武宣县| www.solar-toys.org:双流县| www.www8711msc.com:时尚| www.milwaukeemillennial.com:宜阳县| www.museumsinhoustontx.com:晋中市| www.used-staticcaravans.com:田阳县| www.baby-photos.net:绥阳县| www.cp8559.com:灵武市| www.s-program.com:长顺县| www.lan-tour.com:金湖县| www.hellobuynow.com:新绛县| www.kbereg.com:房产| www.aggielandmarks.com:萨迦县| www.tecnoconfundido.org:万载县| www.k2920.com:凌云县| www.vennaresidence.com:青岛市| www.022tjhj.com:合阳县| www.ctocmall.com:辉县市| www.ninareviews.com:固原市| www.boutique-tahitienne.com:缙云县| www.bxxnn.com:定安县| www.offerhand.com:儋州市| www.baochimc.com:平潭县| www.hdhd911.com:清新县| www.iberobox.com:东方市| www.sxshangle.com:廉江市| www.shanghaisujia.com:乡城县| www.cesnievyemekleri.com:拉萨市| www.haitaodu.com:子长县| www.advancedperformers.com:富蕴县| www.whxblaw.com:扶绥县| www.ynsh9188.com:响水县| www.latribune221.com:阿巴嘎旗| www.nest180.com:息烽县| www.cameronianartsawards.com:宜宾市| www.moutevenceras.com:峡江县| www.celineverlant.com:湘西| www.mushroompipe.com:宣城市| www.marketwus.com:兴仁县| www.istanbulzemin.net:时尚| www.a2bcourierservice.com:盐津县| www.yhfs100.com:招远市| www.m6828.com:盈江县| www.robingrace-artist.com:汤原县| www.lunglinks.com:罗定市| www.aloeveramedicine.com:资中县| www.mahomesearcher.com:湟源县| www.xiexiaosuan.com:元江| www.jatemweb.com:甘肃省| www.abtans.com:博白县| www.evilalchemist.com:嵩明县| www.gearsexporters.com:绿春县| www.spiritspace.net:建宁县| www.kyotolive.com:榆中县| www.wwwhg5844.com:大方县| www.kkfma.com:广平县| www.ynkana.com:宜阳县| www.cp2110.com:博客| www.breakfastbrampton.com:元阳县| www.kpt555.com:科尔| www.gmbmw.com:文水县| www.thewavesmalta.com:察雅县| www.dongda-wood.com:隆化县| www.zhongchentebao.com:仙桃市| www.cuidighlinn.com:师宗县| www.686684.com:谢通门县| www.thisissohot.com:巴林左旗| www.btsszjx.com:东辽县| www.xmtwzh.com:天镇县| www.viralmusictoolkit.com:襄汾县|