C語言程序設計教程(第二版)電子課件_第1頁
C語言程序設計教程(第二版)電子課件_第2頁
C語言程序設計教程(第二版)電子課件_第3頁
C語言程序設計教程(第二版)電子課件_第4頁
C語言程序設計教程(第二版)電子課件_第5頁
已閱讀5頁,還剩32頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

《C語言程序設計教程》(第二版)1《C語言程序設計教程》(第二版)1《C語言程序設計教程》(第二版)110.1

程序設計方法簡介程序設計方法很多,程序員可以充分發揮自己的聰明才智,設計出形式多樣、運行效率高的程序。但是對于一個復雜的應用程序,不能在象前面章節中的例題一樣直接設計。設計一個應用程序,是一個系統性的工作任務,有一定的方法和過程。對于一個應用程序的開發設計主要有如下過程:可行性研究與項目開發計劃軟件需求分析軟件概要設計軟件詳細設計程序編碼軟件測試《C語言程序設計教程》(第二版)10.1

程序設計方法簡介1.

可行性研究與項目開發計劃可行性研究的目的是用最小的代價在盡可能短的時間內確定問題是否能夠解決。也就是說可行性研究的目的不是解決問題,而是確定問題是否可解和是否值得去做。一般應從經濟可行性、技術可行性、運行可行性、法律可行性和開發方案等方面研究可行性,并寫出可行性研究報告。在可行性研究的基礎上編制項目開發計劃書。《C語言程序設計教程》(第二版)10.1

程序設計方法簡介2.

軟件需求分析軟件需求分析的目的是深入描述軟件的功能和性能,確定軟件設計的約束條件同其他系統元素的接口細節,定義軟件的其他有效性需求。需求分析階段研究的是用戶對軟件的要求。一方面,必須全面理解用戶的各項要求,但又不能全盤接受所有的要求,另一方面,要準確地表達被接受的用戶要求《C語言程序設計教程》(第二版)10.1

程序設計方法簡介2.

軟件需求分析軟件需求分析的目的是深入描述軟件的功能和性能,確定軟件設計的約束條件同其他系統元素的接口細節,定義軟件的其他有效性需求。需求分析階段研究的是用戶對軟件的要求。一方面,必須全面理解用戶的各項要求,但又不能全盤接受所有的要求,另一方面,要準確地表達被接受的用戶要求。《C語言程序設計教程》(第二版)10.1

程序設計方法簡介軟件概要設計把一個軟件需求轉換為軟件表示時,首先設計出軟件總體系結構,稱為概要設計或結構設計。概要設計階段的基本任務是:設計軟件系統結構,具體包括采用某種設計方法將一個復雜的系統按功能劃分為模塊、確定每個模塊的功能、確定模塊之間的調用關系、確定模塊之間的接口、評價模塊的結構質量。進行數據結構及數據庫的設計。編寫概要設計的文檔。評審,包括是否完整地實現了規定的功能、性能要求;設計方案是否可行;關鍵的處理及內部接口定義的正確性、有效性、各部分的一致性。《C語言程序設計教程》(第二版)10.1

程序設計方法簡介軟件詳細設計為每個模塊進行詳細的算法設計為模塊內的數據結構進行設計對數據庫進行物理設計其他設計編寫詳細設計說明書《C語言程序設計教程》(第二版)10.1

程序設計方法簡介程序編碼在程序編碼階段,要注意程序的結構化和數據結構的合理化。應當采取自頂向下、逐步求精的方法,把一個模塊的功能逐步分解,細化為一系列具體的步驟,進而轉化為一系列用某種程序設計語言寫成的程序。軟件測試軟件測試是根據軟件開發各階段的規格說明和程序內部結構而精心設計一批測試用例(即輸入數據及其預期的輸出結果),并利用這些測試用例去運行程序,以發現程序隱藏的錯誤并進行糾正的過程。《C語言程序設計教程》(第二版)10.2

課程設計任務1.

課程設計的目的《C語言程序設計》是一門實踐性很強的課程,為了提高學生綜合運用C語言程序設計能力,在學完了《C語言程序設計》課程之后,結合實際問題設計應用程序,旨在加深對C語言程序設計知識的理解,加深對使用C語言進行程序設計與開發的認識,掌握使用C語言開發應用程序來解決實際問題的基本方法和過程,提高進行應用程序設計和分析的基本能力,為今后的學習與實踐打下良好的設計基礎。《C語言程序設計教程》(第二版)10.2

課程設計任務課程設計題目由指導教師擬定設計題目及設計要求供學生選擇。設計準備工作根據設計任務書給定的題目確定設計的具體題目,進一步學習C語言程序設計,重點是函數、結構體、文件等內容,以及進一步熟悉開發環境的使用,掌握利用C語言進行程序設計方法,根

據選定的題目了解實際工作的任務和內容,收集有關原始信息和資料,結合設計要求,理清設計思路,明確設計內容。《C語言程序設計教程》(第二版)10.2

課程設計任務設計過程內容及方法、步驟需求分析:根據選定的題目,了解實際工作中的任務和內容,收集有關原始信息和資料。系統分析:結合設計要求,對系統進行分析,確定系統功能和系統結構及模塊劃分。數據結構設計:分析工作中需要處理的數據,進行分類整理,確定對數據的描述方法,確定對應的結構體和文件存儲結構。《C語言程序設計教程》(第二版)10.2

課程設計任務設計過程內容及方法、步驟界面設計:根據各模塊的功能需要,設計出相應功能所需的顯示界面。代碼設計:根據各模塊的功能,在相應函數中設計程序代碼,實現所需功能,并進行模塊調試,糾正錯誤。系統測試:利用模擬數據,對整個程序進行運行測試,找出系統存在的問題和不足,并適當給與改正。撰寫設計說明書。《C語言程序設計教程》(第二版)10.2

課程設計任務設計成果設計成果:包括課程設計說明書、源程序代碼。畢業設計說明書的內容一般包括:系統概述;系統分析;系統功能;開發環境;數據結構設計;系統結構圖、各模塊流程圖;操作界面及程序代碼;使用手冊;設計過程中疑難問題的解決辦法,系統需要改進的地方和注意的問題;總結等幾個部分。設計說明書文字要通順、層次清楚、對攻功能實現方法、關鍵技術、主要代碼應注有文字說明,必要時用表格列出。設計說明書文字一般不少于20000字。《C語言程序設計教程》(第二版)10.2

課程設計任務設計期間的基本要求學生在教師的指導下,應積極、主動地獨立完成課程設計所規定的全部任務。應嚴格按照進度進行設計,不得無故拖延。設計方案有原則性錯誤、未按規定時間完成設計、抄襲他人設計、不按設計要求或未完成全部設計內容成績定為不及格。《C語言程序設計教程》(第二版)10.3

歌唱比賽評分程序10.3.1

評分過程及功能介紹1.系統介紹在電視中經常可以看到,一些競賽中,當每位選手表演完后,由幾位評委對選手的表現打分給出成績,然后根據每位評委的打分綜合計算出選手的得分。此過程現在一般都是由計算機對評委的打分進行處理,當選手表演完后,評委給出各自的評分,然后把評委的打分輸入計算機,由計算機程序按照一定規則計算出選手的得分,當所有選手都表演完后,最后計算機根據選手得分進行排名,計算出每位選手的比賽名次。《C語言程序設計教程》(第二版)10.3

歌唱比賽評分程序評分過程及功能介紹功能分析根據任務要求,了解了程序應完成的任務,除了上面所提到的必須功能外,為了便于用戶使用程序,在此基礎上還需要增加一些輔助功能,如功能菜單的顯示和選擇、數據的瀏覽、數據的查找等功能,確定程序應實現的功能如下:評委分數的輸入,并計算出選手最終得分,去掉一個最高分和一個最低分后的平均分數作為選手得最終得分;根據選手得分按照分數由高到低進行排名,計算機出選手的名次;選手得分的查詢,在比賽中隨時查詢任意選手的得分情況;選手分數的瀏覽,把所有選手的分數都顯示出來,以便整體了解選手得分情況;程序功能菜單,通過菜單提供用戶選擇不同的功能,完成所需任務。《C語言程序設計教程》(第二版)10.3

歌唱比賽評分程序10.3.2

程序代碼1.

程序結構介紹通過前面的功能分析,可以把整個任務按功能劃分成各模塊,用函數編寫各功能模塊程序,最后由主函數實現對各功能模塊的調用,把各功能模塊組織成一個整體。由于一個選手的得分需要包含多個信息,為了合理存儲選手數據,把選手信息定義為一個結構體,并用此結構體定義結構體數組變量來存儲選手數據。《C語言程序設計教程》(第二版)10.3

歌唱比賽評分程序程序代碼程序結構介紹系統各模塊函數的功能如下:主函數main()實現軟件功能菜單的顯示,供用戶選擇,然后根據用戶的選擇來調用相應的函數,實現程序的流向控制。Input()函數完成評委分數的輸入,同時計算出選手的得分。Find函數完成按姓名查詢選手得分情況。Display函數完成選手分數及名次的瀏覽。Sort函數完成按分數由高到低進行排名,計算選手的名次。《C語言程序設計教程》(第二版)10.3

歌唱比賽評分程序0.3.2

程序代碼2.

關鍵程序代碼1)結構體的定義struct

score_type{

char

xm[11];float

score[8];float

max,min;int

mc;}xs[100];《C語言程序設計教程》(第二版)10.3

歌唱比賽評分程序0.3.2

程序代碼2.

關鍵程序代碼2)排序程序Sort(){int

i,j,mc=0;float

tmp=0;struct

score_type

score1;for(i=0;i<n-1;i++)for(j=0;j<n-1-i;j++)if(xs[j].score[8]<xs[j+1].score[8]){

score1=xs[j];

xs[j]=xs[j+1];

xs[j+1]=score1;}for(i=0;i<n;i++){

if(xs[i].score[7]!=tmp)《C語言程序設計教程》(第二版){

mc=mc+1;xs[i].mc=mc;tmp=xs[i].score[7];}}Display();}10.4

學生成績管理系統10.4.1

任務介紹及功能分析1.

任務介紹學生的成績管理是日常管理工作之一,如統計學生的總分、平均分數,統計每門課程的平均分、最高分、最低分以及成績分布等數據,以及歸檔以備以后查詢或處理等需要。根據需要還可以打印各種成績單、查詢不及格情況查詢某人或某門課的成績等。如此繁重的工作需要工作人員的大量精力和時間,計算機具有存儲、計算和處理速度快的特點。因此,可以利用計算機程序來完成這些工作,實現學生成績的數字信息化管理,提高工作效率。《C語言程序設計教程》(第二版)10.4

學生成績管理系統任務介紹及功能分析功能分析通過上面的介紹,初步了解了學生成績管理應完成的任務。實際工作中,學生成績管理系統較為復雜,限于篇幅和降低程序設計難度,對系統功能適當的簡化處理,只保留了最基本的功能需要,因此確定在此程序應實現的功能如下:學生成績信息錄入功能。學生成績信息修改,對發現的數據輸入錯誤后進行數據修改。學生成績信息刪除,對數據中無用的記錄進行刪除,保持數據文件的清潔。《C語言程序設計教程》(第二版)10.4

學生成績管理系統任務介紹及功能分析功能分析程序應實現的功能:學生成績信息瀏覽。學生成績信息查詢。學生成績信息統計,統計出每門課程成績分數的分布數據,使教師了解成績分布情況,以便進一步分析學生對知識的掌握情況。學生成績單打印,提供不同方式打印學生成績單。《C語言程序設計教程》(第二版)10.4

學生成績管理系統0.4.2

程序代碼1.

程序結構介紹由于一個學生有多門課程,為了比較準確描述學生的成績信息,用結構體類型來存儲學生的成績信息,為了不使問題過于復雜,課程門數固定為8門。由于學生成績數據在程序需要多次使用,因此學生成績信息以文件形式保存在計算機磁盤上,數據文件名為

student.dat,并與程序可執行文件放在同一個文件夾下。程序的主函數提供功能菜單的顯示,供用戶選擇,根據用戶的選擇來調用相應的功能函數,實現控制程序的流向。《C語言程序設計教程》(第二版)10.4

學生成績管理系統1.

程序結構介紹程序總體框架結構圖學生成績管理系統主函數功能菜單成績輸入成績修改成績刪除成績查找成績瀏覽成績統計成績打印《C語言程序設計教程》(第二版)10.4

學生成績管理系統各功能模塊Add()函數完成學生成績數據的輸入,并把數據存儲到數據文件中,可以隨時追加學生紀錄。Display()函數完成對已有學生成績數據的顯示,函數從數據文件中讀取數據,然后顯示出來。LookFor()函數完成按照學生姓名進行查找操作。函數要求先輸入要查找的學生姓名,然后再調用函數

Search函數用順序查找法來實現,并返回查找的信息,如找到則返回該學生數據在數據文件中的位置,否則返回-1。《C語言程序設計教程》(第二版)10.4

學生成績管理系統各功能模塊Revise()函數實現對學生數據的修改。函數要求先輸入要修改學生的姓名,然后再調用函數Search函數來查找此學生的數據,如找到先把原數據顯示出來,然后提供新數據的輸入,最后把輸入的新數據寫回原數據文件。Delete()函數實現對學生數據的刪除操作。函數要求先輸入要修改學生的姓名,然后再調用函數Search函數來查找此學生的數據,如找到在數據文件中刪除此紀錄。Print()函數實現成績單的打印。按照預定的格式打印出學生個人成績單,可以選擇打印指定學生成績單、按班級打印成績單、打印全部學生成績單。《C語言程序設計教程》(第二版)10.4

學生成績管理系統2.

關鍵程序代碼1)學生成績結構體:

struct

student_type{ char

num[11];char

name[11];char

class[11];float

score[7];float

total;2})stu成d績en單t1打;

印由于沒有打印機,只是用輸出語句按格式要求顯示在屏幕上,如要通過打印機打印,只需把Print_score函數中的printf語句為

fprintf語句即可。如下:fprintf(stdprn

,"%5.1f\n",student.total);《C語言程序設計教程》(第二版)10.5

課程設計參考題目通訊錄管理系統編寫一個“通訊錄管理系統”程序,通訊錄信息包括:姓名、工作單位、電話號碼、QQ號等信息。通訊錄信息用磁盤文件保存,要求程序包括如下功能:可以輸入追加聯系人紀錄可以瀏覽通訊錄信息可以查找某人信息可以刪除某人的信息可以修改某人信息顯示主功能菜單,供用戶自由選擇所需操作《C語言程序設計教程》(第二版)10.5

課程設計參考題目家庭財務管理系統系統主要功能主要任務是完成家庭日常生活收支信息的管理,記錄家庭成員每筆輸入情況和消費支出情況,同時提供必要的查詢統計功能。基本功能要求如下:日常收入和支出信息的錄入,以及修改、刪除等操作;按日、月或某一時間段查詢收入和支出的詳細信息信息;按月或某一時間段統計收支情況,統計出收入總數、支出總數和兩數之差。《C語言程序設計教程》(第二版)10.5

課程設計參考題目收支數據結構體:struct

home{ int

lx; /*

收支類型,0-收入,1-支出

*/char

name[11]; /*

收支人的姓名

*/float

je;date

rq;/*

收支金額*//*

收支日期*/char

bzh[51]; /*

備注*/}

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論