C语言课程设计-小学生数学测试软件.doc_第1页
C语言课程设计-小学生数学测试软件.doc_第2页
C语言课程设计-小学生数学测试软件.doc_第3页
C语言课程设计-小学生数学测试软件.doc_第4页
C语言课程设计-小学生数学测试软件.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

语言课程设计报告程序设计综合训练设计报告专 业: 软件工程(师范)班 级: 14软件4ZS学 号: 2014144421姓名: 庞佳玲指导教师: 陈明霞成绩: 计算机工程学院 2014年12月目 录一、程序的具体分工二、课题要求 三、课题分析与设计四、选题背景五、程序介绍六、源程序代码与调试七、流程图八、结语九、参考书目一、程序的具体分工 第一部分包括主函数、第二部分add函数,sub函数,mul函数的被调函数由我(庞佳玲)完成。二、课题要求1) 可选择题型(,); 2) 两个数随机产生,若选择加减运算,则产生两位数,且被减数大于减数,若选择乘法运算,则产生一位数; 3) 每次在输入答案后应判断对错,若答案错误,应给出正确答案; 4) 最后给出评分。三、课题分析与设计小学生数学测试软件是通过switch函数对add,sub,mul函数进行函数调用,进行各自的函数功能,其中由rand()函数产生随机数。四、 选题背景C语言是目前世界上流行、使用最广泛的高级程序设计语言。1972年,C语言在美国贝尔实验室里问世,后来又被多次改进,并出现了多种版本。80年代初,美国国家标准化协会(ANSI),根据C语言问世以来各种版本对C语言的发展和扩充,制定了ANSIC标准。目前,在微机上广泛使用的C语言编译系统有MicrosoftC、Turbo C 、Visual C+等,这些C语言版本不仅实现了ANSIC标准,而且在此基础上各自作了一些扩充,使之更加方便、完美。 C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地址,进行位(bit)一级的操作。由于C语言实现了对硬件的编程操作,因此语言集高级语言和低级语言的功能于一体。既可用于系统软件的开发,也适合于应用软件的开发。此外,C语言还具有效率高,可移植性强等特点。因此广泛地移植到了各类各型计算机上,从而形成了多种版本的C语言。为了将本学期所学C语言知识应用于实际,加深对C语言的理解与掌握,我院开设了C语言课程设计这门课程。而我们小组选取了小学生测试软件这个课题,以此来锻炼我们编写程序的能力。五、程序介绍小学生数学测试软件由5个函数组成,包括main主函数,rand()函数,add函数,sub函数,mul函数,divl函数。 main主函数对add函数,sub函数,mul函数进行调用。rand()函数产生随机数,其产生的随机数值范围065535。add函数执行加法运算。sub函数执行减法运算。mul函数执行乘法运算。六、源程序代码与调试代码:#include#include#include#include#include#define LEN sizeof(struct student)struct studentint num; char name50; int score; double zhengquelv; struct student *next;int no=0;double zong=0;int defeng()int i,yes=0,jia,jian,chen,chu,a,b,c; printf( 数学测试系统 n); printf( 请在类型后输入选择完成的题目个数:n); printf(加法: );scanf(%d,&jia); printf(减法: );scanf(%d,&jian); printf(乘法: );scanf(%d,&chen); printf(除法: );scanf(%d,&chu); printf(注意:除法保留整数n); zong=jia+jian+chen+chu; for(i=1;i=jia;i+) /加法 srand(unsigned)time(NULL); a=rand()%100; b=rand()%100; printf(%d+%d= ,a,b); scanf(%d,&c); if(c=a+b) yes+; printf(truen); else no+;printf(wrong %dn,a+b); for(i=1;i=jian;i+) /减法 srand(unsigned)time(NULL); a=rand()%100; b=rand()%100; while(ab) a=rand()%100; b=rand()%100; printf(%d-%d= ,a,b); scanf(%d,&c); if(c=a-b) yes+; printf(truen); else no+;printf(wrong %dn,a-b); for(i=1;i=chen;i+) /乘法 srand(unsigned)time(NULL); a=rand()%100; b=rand()%100; printf(%d*%d= ,a,b); scanf(%d,&c); if(c=a*b) yes+; printf(truen); else no+;printf(wrong %dn,a*b); for(i=1;i=chu;i+) /除法 srand(unsigned)time(NULL); a=rand()%100; b=rand()%100; while(anext;i=i-next)for(j=i-next;j-next;j=j-next)if(i-numj-num)h.num=i-num;i-num=j-num;j-num=h.num; strcpy(,i-name);strcpy(i-name,j-name);strcpy(j-name,);h.score=i-score;i-score=j-score;j-score=h.score;h.zhengquelv=i-zhengquelv;i-zhengquelv=j-zhengquelv;j-zhengquelv=h.zhengquelv;main() FILE *file; struct student *p1,*p2,*head; char a=学号 姓名 成绩 正确率n; if(file=fopen(C:UsersuserDesktop学生成绩表.txt,r+)=NULL) /打开文件 printf(打开文件失败); exit(0);p1=p2=(struct student*)malloc(LEN); /创建链表head=p1;printf(请输入学号:);scanf(%d,&p1-num);while(p1-num)printf(请输入学生姓名:);scanf(%s,p1-name); p1-score=defeng();p1-zhengquelv=p1-score/zong*100;p1-score=p1-zhengquelv/100*160;p1=(struct student *) malloc(LEN);p2-next=p1;p2=p1;printf(n题目完成n); Sleep(500);system(cls);printf(请输入学号(输入零结束):);scanf(%d,&p1-num);p2-next=NULL;printf(成绩批改完毕n);Sleep(1000);system(cls); printf(排序中n); Sleep(1000);paixu(head); printf(排序完成n); fclose(file); if(file=fopen(C:UsersuserDesktop学生成绩表.txt,w+)=NULL) printf(打开文件失败); exit(0); fputs(a,file); /写入文件puts(a); while(head-next)fprintf(file,%d %-6s %d %.2fn,head-num,head-name,head-score,head-zhengquelv);printf(%d %-6s %d %.2fn,head-num,head-name,head-score,head-zhengquelv);head=head-next;fclose(file);#include#include#include#include#include#define LEN sizeof(struct student)struct studentint num; char name50; int score; double zhengquelv; struct student *next;int no=0;double zong=0;int defeng()int i,yes=0,jia,jian,chen,chu,a,b,c; printf( 数学测试系统 n); printf( 请在类型后输入选择完成的题目个数:n); printf(加法: );scanf(%d,&jia); printf(减法: );scanf(%d,&jian); printf(乘法: );scanf(%d,&chen); printf(除法: );scanf(%d,&chu); printf(注意:除法保留整数n); zong=jia+jian+chen+chu; for(i=1;i=jia;i+) /加法 srand(unsigned)time(NULL); a=rand()%100; b=rand()%100; printf(%d+%d= ,a,b); scanf(%d,&c); if(c=a+b) yes+; printf(truen); else no+;printf(wrong %dn,a+b); for(i=1;i=jian;i+) /减法 srand(unsigned)time(NULL); a=rand()%100; b=rand()%100; while(ab) a=rand()%100; b=rand()%100; printf(%d-%d= ,a,b); scanf(%d,&c); if(c=a-b) yes+; printf(truen); else no+;printf(wrong %dn,a-b); for(i=1;i=chen;i+) /乘法 srand(unsigned)time(NULL); a=rand()%100; b=rand()%100; printf(%d*%d= ,a,b); scanf(%d,&c); if(c=a*b) yes+; printf(truen); else no+;printf(wrong %dn,a*b); for(i=1;i=chu;i+) /除法 srand(unsigned)time(NULL); a=rand()%100; b=rand()%100; while(anext;i=i-next)for(j=i-next;j-next;j=j-next)if(i-numj-num)h.num=i-num;i-num=j-num;j-num=h.num; strcpy(,i-name);strcpy(i-name,j-name);strcpy(j-name,);h.score=i-score;i-score=j-score;j-score=h.score;h.zhengquelv=i-zhengquelv;i-zhengquelv=j-zhengquelv;j-zhengquelv=h.zhengquelv;main() FILE *file; struct student *p1,*p2,*head; char a=学号 姓名 成绩 正确率n; if(file=fopen(C:UsersuserDesktop学生成绩表.txt,r+)=NULL) /打开文件 printf(打开文件失败); exit(0);p1=p2=(struct student*)malloc(LEN); /创建链表head=p1;printf(请输入学号:);scanf(%d,&p1-num);while(p1-num)printf(请输入学生姓名:);scanf(%s,p1-name); p1-score=defeng();p1-zhengquelv=p1-score/zong*100;p1-score=p1-zhengquelv/100*160;p1=(struct student *) malloc(LEN);p2-next=p1;p2=p1;printf(n题目完成n); Sleep(500);system(cls);printf(请输入学号(输入零结束):);scanf(%d,&p1-num);p2-next=NULL;printf(成绩批改完毕n);Sleep(1000);system(cls); printf(排序中n); Sleep(1000);paixu(head); printf(排序完成n); fclose(file); if(file=fopen(C:UsersuserDesktop学生成绩表.txt,w+)=NULL) printf(打开文件失败); exit(0); fputs(a,file); /写入文件puts(a); while(head-next)fprintf(file,%d %-6s %d %.2fn,head-num,head-name,head-score,head-zhengquelv);printf(%d %-6s %d %.2fn,head-num,head-name,head-score,head-zhengquelv);head=head-next;fclose(file);调试:1 菜单函数执行结果:进入程序后进入程序主菜单错误时的程序结果七、流程图开始 输入相应的数字调用相应的函数,输入1 add函数,输入2 调用sub函数,输入3 调用mul函数。输入1,选择加法题输入2,选择减法题输入3,选择乘法题输入数字,选择想做的题数输入数字,选择想做的题数输入数字,选择想做的题数进行加法操作进行减法操作进行乘法操作输出结果及成绩评定结束八、结语通过这次课程设计,经过共同努力,完成了小学生数学测试软件这一课程设计,在这过程中也加深了对课本的认识和了解。同时,我们也会去查资料,学会了我对很多的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论