C語言試驗報告7-模塊化程序設計_第1頁
C語言試驗報告7-模塊化程序設計_第2頁
C語言試驗報告7-模塊化程序設計_第3頁
C語言試驗報告7-模塊化程序設計_第4頁
C語言試驗報告7-模塊化程序設計_第5頁
已閱讀5頁,還剩8頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、學生實驗報告學號:日期:2014-06-22系別計算機科專業 學與技術專業計算機科學 與技術(師)班級姓名課程 名稱程序設計基礎程型 課類專業課學時數2實驗 名稱模塊化程序設計實驗目的:理解和體會模塊化程序化設計的思想; 積累大規模程序設計中函數設計的技巧; 積累模塊化程序調試的經驗。實驗要求:實驗后寫實驗報告。1.實驗內容:1、調試并運行教材174頁例題7.11;2、采用模塊化程序設計方法編程實現教材143頁小學生計算機輔助教學系 統實驗任務6.7.11 題源程序:#include stdio.h#include time.h#include stdlib.h#include assert.

2、hdefine MAX_NUMBER 100define MIN_NUMBER 1define MAX_TIMES 10int MakeNumber(void);/*函數功能:計算機生成一個隨機數*/void GuessNumber(const int number); /*函數功能:用戶猜數字*/int IsValidNumber(const int number);int IsRight(const int number,const int guess);int main() (int number;/*計算機生成的隨機數*/char reply;/*用戶對于是否繼續猜數的回答*/sran

3、d(time(NULL);/*初始化隨機種子*/do(number=MakeNumber(); /*/計算機生成一個隨機數*/GuessNumber(number); /*用戶猜數字*/printf(Do you want to continue(Y/N or y/n)?); /*提示是否繼續*/scanf(%c”,&reply); /*%c 前有一個空格*/while(reply=Y|reply=y); /*輸入 Y 或 y 則程序繼續*/ return 0;)void GuessNumber(const int number)(intguess;/*用戶猜的數*/intcount=1;/*

4、用戶才的次數*/intright=0;/*猜的結果對錯與否*/int ret;/*記錄的返回值,即讀入scanf()的數據項數*/do(printf(Try %d:,count);ret=scanf(%d,&guess);/*處理用戶輸入,判斷是否有輸入錯誤,是否在合 法的數值范圍內*/while (ret! = 1 |!IsValidNum(guess)/*清除輸入緩沖中的錯誤數據*/(printf(Input error!n:);while(getchar()!=n);printf(Try %d:,count);ret=scanf(%d,&guess);/*讀入用戶的猜數*/)count+

5、;/*記錄用戶猜的次數*/right=IsRight(number,guess);/*判斷用戶猜的數是大還是小*/while(!right & count =MIN_NUMBER & number =MIN_NUMBER & number =MAX_NUMBER) return 1;elsereturn 0;) int IsRight(const int number,const int guess)(if (guessnumber) /*若猜大了,輸出相應的提示信息*/(printf(Wrong!Too big!n);return 0;else return 1;| 圖I運行結果:c * I

6、:Debu gexp7xe同llry l:a Input error! :Try 1:53 Wrongtloo small! Try 2:80 WrongtToo small! Try 3:0 Wrongfloo small? Try 4:50 Wrongfloo small! Try 5:55 WrontToo small! Try E:H6 WrongtToo small! Try 7:57 WrongfToo smallf Try 8:58 Wrongfloo small! Try 9:80 WronsrlToo sma.ll! Try 10:90 Cong-patulaions! ou

7、J re so coo 1! Do you uant to continue?Pi?ess any key to continue2,輔助教學系統:#include stdio.h#include time.h#include stdlib.h/*函數功能:隨機產生四則運算中的其中一種*/int Question(int answer) (int num1,num2,num3;srand(time(NULL);num1=rand()% 10+1;num2=rand()% 10+1;num3=rand()% 4+1;if(num3=1)(printf(%d+%d=?n,num1,num2);an

8、swer=num1+num2;/*力口法運算*/)else if(num3=2)(printf(%d-%d=?n,num1,num2);answer=num1-num2;/*減法運算*/)else if(num3=3)(printf(%d*%d=?n,num1,num2);answer=num1*num2;/*乘法運算*/) else(printf(%d/%d=?n,num1,num2);answer=num1/num2;/*除法運算,按取余計算*/)return answer;)/*函數功能:當用戶計算正確時系統隨機給出四種評語中的其中一種*/int RightRemarks(int m)(

9、srand(time(NULL);m=rand()% 4+1;/*獲取1-4之間的隨機數設計四種評語*/switch (m)(:printf(Very good!n);break;:printf(Excellent!n);break;:printf(Nice work!n);break;:printf(Keep up the good work!n); break;)return m;)/*函數功能:當用戶計算錯誤時系統自動給出四種評語中的其中一種*/int (WrongRemarks(int n)int (WrongRemarks(int n)srand(time(NULL);n=rand(

10、)% 4+1;/*srand(time(NULL);n=rand()% 4+1;/*獲取1-4之間的隨機數設計四種評語*/switch (n)(:printf(No.Please try again.n);break;:printf(Wrong.Try once more.n);break;:printf(Dont give up!n);break;:printf(Not correct keep trying.n);break;return n;main() (int int intresult,x,z;counter=0, counter1=0,counter2=0,score=0; n,

11、m;float rate=0; do(do(result=Question(z) scanf(%d,&x); counter+;main() (int int intresult,x,z;counter=0, counter1=0,counter2=0,score=0; n,m;float rate=0; do(do(result=Question(z) scanf(%d,&x); counter+;if(result=x) (/*調用函數*/*學生從鍵盤輸入自己的計算結果*/counter1+; m=RightRemarks(m);) else (counter2+;n=WrongRemarks(n)/*計算正確次數增量*/ /*調用函數*/*計算錯誤次數*/if(counter=10) printf(Test over!n

溫馨提示

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

評論

0/150

提交評論