计算机实习设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机实习报告电子工程学院
班级:2009211204班
姓名:黄思远
学号:09210943
班内序号:10
开学伊始,我们迎来了为期3个礼拜的计算机实习。我们的选题为简易四则运算器,倒计时器,动画,移动开发(后两者为2选1)。第一个星期我思考了一下编程语言的选择,思路,软件平台,由于大一时我接受过一个学期的C语言学习,于是决定使用C语言进行编程。软件平台为vs2008。
虽然说自己以前学过C语言,但是以前学的不是很好,也没有应用来编写小软件,所以这次计算机实习对自己来说还是一次新的挑战。开始我也不知道自己能不能按时完成,看到其他同学都是信心满满,我感到一阵恐慌,于是在第一个星期自己到图书馆借了几本关于C 语言编程的书看了起来,开始一头雾水,但是我潜下心来,最终发现也不是很难,思路也很清晰了。
第一个题目是算术运算测试程序,要求实现0——100加减乘除四则运算,保留2位小数,题目随机,可以判断正误并且给出正确答案和分数。我的设计思路是每次使用随机值函数产生N道100以内加减乘除数学题,然后使用判断分支语句和循环语句,把计算出的答案和输入的答案进行比较,判断每一道题的正确性,如果答案正确,累计值加一,由此得出最后分数。
代码如下:
int jia(HWND hwnd)
{
int a,b;
TCHAR str1[256];
srand(time(0));
a=rand()%101;
b=rand()%101;
sprintf(str1,"%i+%i",a,b);
SetDlgItemText(hwnd,IDC_EDIT2, str1);//打印题目到编辑框m=a+b;return m;
}//加法函数
int jian(HWND hwnd)
{
int a,b;
TCHAR str1[256];
srand(time(0));
a=rand()%101;
b=rand()%101;
sprintf(str1,"%i-%i",a,b);
SetDlgItemText(hwnd,IDC_EDIT2, str1);
m=a-b;return m;
}//减法函数
int cheng(HWND hwnd)
{
int a,b;
TCHAR str1[256];
srand(time(0));
a=rand()%101;
b=rand()%101;
sprintf(str1,"%i*%i",a,b);
SetDlgItemText(hwnd,IDC_EDIT2, str1);
m=a*b;
return m;
}//乘法函数
int chu(HWND hwnd)
{
int a, b,t;
TCHAR str1[256];
srand(time(0));
a=rand()%101;
b=rand()%101;
if(b==0) //使分母不为
{
while(b==0)
b=rand()%100;
}
if(a
{t=a;a=b;b=t;}
while(a%b!=0) //使a能被b整除
{
a=rand()%100;
b=rand()%100;
}
sprintf(str1,"%i/%i",a,b);
SetDlgItemText(hwnd,IDC_EDIT2, str1);
m=a/b;return m;
}
void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)
{
int t,n,num;
TCHAR str2[256];
TCHAR str3[256];
TCHAR str4[256];
TCHAR str5[256];
TCHAR str6[256]={"回答错误,正确答案应为"};
GetDlgItemText(hwnd,IDC_EDIT1,str3,sizeof(str3));
num=atoi(str3);//确定出题数。
switch(id)
{
case IDC_NEXT:
{
if(plus<=num)
{
srand((int)time(0));
t=rand()%100;
if(t<25)
jia(hwnd);
elseif(t>=25&&t<50)
jian(hwnd);
elseif(t>=50&&t<75)
cheng(hwnd);
else
chu(hwnd);//开始调用函数
plus++;
}
else MessageBox(hwnd,TEXT("对不起,题目已经答完!"),TEXT("warning"),MB_OK|MB_ICONWARNING);
}break;
case IDC_OK:
{
int get;
GetDlgItemText(hwnd,IDC_EDIT3,str2,sizeof(str2));
n=atoi(str2);
itoa(m,str5,10);