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. 并显示请输入多项式2.
⑶当依次输入多项式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语言)实验报告 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;}
东莞理工学院《C语言程序设计》课程设计题目:图书信息管理系统院系:电子工程学院专业:电子信息工程年级:20##班别:2班指导教师:…
C语言程序设计课程设计学生姓名学号系院专业设计论文题目学生选课系统管理完成日期20xx年6月指导教师目录一实验目的二实验内容三总体…
河南理工大学计算机科学与技术学院课程设计报告20XX20XX学年第一学期课程名称C语言课程设计设计题目《小学算术运算测试》学生姓名…
C语言课程设计报告设计题目专业班级学号姓名任课老师时间目录一课程设计题目及所涉及知识点二课程设计思路及设计流程图三课程设计中遇到的…
C语言程序设计课程设计报告20xx20xx学年第1学期题目专业班级姓名学号指导教师成绩计算机科学与技术系20xx年12月31日目录…
《C语言程序设计》教学改革总结报告《C语言程序设计》是信息工程系各专业都开设的一门非常重要的专业基础课,也是国家计算机等级考试可选…
C语言程序设计实训总结李爱强通过此次实训,同学们能够利用C语言面向过程的编程思想来完成系统的设计,熟练掌握C语言的基本知识和技能;…
《C语言程序设计》实验报告实验七、结构体和联合体程序设计学号姓名一、实验目的1.掌握结构体类型变量和数组、共用体类型变量和数组以及…
C语言程序设计教学基本知识点第一章C语言基本知识1C源程序的框架尽管各个C源程序的功能千变万化但框架是不变的主要有编译预处理主函数…
附表2C或C语言课程设计总结报告源代码学生通讯录管理系统能够实现对通讯录的内容进行创建显示查询删除以及修改等功能includelt…
C语言程序设计课程设计学生姓名学号系院专业设计论文题目学生选课系统管理完成日期20xx年6月指导教师目录一实验目的二实验内容三总体…