c语言程序设计报告

C语言课程设计报告

题    目: 小学算术运算测试(math.c)

设  计  者:   

专业班级:   

 学    号:

指导教师: 

                                        20## 年 6 月21日

河南理工大学计算机学院

小学算术运算测试(math.c)

目录

1.设计任务书……………………………………………2

1.1 题目与要求……………………………………………2

1.2 问题提出………………………………………………2

1.3本程序涉及的知识点………………………………… 2

2.功能简介…………………………………………………2

2.1算法设计………………………………………………2

2.2部分模块流程图………………………………………3

3. 程序代码设计…………………………………………5

3.1输入函数………………………………………………5

3.2输出函数………………………………………………5

4.试验结果。………………………………………………6

5. C程序设计总结…………………………………………7

参考文献……………………………………………………7

附录:源程序代码…………………………………………8

一、设计任务书

1.1题目与要求

我计划编写小学算术运算测试程序。要求完成10以内的加减运算。能根据用户输入的想要练习的题目数自行出题。用户输入答案后可以判断正误,并能给出算对及算错的题目数,最后计算出分数。对于用户输入错误的题目,同时给出正确结果。做完一次测试后用户可决定是否继续进行下一次测试。

1.2问题提出

制作一个可供小学数学运算程序:10以内加减法,能根据输入题数出题,判断做题是否正确,最后计算分数。

   界面要求:美观简洁

1.3本程序涉及的知识点

变量的定义,循环结构的使用(包括while循环和for循环),输入、输出函数的使用,产生10以内的随机数,条件结构语句的使用等等。

二、功能设计

2.1算法设计

1本程序实现的功能要求:利用if语句完成所示的菜单。

 

2进入第一步出现如下信息:

第一步:     

 用户输入要练习的题数。

   第二步:输出算术式子

        用户输入结果进行测试。

   第三步:输出测试结果

        屏幕显示出本次测试的基本情况。

第四步:


根据用户需要是否再来一次。

2.2部分模块流程图

三、程序代码设计

3.1、输入函数

1)函数原形:scanf(“%d”,&*)

2) 功    能: scanf()函数利用取地址符号&完成对程序中某个变量的赋值,进而程序中判断循环的功能。

3)变量及类型:

         int a,b,p: 整型形参变量,接收main()传过来的随机数字。

         int i,n,num:循环控制变量。

         int c,sum,整型形参变量。

4)说    明:输入字符后需要按回车键,待系统做出判断后往下执行。

5)模块代码及其相关注释:

scanf("%d",&n); /*输入整型数据,把它存储在变量d的地址内*/

if(p==0)

    { c=a+b;

        printf("%d + %d = ",a,b);  

            scanf("%d",&num);//输入用户认为的结果

         if(num==a+b)

            sum+=100/n;

        else printf("错了哦~正确的答案应该是%d\n",c);}

3.2、输出函数

1函数原形:printf(“**********”,*)

2)功     能:输出相关提示信息及最后结果。

3相关变量:int sum,c :输出计算正确结果,所得分数。

4说     明:输出时要把要输出的信息用双引号括起来,输出数字时要在其代表变量前加逗号。

5模块代码及其相关注释:

if (p==3&&b!=0)

 { c=a/b;

        printf("%d/%d = ",a,b);

            scanf("%d",&num);

            if(num==a/b)

                            sum+=100/n;

                       else printf("错了哦~正确的答案应该是%d\n",c);//输出运算正确的结果

四、试验结果

五、C程序设计总结

本程序在刚开始调试时有许多错误,但在我的努力及同学的帮助下都被一一克服,现在在操作本程序时可根据提示进行相关操作,能正确输出结果。在刚开始的几次调试中曾经出现过不能运行、不能产生十以内随机数字、不能随机出现加减、不会正确输出结果、不能进行循环练习等等问题。经过我的努力及同学的帮助,这些问题得到克服,并且使程序的功能也得到了一定的完善。现在它能对出错的题目发出报警声,并且给出正确答案。最后还能分别输出对错的题数及所得分数。

在这次设计过程中,不仅复习课本上所学知识,还通过查资料、问同学学到了课本上没有的知识。从而启发我,要想写好程序,在写好课本知识的同时还需要多读和专业有关的一些书籍,同时还需要多动脑子,尽量把所学的知识综合起来应用,力争写出完美的程序。除此之外,我还得到了一些有用的教训:写程序时必须要细心,不能输错一个字符标点,就连全角半角也得注意。在修改时要有耐心,编译出错后必须逐个错误去改正,绝不能心急浮躁,否则修改之后还会有新的错误

参考文献

[1] 贾宗璞、许合利,C语言程序设计,人民邮电出版社

[2] 谭浩强,C程序设计(第二版),北京:清华大学出版社,2001.1

附录

程序源代码

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

main()

{

     int i,n,p,c;

     int a,b,num;

     char q='y';

     while(q=='y')

     {float sum=0;

     printf("请输入您要做的题目数:");

    scanf("%d",&n);

    srand(time(0));

    for(i=0;i<n;i++)

    {  a=rand()%10;

          b=rand()%10;

    p=rand()%4;

   

     if(p==0)

    { c=a+b;

        printf("%d + %d = ",a,b);  

            scanf("%d",&num);

         if(num==a+b)

            sum+=100/n;

        else printf("错了哦~正确的答案应该是%d\n",c);

          }

  

    if (p==1)

   

 { c=a-b;

       printf("%d - %d = ",a,b);

            scanf("%d",&num);

            if(num==a-b)

              sum+=100/n;

            else printf("错了哦~正确的答案应该是%d\n",c);

    }

    if (p==2)

   

 { c=a*b;

       printf("%d * %d = ",a,b);

            scanf("%d",&num);

            if(num==a*b)

              sum+=100/n;

            else printf("错了哦~正确的答案应该是%d\n",c);

    }

 if (p==3&&b!=0)

 { c=a/b;

     printf("%d/%d = ",a,b);

            scanf("%d",&num);

            if(num==a/b)

              sum+=100.0/n;

             else printf("错了哦~正确的答案应该是%d\n",c);

 }

 if(p==3&&b==0)

  return n-1;

     }

printf("总分100,得分%.1f \n",sum);

if(sum<60)

printf("继续努力~加强练习!\n");

else if(sum>=60)

{if(sum>=85)

printf("棒极了!!!\n");

else {printf("不错哦~继续加油!\n");

printf("肯定还想要提高吧~那就再来一遍吧?y/n?\n");

scanf("%s",&q);}}

}

}

 

第二篇:C语言综合设计报告

昆明理工大学

《程序设计基础》课程

综合设计实践教学课题报告

课程名称:  C程序设计基础 

课题名称:C语言练习函数调用演示。              

      

学号:   201110501133                    

姓名:    李得菘                   

学院:   电力工程                    

班级:      电自111                 

教师:        付湘琼         

昆明理工大学计算中心

2012   年 5月 31 日


 《程序设计基础》课程综合设计实践教学课题报告要求

1、 系统概述

主要思路:各练习函数单独编写成函数,在主函数中通过选项菜单调用各函数。可以返复运行,当输入0时退出。

在这次的作业中主要解决设计能调用各子函数的程序设计和各个子函数的设计,解决这些就大部分解决了,子函数可以通过void  function_()一个一个的拼接而被调用,菜单函数就通过{ switch(menu_select())

{   case 1:function_1();break;

    case 2:function_2();break;

    case 3:function_3();break;

    case 4:function_4();break;

    case 5:function_5();break;

    case 6:printf("END,GOOD BAYE!\n"); exit(0);}}}

来实现

2、数据结构设计

(1)  本程序包含的整型,字符型,浮点型;

(2)  输入主要是以数字形式输入;

(3)  输出数据有符号,数据,文字,

3、模块设计

功能有:主函数有菜单选择功能;温度转换函数;打印菱形;乘法表;水仙花数;求最大数

4.调试运行及操作说明

正常运行程序,进入程序的菜单选项栏,选择各程序前的数字运行你需要的程序。在程序的设计中第一总是只运行第一个程序,经过检查发现错误在

{   case 1:function_1();break;

    case 2:function_1();break;

    case 3:function_1();break;

    case 4:function_1();break;

case 5:function_1();break;


经过修改后正确,运行正常。

5、程序代码

#include<stdio.h>

#include<stdlib.h>

#include<ctype.h>

#include<math.h>

#include<string.h>

#include<conio.h>

#include<windows.h>

void function_1();

void function_2();

void function_3();

void function_4();

void function_5();

int menu_select();

void main()

{ for( ; ;)

{ switch(menu_select())

{   case 1:function_1();break;

    case 2:function_2();break;

    case 3:function_3();break;

    case 4:function_4();break;

    case 5:function_5();break;

    case 6:printf("END,GOOD BAYE!\n"); exit(0);}}}

int menu_select()

{

   char s;

   int n;

   printf("\n\n\n\n");

   printf("--------------------------\n\n\n");

    printf("     1:运行'温度转化程'序\n");

    printf("     2 :运行'打印菱形'程序\n");

    printf("     3:运行'乘法表'程序\n");

    printf(" 4:运行'水仙花数'程序\n");

    printf(" 5:运行'求最大数'程序\n");

    printf(" 6:程序结束,再见!\n\n");

    printf("--------------------------------\n\n\n");

   printf("请输入数字1—6,选择你要运行的程序\n");

   do{

      s=getchar();

      n=(int)s-48;

   }while(n<1||n>6);

   return n;

}

//输出乘法表程序

void function_1()

{

float F,c;

   printf("输入一个华氏温度");

   scanf("%f",&F);

   c=5*(F-32)/9;

   printf("摄氏温度=%.2f\n",c);

   getch();

}

void function_2()

{ int i,j,k;

for(i=0;i<=3;i++)

{ for(j=0;j<=2-i;j++)

printf(" ");

for(k=0;k<=2*i;k++)

printf("*");printf("\n");  }

for(i=0;i<=2;i++)

{

for(j=0;j<=i;j++)

printf(" ");

for(k=0;k<=4-2*i;k++)

printf("*");

printf("\n");}

getch();

}

void function_3()

{  long int f1, f2;

int i, j;

for(i=1;i<=9;i++)

for(j=1;j<=i;j++){

printf("%d*%d=%d  ",i,j, i*j);

if(i==j)printf("\n");

}

printf("\n");

getch();

}

void function_4()

{int i,j,k,n;

printf("THE narcissus number are:");

for(n=100;n<=1000;n++){

i=n/100;

j=n/10-i*10;

k=n%10;

if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)

{printf("%d   ", n);}

}

printf("\n");

getch();

}

void function_5()

{

  

   int a[6],i,max;

   printf("input 6 numbers:\n");

   for(i=0;i<5;i++)

   scanf("%d",&a[i]);

   max=a[0];

   for(i=0;i<5;i++)

   {if(a[i]>max)max=a[i];}

    printf("max=%d\n",max);

getch();

}

6、总结和体会

这学期,我学习了C语言收获了很多,这是一门很有用的学科。通过学习,我知道了C语言是最基本的计算机语言,也是现在还很广泛使用的,我通过自己学习,在录入,注释,修改了一些简单的程序,到现在的综合设计我进步了很多,在老师提供的模板的情况下自己通过问同学和自己设计,完成了作业。在学习过程中,老师耐心教导我们对我们有很大的帮助,在此感谢!

7、自评分:80

8、教师评阅

教师签名:付湘琼      2012   年   月   日


《程序设计基础》课程

综合设计实践教学课题要求与考核

1、学生独立完成综合设计实践教学课题,选择完成1个课题,也可完成多个课题。

2、至少完成一个程序模块的编程和调试,对源程序语句加注释。独立完成所选模块的设计文档(流程图、源代码及注释)。

3、写出个人收获和体会或对本课程的评价。要根据自己参与设计和独立完成模块设计的情况来表述个人收获体会,或者是对本课程教学方法、综合设计等方面的评价。

4、每个人完成并提交一份完整的电子文档形式的“《程序设计基础》课程综合设计实践教学课题报告”(综合设计报告.DOC)和源程序(源程序.C),按每个人一个文件夹,文件夹名字以学号+姓名完成。

相关推荐