欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      C++程序設(shè)計(jì)總結(jié)

      時(shí)間:2019-05-12 13:16:45下載本文作者:會(huì)員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《C++程序設(shè)計(jì)總結(jié)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《C++程序設(shè)計(jì)總結(jié)》。

      第一篇:C++程序設(shè)計(jì)總結(jié)

      第一章面向?qū)ο缶幊淘?/p>

      ?近五十年間,軟件技術(shù)經(jīng)歷了多個(gè)階段的發(fā)展演變 ? 目前為止最流行的技術(shù)還是面向過程編程(POP)

      ? 面向過程編程采用了自頂向下的設(shè)計(jì)方案,問題被看做多個(gè)執(zhí)行任務(wù)的序列。為完成這些任務(wù),須實(shí)現(xiàn)一些函數(shù)。

      ? 面向過程有兩大不足,即:(1)數(shù)據(jù)可在程序內(nèi)自由遷移,程序內(nèi)任何函數(shù)都會(huì)引起數(shù)據(jù)的更改,增加了數(shù)據(jù)的脆弱性。(2)它并不能很好地建?,F(xiàn)實(shí)世界。

      ? 為了克服面向過程編程中的不足,人們發(fā)明了面向?qū)ο缶幊蹋∣OP)。它采用自底向上的編程方案,在程序開發(fā)中,把數(shù)據(jù)視為重要元素,不允許數(shù)據(jù)在系統(tǒng)內(nèi)自由遷移。它還將數(shù)據(jù)和函數(shù)緊密綁定于成為類的數(shù)據(jù)結(jié)構(gòu)中,函數(shù)可操作類中的數(shù)據(jù)。此特性稱為數(shù)據(jù)封裝。

      ? 在面向?qū)ο缶幊讨?,問題被視為一系列稱為對(duì)象的實(shí)體的集合。對(duì)象是類的實(shí)例; ? 將數(shù)據(jù)與程序的直接訪問隔絕,這稱為數(shù)據(jù)隱藏。

      ? 數(shù)據(jù)抽象指的是,將各種必要特性合并,而不引入背景細(xì)節(jié)。? 繼承是這樣的一個(gè)過程,即某類的對(duì)象得到另一類對(duì)象的屬性。

      ? 多態(tài)指的是,一個(gè)名稱,多種形態(tài)。在程序中,我們可以借此定義多個(gè)同名函數(shù)。此特性亦可重載運(yùn)算符,這樣一來,同一個(gè)運(yùn)算符在不同的實(shí)例下,會(huì)有不同的行為。? 動(dòng)態(tài)綁定指的是,給定過程的代碼,直到運(yùn)行期被調(diào)用時(shí)才確定。? 消息傳遞涉及對(duì)象名,函數(shù)(消息)名以及發(fā)送的信息。

      ? 與傳統(tǒng)的編程技術(shù)相比,面向?qū)ο蠹夹g(shù)具有諸多優(yōu)勢(shì)——最顯著的當(dāng)屬重用技術(shù)。? 在實(shí)時(shí)系統(tǒng)等幾乎所有的計(jì)算機(jī)領(lǐng)域,面向?qū)ο缶幊痰膽?yīng)用程序都已受到重視。? 不少語言都支持面向?qū)ο缶幊蹋餍械恼Z言包括C++、Smalltalk和Java。

      第二章C++入門

      ? C++是C語言的超級(jí)

      ? C++在C語言的基礎(chǔ)上,添加了一些面向?qū)ο蟮奶匦?,諸如對(duì)象、繼承、函數(shù)重載和運(yùn)算符重載。這些特性加強(qiáng)了程序的清晰性,可擴(kuò)展性,使程序容易維護(hù)。

      ? C++可用于開發(fā)各種系統(tǒng),諸如編輯器、編譯器、數(shù)據(jù)庫、通信系統(tǒng)以及其他更多復(fù)雜的實(shí)際系統(tǒng)。

      ? C++支持交互式輸入輸出,并引入了新的注釋符號(hào)//,可用于注釋單句。它也支持C語言的注釋風(fēng)格。

      ? 和C程序一樣,所有C++程序的執(zhí)行入口都是main()函數(shù),并以return()語句作為結(jié)束。頭文件iostream應(yīng)包含于所有使用輸入輸出操作的程序開頭。? 所有標(biāo)準(zhǔn)C++程序都要包含using namespace std指令

      ? 典型的C++程序包括四個(gè)基本部分:也就是頭文件包含部分、類聲明部分、成員函數(shù)部分和主程序部分

      ? 和C程序一樣,C++程序可用于任何文本編輯器創(chuàng)建

      ? 大多數(shù)編譯器提供了集成開發(fā)運(yùn)行環(huán)境。流行的編譯器系統(tǒng)有UNIX AT&T C++、Turbo C++和微軟公司的Visual C++

      第三章符號(hào)、表達(dá)式和控制結(jié)構(gòu)

      ? C++有不同的符號(hào),包括關(guān)鍵字、標(biāo)識(shí)符、常量、字符串和操作符 ? 標(biāo)識(shí)符指的是變量名、函數(shù)名、數(shù)組名、類名等 ? C++中增加了void的一個(gè)用途,可用于聲明通用指針

      ? C++中枚舉數(shù)據(jù)類型略有不同,枚舉類型名稱為新的類型名。這樣我們就可以聲明枚舉類型的變量

      ? 在C++中,字符數(shù)組的大小應(yīng)比字符串的實(shí)際長度大1 ? C++增加了指針常量和常量指針的概念,對(duì)于前者我們不能修改賦予它的地址值,對(duì)于后者,我們不能修改它指向的內(nèi)容。

      ? 在C++的內(nèi)存管理和多態(tài)實(shí)現(xiàn)中,指針被廣泛地使用。

      ? C++中提供了const修飾符,用于聲明常量,常量也是變量,只是其值不可變更。const修飾符默認(rèn)修飾整型。

      ? C++的變量類型檢查非常嚴(yán)格,它不允許不同類型變量之間的賦值。類型轉(zhuǎn)換是打破此規(guī)的唯一辦法。

      ? C++允許我們?cè)诔绦蛑须S處聲明變量,而且可以利用聲明處的表達(dá)式,在運(yùn)行期完成初始化。

      ? 引用變量給之前定義的變量提供了一個(gè)別名。它們都指向內(nèi)存中的同一個(gè)數(shù)據(jù)對(duì)象。所以,改變其中一個(gè)的值,另一邊量的值也會(huì)隨之改變。

      ? 引用變量必須在聲明時(shí)初始化,這建立了它和要引用的變量之間的對(duì)應(yīng)關(guān)系。? 作用于解析操作符(::)的主要用于類,以識(shí)別成員函數(shù)所屬的類

      ? 除了malloc()、calloc()、free()函數(shù)外,C++提供了兩個(gè)一元操作符,即new和delete,以更好和更方便地分配和釋放內(nèi)存

      ? C++也提供了操縱器,來格式化輸出數(shù)據(jù)。最常用的操縱器為endl和setw ? C++支持七種表達(dá)式類型。表達(dá)式中數(shù)據(jù)類型混用時(shí),C++使用特定規(guī)則,自動(dòng)地進(jìn)行類型轉(zhuǎn)換。

      ? 使用類型轉(zhuǎn)換操作符,C++也可顯示地進(jìn)行變量和表達(dá)式的類型轉(zhuǎn)換

      ? 和C語言一樣,C++也支持三種基本的控制結(jié)構(gòu),也就是順序結(jié)構(gòu),分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu),并使用各種控制語句實(shí)現(xiàn)它們,比如if、if…else、switch、do…while、while以及for。

      第四章C++中的函數(shù)

      ? 在程序的不同處,調(diào)用函數(shù)可減少程序的大小。

      ? 在C++中,main()函數(shù)向操作系統(tǒng)返回一個(gè)整型值。因?yàn)楹瘮?shù)的返回值類型默認(rèn)是整型,所以main()函數(shù)中的關(guān)鍵字int是可選的。而如果沒有返回語句,大部分C++編譯器會(huì)提示一個(gè)警告。

      ? 函數(shù)原型向編譯器提供了函數(shù)的細(xì)節(jié),比如參數(shù)的數(shù)目和類型,以及返回值的類型。? C++的引用變量使我們可以傳引用參數(shù)給函數(shù)。函數(shù)也可以返回引用變量。

      ? 當(dāng)函數(shù)聲明為內(nèi)聯(lián)時(shí),編譯器用相應(yīng)的函數(shù)代碼替換了函數(shù)調(diào)用。一般情況下,小函數(shù)才使用內(nèi)聯(lián)。

      ? 編譯器可能會(huì)忽略函數(shù)的內(nèi)聯(lián)聲明,如果函數(shù)聲明太長或過于復(fù)雜,編譯器將按常規(guī)函數(shù)編譯它。

      ? 當(dāng)函數(shù)聲明時(shí),C++允許我們把默認(rèn)值賦給函數(shù)參數(shù)。這種情況下,我們可以無需指明所有參數(shù),便可調(diào)用函數(shù)。默認(rèn)參數(shù)總是由右到左添加。? C++中,函數(shù)的參數(shù)可聲明為常量,表示函數(shù)不可更改此變量。

      ? C++允許函數(shù)重載,也就是說,我們可以定義多個(gè)同名函數(shù)。通過檢查參數(shù)數(shù)目和類型編譯器會(huì)準(zhǔn)確地匹配函數(shù)調(diào)用和函數(shù)代碼。

      ? C++支持兩種新的函數(shù)類型,亦即友元函數(shù)和虛函數(shù)。

      ? C++標(biāo)準(zhǔn)庫支持很多數(shù)學(xué)庫函數(shù),使用它們可以完成許多數(shù)學(xué)計(jì)算。

      第五章 類和對(duì)象

      ? 類是結(jié)構(gòu)體數(shù)據(jù)類型的擴(kuò)展,一個(gè)類有多個(gè)成員變量和成員函數(shù)。? 默認(rèn)情況下,類的成員是私有的,而結(jié)構(gòu)體的成員是公用的。

      ? 只有成員函數(shù)可以訪問私有數(shù)據(jù)成員和私有函數(shù)。但是類外可以訪問公用成員。? 在C++中,類變量稱為對(duì)象。利用對(duì)象并使用點(diǎn)操作符,我們可以訪問類的公用成員。? 我們可以在類內(nèi)或類外定義成員函數(shù)。成員函數(shù)和常規(guī)函數(shù)的區(qū)別在于,成員函數(shù)的頭

      部有一個(gè)隸屬標(biāo)識(shí)符,以表明所屬類。

      ? 對(duì)象聲明時(shí),內(nèi)存空間才會(huì)分配。每一對(duì)象的成員變量空間單獨(dú)分配,而成員函數(shù)的空間則統(tǒng)一分配。

      ? 類的一個(gè)成員變量可聲明為靜態(tài)成員,一般用于維護(hù)整個(gè)類的通用值。? 靜態(tài)成員變量必須定義于類外。

      ? 靜態(tài)成員函數(shù)可訪問聲明在同類的靜態(tài)成員,調(diào)用靜態(tài)成員函數(shù)時(shí)需要用到類名。? C++允許我們使用對(duì)象數(shù)組。? 對(duì)象可用作函數(shù)自變量。

      ? 友元函數(shù)不在友元聲明類的作用域類,它可以訪問累的所有私有數(shù)據(jù)。? 函數(shù)可以返回對(duì)象。

      ? 如果成員函數(shù)不改變類內(nèi)的任何數(shù)據(jù),我們可以將其聲明為常量成員函數(shù),只要在函數(shù)原型中加上關(guān)鍵詞const(聲明和定義都要加)。

      ? 我們也可以在函數(shù)內(nèi)定義和使用類。這種類稱為局部類。

      第六章構(gòu)造函數(shù)和析構(gòu)函數(shù)

      ? C++提供了一種稱為構(gòu)造函數(shù)的特殊成員函數(shù),它能幫助對(duì)象在創(chuàng)建時(shí)完成初始化。這一過程被稱為對(duì)象的自動(dòng)初始化。? 構(gòu)造函數(shù)名和類名一致。

      ? 構(gòu)造函數(shù)通常用來初始化變量,以及分配內(nèi)存。? 和常規(guī)函數(shù)一樣,構(gòu)造函數(shù)也可以被重載。

      ? 當(dāng)對(duì)象同時(shí)被創(chuàng)建和初始化時(shí),復(fù)制構(gòu)造函數(shù)被調(diào)用。? 我們可以聲明一個(gè)常量對(duì)象,其數(shù)據(jù)值不能改變。

      ? C++還提供另一種成員函數(shù),稱為析構(gòu)函數(shù)。當(dāng)對(duì)象不再需要時(shí),會(huì)調(diào)用這種函數(shù)來銷毀對(duì)象。

      第七章運(yùn)算符重載和類型轉(zhuǎn)換

      ? 運(yùn)算符重載是C++的重要特性之一。又被稱為編譯時(shí)多態(tài)性。

      ? 使用重載特性,我們可以對(duì)兩個(gè)用戶自定義數(shù)據(jù)類型,比如說對(duì)象,執(zhí)行相加的操作,使用的語法就和基本數(shù)據(jù)類型一樣。

      ? 我們可以重載幾乎所有C++的運(yùn)算符,下面幾個(gè)是例外:

      ? 類成員訪問符(.,.*)。? 作用域解析符(::)。

      ? 大小運(yùn)算符(sizeof)。? 條件運(yùn)算符(?:)。

      ? 運(yùn)算符重載是通過一種稱為運(yùn)算符函數(shù)的特殊函數(shù)完成的,該函數(shù)定義了運(yùn)算符的特定任務(wù)。

      ? 運(yùn)算符重載時(shí)有一些限制。運(yùn)算符函數(shù)必須是非靜態(tài)的成員函數(shù)或者友元函數(shù)。重載的運(yùn)算符必須有至少一個(gè)用戶自定義類型的操作數(shù)。

      ? 編譯器不支持用戶自定義數(shù)據(jù)類型的自動(dòng)類型轉(zhuǎn)換,我們可以使用自定義的轉(zhuǎn)換運(yùn)算符函數(shù),以實(shí)現(xiàn)自定義數(shù)據(jù)類型的自動(dòng)類型轉(zhuǎn)換。? 轉(zhuǎn)換運(yùn)算符函數(shù)應(yīng)符合下列條件:

      ? 必須是類成員。? 必須不指定返回值。? 必須沒有參數(shù)。

      第八章繼承:類的擴(kuò)展

      ? 從舊類派生一個(gè)新類的機(jī)制被稱為繼承。繼承提供了可重用性的概念。通過繼承,C++的類可以被重用。

      ? 派生類繼承了基類的一部分或所有特性。? 只有一個(gè)基類的派生類被稱為單繼承。? 可從多個(gè)類繼承,這被稱為多繼承。? 可從另一派生類繼承類,這被稱為多級(jí)繼承。

      ? 當(dāng)某類的屬性被多于一個(gè)類繼承時(shí),這被稱為層次繼承。? 不管是在公用模式還是私有模式,類的私有成員都不可被繼承。

      ? 以公用模式繼承的保護(hù)成員仍為派生類的保護(hù)成員,而以私有模式繼承的保護(hù)成員,則變成派生類的私有成員。

      ? 友元函數(shù)和友元類的成員函數(shù)可直接訪問私有和保護(hù)數(shù)據(jù)。

      ? 派生類的成員函數(shù)只能直接訪問保護(hù)和公用數(shù)據(jù)。不過他們可通過基類的成員函數(shù)訪問私有數(shù)據(jù)。

      ? 多路繼承可能引起祖父基類的繼承成員的重復(fù)。通過將共同的基類設(shè)為虛基類,我們可以避免祖父基類成員的重復(fù)。

      ? 在多繼承中,基類的創(chuàng)建次序與他們?cè)谂缮愔械穆暶鞔涡蛞恢隆? 類可包含其他類的對(duì)象。這被稱為包含關(guān)系或嵌套。

      第二篇:C++程序設(shè)計(jì)實(shí)習(xí)報(bào)告

      目錄

      一、實(shí)習(xí)內(nèi)容…………………………………………………………………………1

      二、設(shè)計(jì)思路…………………………………………………………………………2

      三、程序清單…………………………………………………………………………3

      四、運(yùn)行結(jié)果…………………………………………………………………………15

      五、程序使用說明……………………………………………………………………20

      六、總結(jié)及心得體會(huì)…………………………………………………………………21

      課程設(shè)計(jì)的題目:《小型公司工資管理系統(tǒng)》設(shè)計(jì)

      設(shè)計(jì)說明:公司主要有四類人員:經(jīng)理、技術(shù)員、銷售員、銷售經(jīng)理。程序要求存儲(chǔ)這些人的職工號(hào)、姓名、月工資、年齡、性別等信息。并且應(yīng)用程序中要求給出菜單,用于選擇各項(xiàng)功能。

      一、程序要求實(shí)現(xiàn)的功能即菜單目錄有:

      1、數(shù)據(jù)輸入:輸入各種數(shù)據(jù);

      2、數(shù)據(jù)統(tǒng)計(jì):統(tǒng)計(jì)各銷售經(jīng)理下屬銷售員的銷售額及銷售額之和;銷售經(jīng)理工資進(jìn)行冒泡排序;

      3、數(shù)據(jù)打印:打印各類員工的數(shù)據(jù)信息;

      4、數(shù)據(jù)備份:把各類員工的數(shù)據(jù)信息寫入文件中保存;

      5、退出:退出本系統(tǒng),即結(jié)束程序的運(yùn)行。

      二、工資的計(jì)算方法

      A:經(jīng)理:固定月薪為8000元;B:技術(shù)員:工作時(shí)間*小時(shí)工資(100元/小時(shí));C:銷售員:銷售額* 4%提成;D:銷售經(jīng)理:底薪(5000)+所轄部門銷售額總額* 0.5%。

      三、類的層次結(jié)構(gòu)大體如下

      雇員類

      技術(shù)員類

      經(jīng)理類

      銷售員類

      ↓ 銷售經(jīng)理類

      二、設(shè)計(jì)思路

      1.(1)首先我們要搞清楚各類之間的繼承關(guān)系,設(shè)置基類employee,其派生類manager,technician,salesman。再以manager類為基類,再派生一個(gè)salesmanager類,將各類的數(shù)據(jù)成員設(shè)計(jì)成protected,方便派生類對(duì)基類的繼承;

      (2)在public里編寫數(shù)據(jù)輸入的函數(shù),在主函數(shù)中輸出菜單并定義各類的對(duì)象,通過對(duì)象來調(diào)用數(shù)據(jù)輸入函數(shù); 2.

      (1)在基類employee中補(bǔ)充幾個(gè)返回各類數(shù)據(jù)的函數(shù)以用于返回輸入的各類值;

      (2)在主函數(shù)內(nèi)用冒泡法對(duì)銷售經(jīng)理的工資進(jìn)行排序,定義一個(gè)wage[]來將各銷售經(jīng)理下面的銷售員的銷售額進(jìn)行儲(chǔ)存,定義一個(gè)all用于計(jì)算銷售經(jīng)理的銷售總額,以便于下面對(duì)其進(jìn)行工資的計(jì)算 ;

      (3)第2,3,4步都用大量的for循環(huán)進(jìn)行輸出,以實(shí)現(xiàn)表格的形成還有表格中數(shù)據(jù)的輸入;在主函數(shù)內(nèi)定義各類的對(duì)象,然后都是直接通過類的對(duì)象調(diào)用類內(nèi)的函數(shù),運(yùn)用for循環(huán)進(jìn)行打印,統(tǒng)計(jì); 3.

      備份參照課本格式,選擇路徑及格式,運(yùn)用for循環(huán)備份;就是那個(gè)fstream之類的東西;、退出系統(tǒng)用exit(5)函數(shù)實(shí)現(xiàn);

      4.主函數(shù)運(yùn)用switch語句,將上述功能編為case 1~5,每個(gè)case后添加break;5.程序結(jié)束。

      以上是我所認(rèn)為的該程序的幾個(gè)要點(diǎn)…………………………………..三、程序清單

      #include #include #include #include #include using namespace std;const N=2;fstream outfile;class employee

      //基類,雇傭者 { protected:

      string name;char sex;int age;public:

      virtual void display()

      {

      cout<<“其姓名:”;

      cin>>name;cout<<“性別(m/w):”;cin>>sex;cout<<“年齡:”;

      cin>>age;} string nam(){return name;} char se(){return sex;} int ag(){return age;} };

      // class technician: public employee

      //技術(shù)員類 { public:

      int worktime;int number1;public:

      void display1()

      {

      } int time(){return worktime;} int numb1(){return number1;} cout<<“技術(shù)員的編號(hào):”;cin>>number1;employee::display();cout<<“工作時(shí)間”;cin>>worktime;};

      // class manager : public employee

      //經(jīng)理類 {protected:

      int number2;

      public:

      void display2(){

      } int numb2(){return number2;} cout<<“經(jīng)理的編號(hào):”;cin>>number2;employee::display();};

      // class salesman : public employee

      //銷售員類 { protected:

      int total;int boss;int number3;public:

      };

      //

      class salesmanager : public manager

      //銷售經(jīng)理類 {protected:

      int number4;public: void display4(){ void display3(){

      cout<<“銷售員的編號(hào):”;cin>>number3;employee::display();

      cout<<“銷售額:”;

      } int hismanager(){return boss;} int xiaoshoue(){return total;} int numb3(){return number3;} cin>>total;cout<<“所屬銷售經(jīng)理的編號(hào):”;cin>>boss;

      cout<<“銷售經(jīng)理的編號(hào):”;

      cin>>number4;

      employee::display();} int numb4(){return number4;} };

      //

      void form(){ cout<<“★★小型公司工資管理系統(tǒng)★★”<

      請(qǐng)選擇您所需的操作

      │”<

      數(shù)據(jù)輸入:1,并按回車鍵 │”<

      數(shù)據(jù)統(tǒng)計(jì):2,并按回車鍵 │”<

      數(shù)據(jù)打印:3,并按回車鍵 │”<

      數(shù)據(jù)備份:4,并按回車鍵 │”<

      退出系統(tǒng):5,并按回車鍵 │”<

      int main(){ int i,j,k,g,m,all,t;

      char shuzi;

      int wage[N];

      technician t1[N];

      //提示表格

      manager m1[N];

      salesman s1[2*N],s2[2*N];

      salesmanager sm1[N],f;

      for(t=1;;t++){

      form();cin>>shuzi;switch(shuzi){ case '1':{

      //功能1

      for(i=0;i

      t1[i].display1();cout<<“.......................................”<

      for(i=0;i

      m1[i].display2();cout<<“.......................................”<

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

      s1[i].display3();cout<<“.......................................”<

      for(i=0;i

      sm1[i].display4();cout<<“.......................................”<

      //功能2 for(i=0;i

      cout<<“│職工號(hào)

      │姓名

      │銷售額

      │”<

      for(m=0;m<2*N;m++){if(s1[m].hismanager()==sm1[i].numb4()){ wage[i]=wage[i]+0.005*(s1[m].xiaoshoue());all=all+s1[m].xiaoshoue();

      cout<<“├─────┼────┼─────┤”<

      cout<<“├─────┼────┴─────┤”<

      cout<<“│銷售額總計(jì)│”<

      for(j=0;j

      for(k=0;k

      if(wage[k]

      //冒泡

      wage[k]=wage[k+1];wage[k+1]=t;f=sm1[k];sm1[k]=sm1[k+1];sm1[k+1]=f;} cout<<“銷售經(jīng)理按工資排序?yàn)椋骸?

      │姓名

      │性別

      │年齡

      │工資

      │”<

      ”<

      │”<

      break;

      //功能3 case '3': cout<<“請(qǐng)等待............”<

      cout<<“┌─────┬────┬────┬────┬────┐”<

      cout<<“│職工號(hào)

      │姓名

      │性別

      │年齡

      │工資

      │”<

      for(i=0;i

      ”<

      │”<

      cout<<”.......................................................“<

      cout<<”┌─────┬────┬────┬────┬────┐“<

      cout<<”│職工號(hào)

      │姓名

      │性別

      │年齡

      │工資

      │“<

      for(i=0;i

      “<

      │“<

      } cout<<”└─────┴────┴────┴────┴────┘“<

      //經(jīng)理表

      cout<<”.......................................................“<

      cout<<”┌─────┬────┬────┬────┬────┐“<

      cout<<”│職工號(hào)

      │姓名

      │性別

      │年齡

      │工資

      │“<

      for(g=0;g

      cout<<”├─────┼────┼────┼────┼────┤“<

      cout<<”

      “<

      “<

      ││“<

      cout<<”└─────┴────┴────┴────┴────┘“<

      //銷售經(jīng)理表

      cout<<”銷售員“<

      cout<<”┌─────┬────┬────┬────┬────┬────────┐“<

      cout<<”│職工號(hào)

      │姓名

      │性別

      │年齡

      │工資

      │所屬部門經(jīng)理編號(hào)│“<

      for(i=0;i<(2*N);i++){ cout<<”├─────┼────┼────┼────┼────┼────────┤“<

      “<

      │“<

      ────────┘“<

      //經(jīng)理表 cout<<”...............................................................................“<

      break;case '4': cout<<”數(shù)據(jù)備份“<

      outfile.open(”E:sjq.txt“,ios::in|ios::out|ios::trunc);

      outfile<<”技術(shù)員“<

      outfile<<”┌─────┬────┬────┬────┬────┐“<

      outfile<<”│職工號(hào)

      │姓名

      │性別

      │年齡

      │工資

      │“<

      for(i=0;i

      “<

      │“<

      outfile<<”.......................................................“<

      outfile<<”┌─────┬────┬────┬────┬────┐“<

      outfile<<”│職工號(hào)

      │姓名

      │性別

      │年齡

      │工資

      │“<

      for(i=0;i

      “<

      “<

      ││“<

      } outfile<<”└─────┴────┴────┴────┴────┘“<

      //經(jīng)理表

      outfile<<”.......................................................“<

      outfile<<”┌─────┬────┬────┬────┬────┐“<

      outfile<<”│職工號(hào)

      │姓名

      │性別

      │年齡

      │工資

      │“<

      for(g=0;g

      {

      outfile<<”├─────┼────┼────┼────┼────┤“<

      outfile<<”

      “<

      “<

      ││“<

      outfile<<”└─────┴────┴────┴────┴────┘“<

      //銷售經(jīng)理表 outfile<<”銷售員“<

      outfile<<”┌─────┬────┬────┬────┬────┬────────┐“<

      outfile<<”│職工號(hào)

      │姓名

      │性別

      │年齡

      │工資

      │所屬部門經(jīng)理編號(hào)│“<

      for(i=0;i<(2*N);i++){ outfile<<”├─────┼────┼────┼────┼────┼────────┤“<

      “<

      │“<

      ┴────────┘“<

      //經(jīng)理表

      outfile<<”...............................................................................“<

      case '5':cout<<”確定退出系統(tǒng)嗎?“<

      cout<<”是:1,否:2“<>a;if(a==1)exit(5);break;

      default :cout<<”error"<

      } return 0;} }

      四、運(yùn)行結(jié)果

      數(shù)據(jù)備份內(nèi)容…………………………………………….1.從鍵盤輸入1,按回車鍵,可進(jìn)行各類數(shù)據(jù)的輸入,此步驟必須執(zhí)行; 2.從鍵盤輸入2,按回車鍵,即可進(jìn)行數(shù)據(jù)統(tǒng)計(jì),得到統(tǒng)計(jì)列表; 3.從鍵盤輸入3,按回車鍵,可打印出各類成員的基本信息; 4.從鍵盤輸入4,按回車鍵,可進(jìn)行數(shù)據(jù)備份;

      5.從鍵盤輸入5,按回車鍵,出現(xiàn)提示信息,若退出系統(tǒng)輸入1否則輸入2。

      六、總結(jié)及心得體會(huì)

      從9月2號(hào),我們開始了為期一周的C++程序設(shè)計(jì)實(shí)習(xí)——《小型工資管理系統(tǒng)》,每天下午去機(jī)房調(diào)試程序,上午編寫下一天的程序代碼。

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

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

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

      然后剩下的就是備份以及推出功能的實(shí)現(xiàn)了。這些都是在網(wǎng)上查了相關(guān)資料然后學(xué)會(huì)如何編寫的,剛開始覺得很深?yuàn)W,學(xué)了之后,就覺得,嗯,還行。所以其他的任務(wù)在半天內(nèi)就完成了??粗约壕幊龅某绦颍嫘挠X得一切都值了,很有成就感的樣子,我想這就是編程員的歡喜吧。整個(gè)實(shí)習(xí)過程讓我明白了幾點(diǎn):

      1.設(shè)計(jì)一個(gè)程序時(shí)需要從整體考慮,不能分散到最后結(jié)合不到一起; 2.有些貌似簡單的功能的實(shí)現(xiàn)其程序?qū)崿F(xiàn)不一定簡單,但也不能畏首畏尾,不敢嘗試,要勇于挑戰(zhàn)自己,相信自己一定可以; 3.

      1.需要具有刻苦鉆研的精神,注意總結(jié),遇到問題認(rèn)真思考,力求得到結(jié)果; 2.同時(shí)也不能忽略團(tuán)隊(duì)的力量,遇到實(shí)在個(gè)人解決不了的問題可以通過與同學(xué)商量解決,并且結(jié)合別人和自己的觀點(diǎn),從多方面考慮,在眾多方案中找出最優(yōu)化的;

      3.遇到一些問題時(shí)要有耐心進(jìn)行更正,因?yàn)榭赡苡袝r(shí)候一個(gè)很小的錯(cuò)誤會(huì)導(dǎo)致整個(gè)程序運(yùn)行失常。

      我感覺這一周的實(shí)習(xí)非常充實(shí),謝謝這一周給我指導(dǎo)的老師,以及各位同學(xué)的陪伴。

      第三篇:《C++程序設(shè)計(jì)》實(shí)驗(yàn)報(bào)告范例

      注意:以下藍(lán)色文字部分根據(jù)情況增刪

      實(shí)驗(yàn)1熟悉VC++6.0集成開發(fā)環(huán)境

      一、實(shí)驗(yàn)時(shí)間:

      2011年9月20日

      二、實(shí)驗(yàn)地點(diǎn):

      第7機(jī)房

      三、指導(dǎo)教師:

      鄧譜

      四、實(shí)驗(yàn)?zāi)康模?/p>

      1.了解VC++6.0的主要特點(diǎn);

      2.熟悉VC++6.0的集成開發(fā)環(huán)境;

      3.學(xué)習(xí)用VC++6.0編寫簡單的C++應(yīng)用程序,掌握C++程序的上機(jī)調(diào)試步驟。

      五、實(shí)驗(yàn)內(nèi)容:

      1.P19 第1題:在屏幕上輸出字符串“歡迎大家學(xué)習(xí)VC++6.0!”

      ? 【編程思想】

      ? 【流程圖】

      ? 【源程序】見上機(jī)作業(yè)“實(shí)驗(yàn)11_11_1.cpp”

      問題1:不知道如何在VC++6.0里輸入源程序

      解決方法:

      (1)首先建立“Win32 Console Application”工程;

      (2)再向工程中添加源文件;

      (3)在添加的源文件中輸入代碼。

      以上的詳細(xì)操作流程見“Visual C++ 6.0集成開發(fā)環(huán)境.doc”文件。

      問題2:error LNK2001: unresolved external symbol _WinMain@16:連接錯(cuò)誤2001:未解決的外部符號(hào)_WinMain@16

      問題原因:創(chuàng)建工程時(shí)選的創(chuàng)建“Win32 Application”,這是創(chuàng)建圖形用戶界面的C++工程,而程序是字符界面,兩者不一致導(dǎo)致該錯(cuò)誤。

      解決方法:創(chuàng)建工程時(shí)應(yīng)選“Win32 Console Application”

      問題3:error C1010: unexpected end of file while looking for precompiled header directive:錯(cuò)誤C1010:在查找預(yù)編譯頭時(shí)遇到意外的文件結(jié)尾。

      問題原因:在選擇創(chuàng)建工程種類時(shí)選擇了“a simple application”,該工程還包含stdafx..h和stdafx..cpp兩個(gè)文件,這兩個(gè)文件是為編譯系統(tǒng)進(jìn)行預(yù)編譯服務(wù)的,需要在源程序開始部分使用#include “stdafx.h”進(jìn)行引用,如果未進(jìn)行引用,會(huì)導(dǎo)致該錯(cuò)誤。

      解決方法1:在選擇創(chuàng)建工程種類時(shí)選擇第一項(xiàng)“an empty project”

      解決方法2:如果工程文件列表中(窗口左邊)有stdafx..h和stdafx..cpp兩個(gè)文件,則源程序開始要使用#include “stdafx.h”進(jìn)行引用。

      問題4:error C2143: syntax error : missing ';' before '}':錯(cuò)誤C2143:語法錯(cuò)誤:在'}'之前丟失了';'

      問題5:……

      2.P19 第2題:求兩個(gè)整數(shù)之和

      ……

      六、實(shí)驗(yàn)總結(jié):

      (將實(shí)驗(yàn)過程中或?qū)W習(xí)本章節(jié)的上機(jī)過程中值得記錄的內(nèi)容按1.2.3.分條寫下來)

      第四篇:c++程序設(shè)計(jì)教案(朱紅)

      1構(gòu)造一個(gè)類,含有3個(gè)數(shù)據(jù)成員,為長方體的長、寬、高,含有一個(gè)成員函數(shù),用來計(jì)算長方體的體積 #include “stdafx.h” #include class cub { private: double a,b,c;public: void setabc(double,double,double);double volu(void);};void cub::setabc(double x,double y,double z){a=x;b=y;c=z;} double cub::volu(void){return a*b*c;} void main(){ cub cuba;cuba.setabc(3,4,5);cout<<“cuba的體積為:”< class cub { private: double a,b,c;public: void setabc(double x,double y,double z){

      a=x;b=y;c=z;} double volu(void){

      return a*b*c;} };int main(int argc, char* argv[]){

      cub cuba;cuba.setabc(3,4,5);cout<<“cuba的體積為:”< class stu { private: double a,b,c;public: void setabc(double x,double y,double z){

      a=x;b=y;c=z;} double average(void){

      return(a+b+c)/3;} void show(void){

      cout<<“數(shù)學(xué)、物理、英語成績分別是:”<

      cout<<“平均成績是:”<

      stu Yin;Yin.setabc(80,81,82);cout<<“張三的成績表:”< #define pI 3.14 class circle { private: double radius;public: circle(double x=0){radius=x;} circle(circle &t)

      //拷貝

      { radius=t.radius;} double peri(void){return 2*pI*radius;} double area(void){return pI*radius*radius;}

      void show(void){cout<<“圓形的半徑為:”<

      cout<<“圓形的周長為:”<

      cout<<“圓形的面積為:”<

      cout<<“circlea的參數(shù)是:”<

      circle circlea(3);circle circleb(circlea);

      circlea.show();

      cout<<“circleb的參數(shù)是:”< #include class Rect { public: double a,b;Rect(double x,double y){

      a=x;b=y;

      } double area(void){

      return a*b;} void showA(void){

      cout<<“長方形的邊長是:”<

      cout<<“長方形的面積是:”<

      class Cub:public Rect { private: double H;public: Cub(double x,double y,double h):Rect(x,y){H=h;} double volume(){return area()*H;} double Aarea()//表面積

      {return(2*a*b+2*b*H+2*b*H);} void showB(void){

      cout<<“長方體的高是:”<

      cout<<“長方體的表面積是:”<

      cout<<“長方體的體積是:”<

      void main(int argc, char* argv[]){

      Cub abc(3,4,4);cout<<“長方形的參數(shù)是:”<

      a=x;b=y;r=z;} double area1()//圓的面積

      {

      return PI*r*r;

      } double area2(){

      return a*b;}

      //長方形面積

      void showA(){

      cout<<“圓的半徑為”<

      cout<<“圓的面積為”<

      cout<<“長方形的邊長為”<

      cout<<“長方形的面積為”<

      class sphere:public shape

      //圓類 {

      public: sphere(double z):shape(0,0,z)

      {

      }

      double Aarea1()

      {

      return 4*PI*r*r;

      }

      double volume1()

      {

      return(4*PI*r*r*r)/3;

      }

      void showC(void)

      {

      cout<<“球的表面積為:”<

      cout<<“球的體積為:”<

      }

      };class cube:public shape

      //長方體類

      { private:

      double h;public:

      cube(double x,double y,double z):shape(x,y,z)

      { h=z;}

      double Aarea2()

      {

      return 2*(a*b+a*h+b*h);

      }

      double volume2()

      {

      return area2()*h;

      }

      void showD(void)

      {

      cout<<“長方體的高為:”<

      cout<<“長方體的表面積為:”<

      cout<<“長方體的體積為:”<

      }

      };

      void main(int argc, char* argv[]){

      sphere yuan(1);

      cout<<“球類的參數(shù)是:”<

      yuan.showA();

      //abc.showB();

      yuan.showC();

      cube chang(1,2,3);

      cout<<“長方體的參數(shù)是:”<

      chang.showB();

      chang.showD();}

      四則運(yùn)算:

      #include #include class CA { private: int D1,D2;char Opr;public: long GetResult(){

      switch(Opr)

      {

      case '+': return D1+D2;break;

      case '-': return D1-D2;break;

      case '*': return D1*D2;break;

      case '/': if(D2!=0)return D1/D2;

      else{

      cout<<“分母為0”<

      default:

      {

      cout<<“非法 Opr”<

      } } }

      void SetOpr(char opr){ switch(opr){ case '+': case '-': case '*': case '/':

      Opr=opr;break;default:Opr='