文档库 最新最全的文档下载
当前位置:文档库 › 《程序语言课程设计---一元多项式简单的计算器》..

《程序语言课程设计---一元多项式简单的计算器》..

《程序语言课程设计---一元多项式简单的计算器》..
《程序语言课程设计---一元多项式简单的计算器》..

《程序语言课程设计---一元多项式简单的计算器》..

西安文理学院软件学院课程设计报告

设计名称:程序语言课程设计

设计题目:一元多项式简单的计算器

学生学号:1402120135

专业班级:软件学院一班

学生姓名:张文东

学生成绩:

指导教师(职称):袁溪(讲师)

课题工作时间:2013.12.9 至2013.12.23

软件学院课程设计任务书

学生姓名张文

140212013

5

专业

班级

1班

设计

题目

一元多项式简单的计算器

内容概要:

设计或开发环境:Microsoft Visual Studio 2010

关键技术:C语言

主要功能:

[1]建立一元多次多项式

[2]多项式相加

[3]多项式相减

[4]多项式相乘

文献资料:

[1]谭浩强《C语言程序设计》(第三版)清华大学出版社2007

[2]姜敏芝余健《C语言程序设计案例精编》清华大学出版社2008

[3]李健学余健《数据结构课程设计案例精编》2007

[4]唐国民王国均《数据结构》(C语言版)清

华大学出版社

[5]网上相关文献资料

设计要求:

A.功能要求

1)输入并建立多项式;

2)输出多项式;

3)两个多项式相加,输出和多项式;

4)两个多项式相减,输出差多项式。

B.文档格式

*.c

工作期限:设计工作自2013年12月9日至2013年12月23日止。

指导教师:院长:

软件学院课程设计进度安排表

学生姓名:张文东学号:1402120135 专业:软件工程班级:一班

起止日期内容备注

12月9日下达任务书,制定进度安排计划

12月10日~

12月12日

系统整体设计和详细设计12月13日~

12月17日

系统编码实现

12月18日~系统测试

12月19日

12月20日~

撰写课程设计报告

12月23日

12月25日演示软件和答辩

指导教师签名:

2013年12月11日

成绩评定表

学生姓名:张文东学号:1402120135 专业:软件工程班级:一班

类别合

评分标准

实际

得分

合计

得分

时表现10 10

按时参加设计指导,无违

反纪律情况。

成情况30

20

按设计任务书的要求完成

了全部任务,能完整演示

其设计内容,符合要求。

10

能对其设计内容进行详

细、完整的介绍,并能就

指导教师提出的问题进行

正确的回答。

告质35 10

报告文字通顺,内容翔实,

论述充分、完整,立论正

确,结构严谨合理;报告

量字数符合相关要求,工整

规范,整齐划一。

5 课题背景介绍清楚,综述分析充分。

5 设计方案合理、可行,论证严谨,逻辑性强,具有说服力。

5 符号统一;图表完备、符合规范要求。

5 能对整个设计过程进行全面的总结,得出有价值的结论或结果。

5 参考文献数量在2篇以上,格式符合要求,在正文中正确引用。

辩情况25

10

在规定时间内能就所设计

的内容进行阐述,言简意

明,重点突出,论点正确,

条理清晰。

15

在规定时间内能准确、完

整、流利地回答教师所提

出的问题。

总评成绩:分

指导教师:(签字)日期:2013 年12月25 日

摘要

摘要:随着科技的不断发展,人们生活水平的不断提高,方便、高效、快捷成为了人们所追求的主要目标,面对一些复杂的技术总会花费大量时间进行计算,因此有一个多项式功能的计算器是很有必要的。

开发这样一个程序需要用到C结点、链表方面的知识,系统分为多项式的输入输出、多项式的加法、多项式的减法、多项式的乘法四个模块。

该报告主要是通过系统的程序段、程序设计的要求以及计算器的功能来介绍该计算器实现过程。

关键字:多项式;C语言;结点;链表

目录

目录 0

第一章课题背景 (1)

1.1绪论 (1)

1.2主要内容 (1)

第二章设计简介及设计方案论述 (2)

2.1系统分析 (2)

2.2总体设计 (2)

第三章详细设计 (5)

3.1建立多项式 (5)

3.2多项式相加 (7)

3.3多项式相减 (9)

3.4多项式相乘 (10)

主要代码如下: (12)

主要代码如下: (16)

第四章设计结果及分析 (19)

4.1调试与测试 (19)

4.2运行结果 (21)

4.3结果分析 (23)

总结 (24)

参考文献 (25)

附录 (26)

第一章课题背景

1.1 绪论

随着科技的进步,社会的不断发展,计算器已普遍应用于各行各业,为了帮助人们提高工作效率,节约运算时间,设计一个多功能的计算器是很有必要的,在此设计一个多项式计算器可以很方便的对多项式相加、相减、相乘,对提高人们的运算效率很有帮助。

一个计算器需要用到C多方面的知识,要实现多项式的建立和输入输出等功能,必须要熟练的掌握C,在此尤其是链表和结点。

1.2 主要内容

用C语言实现多项式的输入输出和多项式的加减乘等运算,其中主要用到链表和结点的相关知识,具体功能如下:

1)输入并建立多项式;

2)输出多项式;

3)两个多项式相加,输出和多项式;

4)两个多项式相减,输出差多项式。

第二章设计简介及设计方案论述

2.1 系统分析

2.1.1 功能需求

多项式的建立多项式的输入输出多项式的加减乘等运算

2.1.2 数据需求

在输入过程中,首先要给定输入的数据,数据只能是数字,不能是字母或其他,不能连续输入数据,必须要求以空格分开要输入的数据。

2.1.3 系统需求

系统必须安全可靠,不会出现无故死机状态,运算速度要快。

2.2 总体设计

2.2.1 系统设计方案

采用菜单设计,选择你需要的功能,用单链表储存你输入的数据。

(1) 菜单

菜单包括计算器加减乘等功能的选择

(2) 文件保存方式

运用带头节点的单链表储存多项式

(3) 抽象数据类型定义

主要定义多项式的系数和指数。系数项用浮点类型定义,指数项用整型定义

(4) 存储结构

采用链式结构,建立链表储存输入的多项式 (5) 算法设计

运用链表知识,建立链表,给链表分配一定量的存储空间,查找链表,插入链表和链表的连接

2.2.2 功能模块设计

一元多项式计算器

图 2-1 功能模块设计

式相加式相减式相乘

第三章详细设计

一元多项式计算器主要分为4大部分,多项式建立,多项式加法,多项式减法和多项式乘法。多项式的建立主要需要建立新链表,并分配给这个新链表一定量的存储空间,分配的存储空间内进行运算;多项式加减乘等运算主要运用了链表的建立,链表存储空间分配,链表的查找,插入与连接进行计算。

3.1 建立多项式

此阶段是多项式的建立,可以对计算器进行输入输出等功能。主要运用链表方面的知识如图3-1所示:

图 3-1 多项式的建立

主要代码如下:

PLOY *creat(char ch) //建立多项式

{

PLOY *head,*inpt;

float x;

int y;

head=(PLOY *)malloc(sizeof(PLOY));

head->next=NULL;

printf("请输入一元多项式%c:(格式是:系数指数;以0 0 结

束!)\n",ch);

scanf("%f %d",&x,&y);

while(x!=0)

{

inpt=(PLOY *)malloc(sizeof(PLOY));

inpt->coef=x;

inpt->expn=y;

inpt->next=NULL;

insert(head,inpt);

printf("请输入一元多项式%c:(以0 0 结束!)\n",ch);

scanf("%f %d",&x,&y);

}

return head;

}

3.2 多项式相加

此阶段是计算器的加法运用功能,对你输入的多项式进行相加计算,主要运用了链表,及链表的插入等知识,如图3-2所示:

图 3-2 多项式相加

相关文档