軟體工程(一)

2021-08-16 10:43:07 字數 1769 閱讀 9522

一、隨機生成300道四則運算題目的程式(c語言)

(一)小學低年級題目為例:

分析:1.編寫測試題,且為100道,就要用到迴圈函式,因此想到用for()函式

2.隨機產生兩個數,就想到用rand()函式。

注:1.rand()函式在使用時應有標頭檔案#include,我上課時由於沒有用此標頭檔案,程式一直無法執行

2.我在除錯程式的過程中,隨機數一直不變,通過查資料我了解到,要想讓隨機數改變,需要提供乙個種子,相同的種子會產生相同的隨機數,因此必須在rand()函式前加上 srand(time(null));語句,且標頭檔案中加上#include,這樣就能保證兩個隨機數能夠該變了。

3.隨機纏上四則運算要想每道題+ ,-,*,/都是隨機的,我就想到了用分支函式,通過用if 語句,我感覺有點麻煩,然後我就想到了switch()函式,且通過隨機產生0,1,2,3四個數來進行分支,比較方便一點

4.考慮到小學生沒有學過負數,所以在做減法時,我想到了,要讓大數減小數來計算。還有就是除法,除數不能是0,因此我想到了如果除數是0,則重新出一道題,為了保證題目為30道題,要讓i+1才行。

#include

#include

#include

int main()

}void show(int &x,int &y) //輸出整數或分數

static int number=0;

void judge(int p,int q,int f,int g) //判斷輸入結果的對錯

else

printf("wrong!\n"); }

int main()

for(int i=0;i

//保證沒有重複的題目

for(int j=0;j

//顯示產生的算式

show(a,c);

switch(e)

show(b,d);

printf("=");

//對結果進行判斷

switch(e)

else

fprintf(fp,"%d/%d+%d/%d=%d/%d\n",a,c,b,d,f,g);break;

//減法可能產生負數,要對其進行判斷

case 2: f=abs(a*d-b*c);

g=c*d;

x=a*d;

y=b*c;

******(f,g);

if(x>=y)

else

fprintf(fp,"%d/%d-%d/%d=%d/%d\n",a,c,b,d,f,g); }

else

else

fprintf(fp,"%d/%d-%d/%d=-%d/%d\n",a,c,b,d,f,g);

}break;

case 3: f=a*b;

g=c*d;

******(f,g);

if(g!=1)

else

fprintf(fp,"%d/%d*%d/%d=%d/%d\n",a,c,b,d,f,g);break;

case 4: f=a*d;

g=b*c;

******(f,g);

if(g!=1)

else

fprintf(fp,"%d/%d/%d/%d=%d/%d\n",a,c,b,d,f,g);break; }

}fprintf(fp,"做對題目的數目為%d\n",number);

fclose(fp);

return 0; }

軟體工程(一) 軟體工程緒論

軟體工程是應用電腦科學理論和技術以及工程管理原則和方法,按預算和進度滿足使用者要求的軟體產品的工程,或以此為研究物件的學科。軟體工程的發展大體可以分為兩個時期 20世紀60年代末到80年代初 這一時期主要圍繞軟體專案,開展了有關開發模型 開發方法和支援工具的研究。主要成果體現為 提出了瀑布模型,試圖...

軟體工程 一

軟體危機 60年代中期以前 通用硬體相當普遍,軟體卻是為某個具體的應用而編寫的。60年代中到70年代中 軟體作坊。軟體危機 計算機軟體的開發和維護過程中所遇到的一系列嚴重問題。正常 不正常執行軟體都具有這種問題 軟體危機原因 1 軟體本身特點造成 2 軟體開發與維護的方法不正確。主要表現 a 忽視軟...

軟體工程 軟體工程概述

一.軟體 定義 計算機系統中的程式及其文件 程式 計算任務的處理物件和處理規則的描述 文件 為了便於了解程式所需的闡明性資料 特點 軟體的種類 按功能劃分 系統軟體 支援軟體 應用軟體 二.軟體工程的起源和概念 早期電腦程式 現在人們認為 在資訊產業中,微電子是基礎,計算機和網路是載體,軟體是核心 ...