高級語言程式設計報告 列印版報告截止上交日期:2014年11 月 15 日 電子版報告發至[email protected], 郵件標題寫明報告次數序號姓名 序號 34 姓名 許愷 照片 成績 E-MAIL及電話 18810556775 實習題目 第一次作業: 函數 任務六 一、 代碼及註釋 //編 ...
高級語言程式設計報告
列印版報告截止上交日期:2014年11 月 15 日
電子版報告發至2629610662@qq.com, 郵件標題寫明報告次數序號姓名
序號 |
34 |
姓名 |
許愷 |
照片 |
|
成績 |
|
E-MAIL及電話 |
18810556775 |
||
實習題目 |
第一次作業: 函數
|
- 你的代碼、註釋及運行結果貼圖。
- 設計及調試過程遇到的問題及解決方案。
- 心得體會和自我對程式的評價。
任務六
一、 代碼及註釋
//編輯人:許愷
//編輯題目:小學生教學系統
//時間: 12月2日
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
int Add(int a);
int jianfa(int a);
int chengfa(int a);
int chufa(int a);
double pingjia(int d);
double pingjia1(int d);
int main()
{
int e,a,b,c,d,f,g=0;
do
{
for(e=1;e<=10;e++) //出十道題
{
srand(time(NULL));
b=rand()%4+1; //隨機加減乘除
switch(b)
{
case 1:f=Add(a);
break;
case 2:f=jianfa(a);
break;
case 3:f=chengfa(a);
break;
case 4:f=chufa(a);
break;
}
if(f==1) g=g+10; //算總分和正確率
}
printf("%d %d%%\n",g,g);
}while(g<=75);
return 0;
}
int Add(int a) //加法運算塊
{
int b,c,d;
srand(time(NULL));
b=rand()%10+1;
c=rand()%10+1;
d=b+c;
printf("%d+%d=?\n",b,c);
scanf("%d",&a);
if(a==d) //判斷正誤並返回數值
{
pingjia(d);
return 1;
}
else
{
pingjia1(d);
return 0;}
}
int jianfa(int a) //減法運算塊
{
int b,c,d;
do //防負數抽取
{
srand(time(NULL));
b=rand()%10+1;
c=rand()%10+1;
}while(b<c);
d=b-c;
printf("%d-%d=?\n",b,c);
scanf("%d",&a);
if(a==d) //判斷正誤並返回數值
{pingjia(d);
return(1);}
else
{
pingjia1(d);
return 0;}
}
int chengfa(int a)
{
int b,c,d,e;
srand(time(NULL));
b=rand()%10+1;
c=rand()%10+1;
d=b*c;
printf("%d*%d=?\n",b,c);
scanf("%d",&a);
if(a==d) //判斷正誤並返回數值
{pingjia(d);
return 1;
}
else
{
pingjia1(d);
return 0;}
}
int chufa(int a)
{
int b,c,d,e;
do //防除不盡抽取
{
srand(time(NULL));
b=rand()%10+1;
c=rand()%10+1;
}while(b<c||b%c!=0);
d=b/c;
printf("%d/%d=?\n",b,c);
scanf("%d",&a);
if(a==d) //判斷正誤並返回數值
{pingjia(d);
return 1;
}
else
{
pingjia1(d);
return 0;}
}
double pingjia(int d) //贊揚的評價系統
{
srand(time(NULL));
d=rand()%4+1;
switch(d)
{
case 1:printf("Very good!\n");
break;
case 2:printf("Excellent!\n");
break;
case 3:printf("Nice work!\n");
break;
case 4:printf("Keep up the good work!\n");
break;
}
}
double pingjia1(int d) //做錯了的評價系統
{
srand(time(NULL));
d=rand()%4+1;
switch(d)
{
case 1:printf("No.Please try again.\n");
break;
case 2:printf("Wrong.Try once more.\n");
break;
case 3:printf("Don't give up!\n");
break;
case 4:printf("Not correct.Keep trying.\n");
break;
}
}
二、 運行結果貼圖
三、 設計及調試過程中遇到的問題及解決方案
遇到了有關switch語句和隨機數不會使用的情況,主要是書看的少,經過看書之後已解決。另外,還犯了for語句沒有賦初值的錯誤,被波波老師糾正,也已改正。一開始在主函數中連續使用if使程式不美觀,看書後改用switch.還有函數命名方面實在噁心,由於本人英語水平有限,目前還未解決。
四、 心得體會和自我對程式的評價
做事不要拖延,看起來很難,當走出第一步,就可以用複製粘貼去跑了,程式基本完整美觀最大缺憾就是交的時間太晚,其實說的是系統,也就那麼回事,以後幾百行的程式也不在話下,用心去編,都沒問題。但是對c的一些語句和技巧不太瞭解,需要更加努力,總的來說還行,已達到內心的標準。加油!!