《c語(yǔ)言實(shí)驗(yàn)報(bào)告.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《c語(yǔ)言實(shí)驗(yàn)報(bào)告.doc(11頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
實(shí)驗(yàn)名稱(chēng)
小學(xué)生計(jì)算機(jī)輔助教學(xué)系統(tǒng)
學(xué)校
學(xué)院
專(zhuān)業(yè)
指導(dǎo)教師
范江波
實(shí)驗(yàn)人
姓名
學(xué)號(hào)
程序功能
幫助小學(xué)生通過(guò)計(jì)算機(jī)學(xué)習(xí)乘法,提高效率,并及時(shí)發(fā)現(xiàn)錯(cuò)誤,改正錯(cuò)誤,通過(guò)不斷的練習(xí),提高小學(xué)生的算數(shù)水平
要求
(1)整個(gè)系統(tǒng)均用C語(yǔ)言實(shí)現(xiàn);
(2)程序設(shè)計(jì)計(jì)量清晰明了;
(3)系統(tǒng)具有輸入、顯示、提示和修改基本功能;
(4)系統(tǒng)的各個(gè)功能模塊都用函數(shù)的形式來(lái)實(shí)現(xiàn)
C語(yǔ)言程序設(shè)計(jì)報(bào)告
日期:2222年11月2日
程序主要內(nèi)容
任務(wù)1. 程序首先隨機(jī)產(chǎn)生一到十之間的正整數(shù),在屏幕上打印出問(wèn)題,例如6*7=?然后讓學(xué)生輸入答案,序檢查學(xué)生輸入的答案是否正確,若正確,則“RIGHT”,然后問(wèn)下一個(gè)問(wèn)題,否則打印“WRONG,PLEASE TRY AGAIN”,然后提示學(xué)生重做,直到答對(duì)為止。
程序如下:
#include
#include
#include
int Magic(int x);
int Answer();
main()
{
int guess,answer,counter=1;
do{
printf("%d*%d=",Magic(1),Magic(2));
answer=Magic(1)*Magic(2);
if(Answer()==answer)
{
printf("Right\n");
break;
}
else
printf("Wrong!,please try again\n");
}while(counter>=1);
}
int Magic(int m)
{
int x,int y;
srand(time(NULL));
x=rand()%10+1;
y=rand()%10+1;
if(m==1) return x;
if(m==2) return y;
}
int Answer()
{
int n;
scanf("%d",&n);
return n;
}
任務(wù)2:在(1)的基礎(chǔ)上,當(dāng)學(xué)生回答錯(cuò)誤時(shí),最多給三次重做的機(jī)會(huì)。
:程序如下:
#include
#include
#include
int Magic(int x);
int Answer();
int Exam();
main()
{
int n;
n=Exam();
if(n==0) printf("Right\n");
else if(n==1) printf("Wrong!You have tried three times!Test over\n ");
}
int Magic(int m)
{
int x,int y;
srand(time(NULL));
x=rand()%10+1;
y=rand()%10+1;
if(m==1) return x;
if(m==2) return y;
}
int Answer()
{
int n;
scanf("%d",&n);
return n;
}
int Exam()
{
int guess,answer,counter=1;
do{
printf("%d*%d=",Magic(1),Magic(2));
answer=Magic(1)*Magic(2);
counter++;
if(Answer()==answer)
return 0;
else if(counter<=3)
printf("Wrong! please try again\n");
}while(counter<=3); return 1;
任務(wù)3:在(1)的基礎(chǔ)上,連續(xù)做10道乘法運(yùn)算題,不給機(jī)會(huì)重做,若學(xué)生回答正確,提示“RIGHT”,否則提示“WRONG”,并按每題10分輸出總分,再輸出正確概率。
程序如下:
#include
#include
#include
int Magic(int x);
int Answer();
int Exam();
main()
{
printf("rate=%d%%\n",Exam());
}
int Magic(int m)
{
int x,int y;
srand(time(NULL));
x=rand()%10+1;
y=rand()%10+1;
if(m==1) return x;
if(m==2) return y;
}
int Answer()
{
int n;
scanf("%d",&n);
return n;
}
int Exam()
{
int answer,counter=1;
int i=0;
do
{
printf("%d*%d=",Magic(1),Magic(2));
answer=Magic(1)*Magic(2);
counter++;
if(Answer()==answer)
{
printf("Right!\n");
i++;
}
else
printf("Wrong!\n");
}while(counter<=10);
i=i*10;
return i;
}
任務(wù)4:
在(3)的基礎(chǔ)上,隨機(jī)產(chǎn)生10道四則運(yùn)算題,運(yùn)算類(lèi)型為隨機(jī)的加減乘除任意一種,不給機(jī)會(huì)重做,
若學(xué)生回答正確,提示“RIGHT”,否則提示“WRONG”,并按每題10分輸出總分,再輸出正確概率。
程序如下:
#include
#include
#include
int Magic(int x);
int Answer();
int Exam();
main()
{
printf("rate=%d%%\n",Exam()*10);
}
int Magic(int m)
{
int x,int y;
srand(time(NULL));
x=rand()%10+1;
y=rand()%10+1;
if(m==1) return x;
if(m==2) return y;
}
int Answer()
{
int n;
scanf("%d",&n);
return n;
}
int Exam()
{
int counter=1,answer,i=0;
char a;
do
{
srand(time(NULL));
END:a=rand()%100+1;
if(a==43)
{ printf("%d%c%d=",Magic(1),a,Magic(2));
answer=Magic(1)+Magic(2);
}
else if(a==45)
{printf("%d%c%d=",Magic(1),a,Magic(2));
answer=Magic(1)-Magic(2);
}
else if(a==42)
{ printf("%d%c%d=",Magic(1),a,Magic(2));
answer=Magic(1)*Magic(2);
}
else if(a==47)
{ printf("%d%c%d=",Magic(1),a,Magic(2));
answer=Magic(1)/Magic(2);
}
else goto END;
counter++;
if(Answer()==answer)
{
printf("Right!\n");
i++;
}
else
printf("Wrong!\n");
}while(counter<=10);
return i;
任務(wù)5:在(4)的基礎(chǔ)上,在學(xué)生完成10道題后,若正確率低于75%,則重新做10道,知道高于75%.
程序如下:
#include
#include
#include
int Magic(int x);
int Answer();
int Makeop();
void Comment(int x);
main()
{ int rate;
LI: rate=Makeop()*10;
printf("rate=%d%%\n",rate);
if(rate<75)
{ printf("Right rate is too low,Again!\n");
goto LI; }
}
int Magic(int m)
{
int x,int y;
srand(time(NULL));
x=rand()%10+1;
y=rand()%10+1;
if(m==1) return x;
if(m==2) return y;
}
int Makeop()
{
int counter=1,answer,i=0,a;
char op;
do
{
srand(time(NULL));
END:a=rand()%4+1;
if(a==1)
{ op=43;
answer=Magic(1)+Magic(2);
}
else if(a==2)
{ op=45;
answer=Magic(1)-Magic(2);
}
else if(a==3)
{ op=42;
answer=Magic(1)*Magic(2);
}
else if(a==4)
{ op=47;
answer=Magic(1)/Magic(2);
}
else goto END;
printf("%d%c%d=",Magic(1),op,Magic(2));
counter++;
if(Answer()==answer)
{
Commen(1);
i++;
}
else
Commen(2);
}while(counter<=10);
return i;
}
int Answer()
{
int n;
scanf("%d",&n);
return n;
}
void Comment(int x)
{
int x,y;
srand(time(NULL));
x=rand()%4+1;
y=rand()%4+1;
if(x==1)
{
switch(x)
{
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;
}
}
else
{
switch(y)
{
case 1:
printf("No. Please try again!\n");
break;
case 2:
printf("Wrong. Try once more!\n");
break;
case 3:
printf("Dont give up!\n");
break;
case 4:
printf("Not correct. Keep trying!\n");
break;
}
}
}
任務(wù)6:在(5)的基礎(chǔ)上,隨機(jī)產(chǎn)生一個(gè)1到4之間的隨機(jī)數(shù),配合使用switch語(yǔ)句,printf()函數(shù)調(diào)用,來(lái)為學(xué)生輸入的每一個(gè)答案輸出不同的評(píng)價(jià)。
程序如下:
. #include
#include
#include
int Magic(int m);
int Answer();
int Makeop();
void Comment(int r);
main()
{ int rate;
LI: rate=Makeop()*10;
printf("rate=%d%%\n",rate);
if(rate<75)
{ printf("Right rate is too low,Again!\n");
goto LI; }
}
int Magic(int m)
{
int x,int y;
srand(time(NULL));
x=rand()%10+1;
y=rand()%10+1;
if(m==1) return x;
if(m==2) return y;
}
int Makeop()
{
int counter=1,answer,i=0,a;
char op;
do
{
srand(time(NULL));
END:a=rand()%4+1;
if(a==1)
{ op=43;
answer=Magic(1)+Magic(2);
}
else if(a==2)
{ op=45;
answer=Magic(1)-Magic(2);
}
else if(a==3)
{ op=42;
answer=Magic(1)*Magic(2);
}
else if(a==4)
{ op=47;
answer=Magic(1)/Magic(2);
}
else goto END;
printf("%d%c%d=",Magic(1),op,Magic(2));
counter++;
if(Answer()==answer)
{
Comment(1);
i++;
}
else
Comment(2);
}while(counter<=10);
return i;
}
int Answer()
{
int n;
scanf("%d",&n);
return n;
}
void Comment(int r)
{
int x,y;
srand(time(NULL));
x=rand()%4+1;
y=rand()%4+1;
if(r==1)
{
switch(x)
{
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;
}
}
else
{
switch(y)
{
case 1:
printf("No. Please try again!\n");
break;
case 2:
printf("Wrong. Try once more!\n");
break;
case 3:
printf("Dont give up!\n");
break;
case 4:
printf("Not correct. Keep trying!\n");
break;
}
}
}
實(shí)驗(yàn)體會(huì)
通過(guò)近兩個(gè)月的學(xué)習(xí),C語(yǔ)言給我的感觸良多!很多同學(xué)都覺(jué)得痛并快樂(lè)著,但是我總是覺(jué)得是在煎熬著,因?yàn)閷?duì)我來(lái)說(shuō)這是一門(mén)全新的語(yǔ)言,一門(mén)嶄新的知識(shí).我需要用盡全力才能把它學(xué)好!
剛剛接觸到C語(yǔ)言,完全弄不懂這個(gè)的什么東東!!!不清楚為什么要這樣寫(xiě)、有什么規(guī)則、格式、更別說(shuō)什么函數(shù)的字符了!當(dāng)時(shí)真自己什么都不知道,感覺(jué)比PIG還笨,真是有夠郁悶的!當(dāng)時(shí)真的不知所措,都曾考慮過(guò)是不是來(lái)這學(xué)來(lái)錯(cuò)兩了、自己真的能學(xué)好嗎?我不時(shí)的問(wèn)自己……
剛開(kāi)始上課時(shí),老師舉了一個(gè)很簡(jiǎn)單的程序(對(duì)于現(xiàn)在的我來(lái)說(shuō))——就是輸出“學(xué)員們,大家好”這句話(huà),我看見(jiàn)這個(gè)時(shí)當(dāng)時(shí)就想起了TE曾說(shuō)過(guò)的批處理,由于不懂C語(yǔ)言,感覺(jué)這兩個(gè)好象,但是又覺(jué)的C更難一點(diǎn),覺(jué)得完蛋了,因?yàn)楫?dāng)時(shí)就覺(jué)得批處理有點(diǎn)難,不太會(huì)弄,現(xiàn)在這個(gè)更難…迷?!?
但是經(jīng)過(guò)一段時(shí)間的學(xué)習(xí),慢慢的對(duì)C語(yǔ)言有點(diǎn)感覺(jué)了,覺(jué)的它并沒(méi)有我想象中的那么難(可能是我學(xué)的淺,哈哈),再加上老師和同學(xué)的幫助,使我對(duì)C語(yǔ)言有了更深的體會(huì)。我現(xiàn)在不僅能寫(xiě)一些不太復(fù)雜的程序,還基本上能看懂別的同學(xué)們寫(xiě)的程序,這一點(diǎn)真的使我開(kāi)心不已。你要知道,從一個(gè)完全不懂——到現(xiàn)在能有基礎(chǔ)和同學(xué)一起交流——到自己完成一個(gè)程序——到明白,這么一個(gè)過(guò)程是多么的快樂(lè),怎是一個(gè)“爽”字了的!??!
當(dāng)然學(xué)習(xí)中是有很多困難的,大多數(shù)小的困難我都一一克服了,覺(jué)得自己還不錯(cuò),但是學(xué)到真正困難的數(shù)組、指針、結(jié)構(gòu)體的時(shí)候,我被它們所征服過(guò),敵人實(shí)在太兇殘了!起初同學(xué)們都說(shuō)它們難還沒(méi)有什么感覺(jué),現(xiàn)在始終嘗到滋味了!最讓我感覺(jué)失敗也是最失落的一次是在做小學(xué)生計(jì)算機(jī)系統(tǒng)教學(xué)輔助系統(tǒng)的程序時(shí),要用到函數(shù)調(diào)用、結(jié)構(gòu)體等知識(shí)點(diǎn)時(shí),真的不知道怎么將它們運(yùn)用到自己的程序里去??匆?jiàn)別的同學(xué)都做的七七八八,再看看自己做的七零八落,心里真是著急。本來(lái)打算在下午上機(jī)搞定,但是一開(kāi)機(jī)看著自己七零八落的程序,氣就不打一處來(lái),馬上關(guān)機(jī)-拎包-走人。這一刻我被兇殘的敵人俘虜了!
回到宿舍,把書(shū)本的知識(shí)重新復(fù)習(xí)了一遍,由于信心拾了回來(lái),學(xué)的很快,看了幾遍,書(shū)里的知識(shí)已能完全掌握了,特別是書(shū)里的程序都能讀明白!第二天,重新披馬上陣,這次準(zhǔn)備充足,終把兇殘的攔路虎給干掉了!開(kāi)心……
通過(guò)學(xué)習(xí),又使我基本掌握了一個(gè)新的知識(shí),特別是學(xué)習(xí)的經(jīng)歷,其間遇到的困難和怎么樣克服困難,都成了我寶貴的財(cái)富!當(dāng)然,還要感謝老師和同學(xué)們的幫助,在我最茫然的時(shí)候,幫我重拾信心。
在今后的學(xué)習(xí)中,我會(huì)好好利用這些寶貴的財(cái)富,在學(xué)習(xí)的道路上披荊斬棘,為成為一位成功的程序員不懈努力!??!
鏈接地址:http://m.jqnhouse.com/p-6562438.html