C语言程序设计报告

   C语言程序设计报告

                             

计算机工程学院网络工程   魏振豪  张平

前言(略)

目录(略)

1 . 设计题目,要求

1.1    题目:《一元多项式简单的计算器》

1.2    要求:①限最多两人完成 ; ②要体现一元多项式简单计算器的基本功能; ③为方便课可选择使用链表。

2. 需求分析和概述

   2.1    在日常学习生活中经常有遇到计算两个或者若干个一元多项式的算,

       当一元多项式项数比较多的时候计算就相当麻烦,我们就会想到运用计算器的方法,而常规的计算器无此操作无法实现算法,所以需要一个程序来处理此类问题,争取实现推广,从而使此类问题变得简单,提高运算的效率和质量,减少不必要的繁琐的计算步骤。

3. 系统概要设计

   3.1 系统的主要功能

       系统的主要功能是实现一元多项式简单的计算,可在系统中输入并生成多项式,计算之后输出结果并显示。

   3.2 系统的总体结构

圆角矩形: 一元多项式的简单计算                         

 

  

3.3 系统的软硬件环境

       本软件的运行环境:能识别C语言程序的大多数计算机。

   3.4 数据结构设计

       本软件的数据结构为

              F[N]

              G[N]

              D[N]

4. 系统的详细设计

   4.1 装饰界面的输入流程

 

 

     4.1.2代码实现

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

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

              printf("                       *                                  *\n");

              printf("                       *     欢迎使用一元多项式计算器     *\n");

              printf("                       *                                  *\n");

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

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

              printf("                       设多项式原始形式为       (a*x+b)^k \n");

              printf("                       请分别输入:a,b,k (回车键确认输入) \n");

   4.2.1多项式1的生成

圆角矩形: 开始                  

 

      4.2.2代码实现

       scanf("%d",&a);

              scanf("%d",&b);

              scanf("%d",&k);

              printf("a=%d,b=%d,k=%d \n",a,b,k);

              for(i=1,m=1;i<=k;i++)

                      m=m*i;       //计算K的阶乘

              t=0;

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

              {

                     for(p=1,n=1;p<=i;p++)

                     {

                            n=n*p;

                     } //计算i阶乘

                            z=pow(a,k-i);

                            j=pow(b,i);

                            F[t]=m/n*z*j;

                            t++;

              }

              printf("多项式1为:\n");

              for(p=0;p<k;p++)

              {

                     h=p+1;

                     printf("%d*x^%d ,",F[p],h);

              }

                     printf("\n");

                /////////////////////////////多项式1 完毕

      4.3.1多项式最后结果的计算

 

       4.3.2代码实现

       printf("                         1.  多项式相加\n");

 printf("                         2.  多项式相减\n");

              printf("                       请选择: (回车键结束)");

              scanf("%d",&h);

              if(h==1)

              {

                     printf("                       输出多项式和:\n");

                     for(p=0;p<t;p++)

                     {

                            D[p]=F[p]+G[p];

                            z=k-p;

                            printf("%d*x^%d,",D[p],z);

                     }

              }

              else

                     printf("                       输出多项式差: \n");

                     for(p=0;p<t;p++)

                     {

                            D[p]=F[p]-G[p];

                            z=k-p;

                            printf("%d*x^%d,",D[p],z);

                     }

}                   

5. 系统测试及调试

5.1 系统的测试及调试是为了发现程序中错误,而执行程序的过程。

⑴双击该程序,进入一个主界面

1.jpg        ⑵依次输入参数后输出多项式1. 并显示请输入多项式2.2.jpg

⑶当依次输入多项式2的三个参数后显示选择算法

⑷选择算法之后得出最后结果。

。。。。。。。。。。。。。。。。。。。

    5.2  调试中会遇到的可能的错误。

       ①语法错误;

一些语法错误在信息框的提示下一般是能够排除的。

②输入的参数数值过大。

  程序在设定的时候定义的数组是有限定的这个数值是20,如果输入数值过大,就会发生错误。

③调试过程中各种可能的错误。

6. 用户手册

     ①本系统执行文件为:Cpp1.exe。

     ②使用时必须严格根据画面提示来操作。

     ③注意定义的数组的限定值是20。

     ③因为是探索程序,所以这个程序只能进行两个一元二次多项式的计算,多个一元二次多项式的计算还待日后研究。

7. 总结

           C语言是一种很强大的语言,接触之初感觉很晦涩很难掌握,但是在通过逐渐深入的学习之后这种观点得以改变,生活中我们所使用的那些看似很复杂的系统程序,其实都是“简单字母代码的组合”,所以我们在平时的生活和学习中遇到什么解决不了的问题,都可以考虑用C语言编程来解决,大量事实证明,这是一个很好的路径。比如这次我们所需要面临的问题就是数学计算中经常会遇到的,通过努力的思考查找和探索,我们最终做出了这个解决计算一元多项式的算法的程序,对所学的C语言知识有了一次系统的实际运用,这样才能不违背学习的初衷——学以致用。当然,探索总会是痛苦的,我们在这次实践中,遇到了不少的困难和瓶颈,每一个都使得我们绞尽脑汁,多方求助,这其实是一种很好的锻炼人的方法,不仅是团队合作精神还是独立创作水平都有了突破性提高,。我很高兴学校能给学生这样的机会来提高我们的素质,在一周的辛劳耕作后,在完成这个报告时,我们感觉到了无比的欣慰和自豪,同时也希望学校以后能再次提供这样的机会,让我们学生的到更实在的锻炼!

                               

8 参考文献

[1]谭浩强、张基温著.C语言程序设计(第3版)》.北京:清华大学出版社,20##年

[2] 姜仲秋等主编.《C语言程序设计》.南京大

学出版社,1998年1月

[3]谭浩强编.《C语言程序设计题解及上级指导》.清华大学出版社.20##年11月

附录(略)

 

第二篇:C语言实验报告(八)

华北水院高级语言程序设计(C语言)实验报告 2012--2013学年 第二学期 2012级 专业 班级:学号 :一、实验题目:文件

二、实验目的:(略)

三、实验内容

1. 程序验证

用记事本编辑文本文件file1.txt。分析一下程序的功能及结果,并验证。 #include <stdio.h>

#include <stdlib.h>

void main( )

{

FILE *in,*out;

if((in=fopen("file1.txt","r"))= =NULL)

{

printf("Can’t open this file.\n");

exit(0);

}

if((out=fopen("file2.txt","w"))= =NULL)

{ printf("Can’t open this file.\n ");

exit(0);

}

while(!feof(in))

fputc(fgetc(in),out);

fclose(in);

fclose(out);

}

程序功能:将filel.txt中的文复制到file2.txt中

程序输出结果:Can’t open this file。

华北水院高级语言程序设计(C语言)实验报告 2012--2013学年 第二学期 2012级 专业 班级:学号 :2.程序设计

编程有5个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学号,姓名,三门课成绩),计算出总成绩,将原有的数据和计算出的总分数存放在磁盘文件stu.txt中。

源代码: 运行结果: #include <stdio.h>

struct info

{char num[1000],name[1000];

double a,b,c,sum;

}f[100];

int main()

{freopen("stu.txt","w",stdout);

printf("请输入5个学生学号、姓名、3科成绩(每项以空格隔开)\n"); int i;

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

{

scanf("%s %s %lf %lf %lf",f[i].num,f[i].name,&f[i].a,&f[i].b,&f[i].c); f[i].sum=f[i].a+f[i].b+f[i].c;

}

printf("输出按学号、姓名、三科成绩、总成绩的顺序输出\n");

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

printf("%s %s %.2lf %.2lf %.2lf %.2lf\n",f[i].num,f[i].name,f[i].a,f[i].b,f[i].c,f[i].sum); return 0;}

相关推荐