设计一个简单计算器

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、课程设计的内容

设计一个简单计算器

要求: 在功能上功能尽量模拟windows操作系统中的计算器,系统界面不做强制要求。

二、课程设计的要求与数据

1、进一步掌握和利用C语言进行程设计的能力;

2、进一步理解和运用结构化程序设计的思想和方法;

3、初步掌握开发一个小型实用系统的基本方法;

4、学会调试一个较长程序的基本方法;

5、学会利用流程图或N-S图表示算法;

6、掌握书写程序设计开发文档的能力。

三、课程设计应完成的工作

1、编写完成相应题目的程序;

2、编写课程设计报告,课程设计报告的内容应包括以下6个部分:

1) 需求分析:包括设计题目、设计要求以及系统功能需求分析;

2) 总体设计:包括系统总体设计框架和系统功能模块图;

3) 详细设计:包括主要功能模块的算法设计思路以及对应的工作流程图;

4) 调试分析过程描述:包括测试数据、测试输出结果,以及对程序调试过程中存

在问题的思考(列出主要问题的出错现象、出错原因、解决方法及效果等,适当

的包含结果截图);

5) 总结:课程设计完成了哪些功能,有没有什么扩展功能?还有哪些地方需要改

进?课程设计过程中的学习体会与收获、对本次课程设计的认识以及自己的建议

等内容;

6) 附录:主要源程序代码,含必要的注释。

3、答辩:在实验室建立程序运行的环境,并在指导教师的监督下,独立解

决问题、运行程序和回答教师提出的问题。

四、课程设计进程安排

五、应收集的资料及主要参考文献

[1] 谭浩强.C程序设计(第三版)[M],北京:清华大学出版社,2005.9

[2] 谭浩强. C程序设计题解与上机指导(第三版)[M],北京:清华大学出版社,2005.7

[3] 李春葆曾平刘斌。C++语言程序设计题典第一版北京清华大学出

版社 2003年4月

[5] 刘振安刘燕君C++程序设计课程设计第一版机械工业出版社

2004年8月

发出任务书日期: 2007年 6 月 18 日指导教师签名:

计划完成日期: 2007年 6 月 22 日基层教学单位责任人签章:

主管院长签章:

目录

1 设计目的与要求 (5)

2 总体设计 (6)

3 详细设计 (6)

4调试分析 (7)

5 总结 (7)

6 附录 (8)

6 答辩记录(正文处请留出适当空白) (13)

7 指导教师意见(正文处请留出十行空白) (13)

1 目的与要求

课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际应用问题进行有机结合,锻炼学生分析、解决实际问题的能力,提高学生项目开发及程序调试能力。

课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际应用问题进行有机结合,锻炼学生分析、解决实际问题的能力,提高学生项目开发及程

序调试能力。

(1)总体要求

①对系统进行功能模块分析、控制模块分析正确;

②系统设计要实用;

③编程简练,可用,功能全面,具有较好的健壮性;

④说明书、流程图要清楚。

(2)课程设计报告要求

①需求和规格说明:问题描述:题目要解决的问题是什么?

②设计

⊕设计思路:主要算法思想。

⊕总体设计:程序设计组成框图、N-S流程图。

⊕详细设计:模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描

述等)。

③调试与测试:调试过程中遇到的主要问题,是如何解决的;对设计和编码的回顾讨论

和分析;改进设想;经验和体会等。

④附录:源程序清单和结果。如果题目规定了测试数据,则结果要包含这些测试数据和

运行输出,当然还可以含其他测试数据和运行输出;清单中应有足够的注释。7

2 总体设计

3 详细设计

(内容可以适当调整,清晰的有条理的把你的设计思路表达出来)3.1功能模块设计

3.1.1 XX功能模块(可选)

3.1.2 YY功能模块(可选)

3.1.3 ZZ功能模块(可选)

4 调试分析

输入调试

输出调式

5 总结

原来认为搞一个计算器很简单,加减乘除用一个switch语句就可以做出来。最初做了一个如下程序

#include

main()

{ int a,b,c;

char y;

system("cls");

scanf("%d%c%d",&a,&y,&b);

switch(y)

{ case '+':c=a+b;break;

case '-':c=a-b;break;

case '*':c=a*b;break;

case '/':

if(b==0)

{ printf("input error!");

exit(0);

}

else c=a/b;

break;

defult:printf("intput error!!");break;

}

一写下来才知道他只能进行很简单的两个数的四则运算。很来在图书馆和网上查了很多资料,最终选择了C++编,虽然这个程序自己也进行了修该但是很多方面还是用别人的成果。经过这次编程我发现了许多自己以前不知道的知识。找到了很多不足。

7.附录

#include

#include

using namespace std;

enum Token_value{

NAME, NUMBER, END,

PLUS = '+', MINUS = '-',MUL = '*',DIV = '/',

PRINT = ';',ASSIGN = '=',LP = '(',RP = ')'

};

Token_value curr_tok = PRINT;

// fuction list//////////////////////////////////////

double expr(bool get);

double term(bool get);

double prim(bool get);

相关文档
最新文档