简单计算器C语言课程设计报告书

时间:2024.3.15

编号:

课程设计说明书

题 目: 简单计算器

院 (系): 信息与通信学院

专 业: 信息对抗

学生姓名:

学 号:

指导教师:

20##年 12 月 4 日

1. 题目与要求…………………………………………………1

1.1 课程设计目的………………………………………………………………1

1.2本系统涉及的知识点……………………………………………………1

1.3功能要求……………………………………………………………………1

2. 课程设计的基本过程…………………………………………1

2.1 功能需求……………………………………………………………………1

3. 总体设计……………………………………………………1

3.1 系统模块机构框图………………………………………………………1

3.2 功能模块框图……………………………………………………………2

3.3 系统流程图……………………………………………………………3

3.4 界面设计………………………………………………………………4

4.详细设计……………………………………………………5

4.1 模块描述………………………………………………………………5

4.2 系统头文件……………………………………………………………5

4.3 函数声明………………………………………………………………5

5.程序测试……………………………………………………12

6.设计总结…………………………………………………12

6.1 谢辞………………………………………………………………12

6.2 参考文献…………………………………………………………12

1. 题目与要求

1.1 课程设计目的

(1)巩固和加深C语言课程的基本知识的理解和掌握

(2)掌握C语言编程和程序调试的基本技能

(3)利用C语言进行基本的软件设计

(4)掌握书写程序设计说明文档的能力

(5)提高运用C语言解决实际问题的能力

1.2 本系统涉及的知识点

Goto loop循环 switch选择语句嵌套return退出语句格式化输入和输出If判断语句 函数的调用

2. 课程设计的基本过程

课程设计的基本过程包括5个步骤,即功能需求,总体设计,详细设计,程序测试,结论。每个步骤都有其特定的任务。

2.1 功能需求

功能概述:该软件为用户提供一个在windows系统上运行的简单计算器,能进行简单的加、减、乘、除四则运算和一些常用特殊运算,包括余弦运算、正弦运算、正切运算、绝对值、平方根运算、以e为底的指数运算、以10为底的对数运算。

3. 总体设计

3.1 系统模块机构框图

简单计算器C语言课程设计报告书

3.2功能模块框图

简单计算器C语言课程设计报告书

3.3系统流程图

简单计算器C语言课程设计报告书

3.4界面设计

系统主界面

四则运算界面

特殊运算界面

4. 详细设计

基于系统需求分析与系统总体设计的结论,本系统采用Visual C++实现各模块的功能。下面按照模块的划分来分别阐述系统的详细设计和实现过程。

4.1 模块描述

(1)显示界面模块为系统提供类似于菜单的功能,让用户输入要操作的运算类型的数字代码,并进入相应的功能执行程序,显示相应界面。

(2)数学计算模块中,根据用户选择的运算类型和运算符号,自动调用相应的函数,运行相关程序,进行计算,并显示结果。

(3)退出程序模块。根据用户的需要,选择是否退出程序。

4.2系统头文件

#include /* I/Q函数 */

#include /* 数学函数的定义 */

#include /*屏幕操作函数*/

#include /*库函数*/

int size(); /*函数的定义*/

double teshu();

4.3函数声明

(1)主函数main()

功能:计算器功能选择界面

输入:用户输入运算类型、退出程序的相应数字代码(1 四则运算,2 特殊运算,3 退出程序)

处理: 根据用户输入的数字代码,跳转到相关功能函数

输出:显示相应界面或退出程序

程序清单(a)

void main()

{

char h;

int a;

double b;

do

{

printf(" 简单计算器 \n");

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

printf(" 请输入要进行的运算 \n");

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

printf(" 1 四则运算 \n");

printf(" 2 特殊运算 \n");

printf(" 3 退出程序 \n");

h=getche();

switch(h) /*判断用户想要进行的操作*/

{

case'1': /*输入1则调用四则运算函数*/

a=size();

printf("结果是: %d",a);

break;

case'2': /*输入2则调用特殊运算函数*/

b=teshu();

printf("结果是:%f",b);

break;

case'3': /*输入3则退出程序*/

break;

}

}

while(h!='3');

}

(2)自定义函数size()

功能:进行简单的加、减、乘、除四则运算

输入:用户输入要计算的数字和运算符号(+、-、* 、/)

处理:根据用户输入的运算符号,跳转到相关运算函数,并调用

输出:运算结果和是否需要继续运算(y/n)

程序清单(b)

int size() /*定义四则(size)运算函数*/

{

int n,m;

int c;

char l;

int d;

do

{

printf("\n请输入第一个要计算的数并按Enter结束:");

scanf("%d",&m);

printf("\n请输入第二个要计算的数并按Enter结束:");

scanf("%d",&n);

printf("\n请选择运算符号[\t+\t-\t*\t/\t]:");

l=getche(); /*得到运算符号*/

switch(l)

{

case'+': /*加法运算*/

c=m+n;

printf("\n\n\t结果是 %d\n",c);

printf("\n");

break;

case'-': /*减法运算*/

c=m-n;

printf("\n\n\t结果是 %d\n",c);

printf("\n");

break;

case'*': /*乘法运算*/

c=m*n;

printf("\n\n\t结果是 %d\n",c);

printf("\n");

break;

case'/': /*除法运算*/

c=m/n;

printf("\n\n\t结果是 %d\n",c);

printf("\n");

break;

}

for(d=0;d<=999999;d++)

{

printf("\t 是否继续?(y/n):"); /*是否继续运算*/

l=getche(); /*得到输入的值*/

printf("\n");

if(l=='y') /*如果得到的是y,则重复运算步骤,达到无限运算的作用*/

{

printf("\n请输入下一个要计算的数并按Enter结束:");

scanf("%d",&n);

printf("\n请选择运算符号[\t+\t-\t*\t/\t]:");

l=getche();

switch(l)

{

case'+': /*加法运算*/

c=c+n;

printf("\n\n\t结果是 %d\n",c);

printf("\n");

break;

case'-': /*减法运算*/

c=c-n;

printf("\n\n\t结果是 %d\n",c);

printf("\n");

break;

case'*': /*乘法运算*/

c=c*n;

printf("\n\n\t结果是 %d\n",c);

printf("\n");

break;

case'/': /*除法运算*/

c=c/n;

printf("\n\n\t结果是 %d\n",c);

printf("\n");

break;

}

}

else

{

exit(l); /*如果得到的是n,则退出程序*/

}

}

}

while(l!='n');

return(c); /*返回值*/

}

(3)自定义函数teshu()

功能:进行一些特殊的运算(余弦运算、正弦运算、正切运算、绝对值、平方根运算、以e为底的指数运算、以10为底的对数运算)

输入:用户输入要计算的数字和特殊运算方式的数字代码(1 余弦,2 正弦,3 正切,4 绝对值,5 平方根,6 以e为底的指数,7 以10为底的对数)

处理:根据用户输入的数字代码,跳转到相关运算函数程序

输出:运算结果和是否需要继续运算(y/n)

程序清单(c)

double teshu() /*定义(teshu)特殊运算函数*/

{

double y;

int n,m;

char p;

printf("---------请选择特殊运算类型---------");

printf(" 1 余弦 2 正弦 3 正切 4 绝对值 \n");

printf(" 5平方根 6 以e为底的指数 7 以10为底的对数 \n");

printf("\n请输入您要计算的数并按Enter结束: ");

scanf("%d",&m); /*得到要进行运算的数*/

printf("\n请选择您要做的运算类型: ");

n=getche(); /*得到要做的运算*/

do

{

switch(n)

{

case'1':

y=cos(m); /*余弦函数*/

printf("\n\n\t结果是: %f\n",y);

printf("\n");

break;

case'2':

y=sin(m); /*正弦函数*/

printf("\n\n\t结果是: %f\n",y);

printf("\n");

break;

case'3':

y=tan(m); /*正切函数*/

printf("\n\n\t结果是: %f\n",y);

printf("\n");

break;

case'4':

y=fabs(m); /*绝对值函数*/

printf("\n\n\t结果是: %f\n",y);

printf("\n");

break;

case'5':

y=sqrt(m); /*平方根函数*/

printf("\n\n\t结果是: %f\n",y);

printf("\n");

break;

case'6':

y=exp(m); /*底数为e的指数函数*/

printf("\n\n\t结果是: %f\n",y);

printf("\n");

break;

case'7':

y=log10(m); /*底数为10的对数函数*/

printf("\n\n\t结果是: %f\n",y);

printf("\n");

break;

}

printf("\n是否继续?y/n");

p=getche();

if(p=='n')

exit(1);

return(y); /*返回值y*/

}

while(p=='y');

}

5. 程序测试

系统主界面

其他功能截图等……

6. 设计总结

6.1谢辞

程序调试后无错误、警告,运行正常。

通过这次c语言课程设计,我觉得自己知识还很欠缺,每种函数的功能还没有熟练掌握,特别是循环结构函数的应用还很欠缺,应用的时候感到力不从心,经多次调试后才运行正常,初步尝试编写程序时出现了好多错误,发现自己当初学函数和结构没有深入的去研究,做这次课程设计花了一周多的时间,多次翻阅课本和查资料,真的发现学习c语言在日常生活中,将来的工作中非常重要。这次c语言课程设计加强了我对c语言的认识,使我明白程序软件开发的不易。由于这是第一次进行设计,写报告,难免会有一些细节注意不到或出现错误。请老师谅解。

6.2参考文献

主要参考《C语言程序设计》课本和上网查询具体函数的运用。

更多相关推荐:
《C语言程序设计》课程设计报告(小组)

东莞理工学院C语言程序设计课程设计题目院系专业年级班别指导教师组长同组成员图书信息管理系统电子工程学院电子信息工程20xx2班侯家利黄培周20xx41301208邹日宙20xx41301211陈俊杰20xx41...

c语言课程设计报告

C语言程序设计课程设计学生姓名学号系院专业设计论文题目学生选课系统管理完成日期20xx年6月指导教师目录一实验目的二实验内容三总体设计四详细设计五运行结果六课程设计体会一实验目的1通过课程设计加深对结构化程序设...

C语言课程设计报告

河南理工大学计算机科学与技术学院课程设计报告20XX20XX学年第一学期课程名称C语言课程设计设计题目《小学算术运算测试》学生姓名学号专业班级计算机07-2班指导教师20XX年9月12日目录1.设计任务书21.…

C语言课程设计报告范例

C语言课程设计报告设计题目专业班级学号姓名任课老师时间目录一课程设计题目及所涉及知识点二课程设计思路及设计流程图三课程设计中遇到的难点及解决办法四小结五附录原程序2一课程设计题目及所涉及知识点一课程设计题目1基...

厦门理工学院11级C语言C语言程序设计课程设计报告

C语言程序设计课程设计报告20xx20xx学年第1学期题目专业班级姓名学号指导教师成绩计算机科学与技术系20xx年12月31日目录一课程设计的目的与要求1二方案实现与调试221掷骰子游戏222射击游戏323汽车...

C语言程序设计课程设计报告

C语言程序设计课程设计报告20xx20xx学年第1学期专业计算机科学与技术班级姓名学号指导教师成绩计算机科学与技术系20xx年12月31日目录一课程设计的目的与要求3二方案实现与调试321掷骰子游戏322汽车加...

c语言程序贪吃蛇课程设计报告

山东工商学院信电学院自动111班第一组贪吃蛇课程设计报告高级语言程序设计课程设计报告ExperimentDesigningreporter课程名称高级语言程序设计英文名称CProgramExperimentDe...

C语言程序设计基础课程设计报告

程序设计基础课程设计报告课程名称课程设计题目程序设计基础课程设计学生信息管理系统姓名系专业年级学号指导教师职称计算机科学技术系计算机网络技术讲师20xx年1月1日一设计题目及要求1题目学生信息管理系统2要求1建...

《C语言程序设计》课程设计报告格式 (2)

C语言程序设计课程设计报告20xx20xx学年第1学期专业软件工程软件测试服务班级1班姓名学号陈家汀指导教师谢小竹成绩计算机与信息工程学院20xx年1月12日目录一课程设计的目的与要求页码二方案实现与调试页码2...

C语言课程设计报告---学籍信息管理系统

中国地质大学本科生课程论文封面1课程设计评语注1无评阅人签名成绩无效2必须用钢笔或圆珠笔批阅用铅笔阅卷无效3如有平时成绩必须在上面评分表中标出并计算入总成绩2目录课程设计评语2目录31课程论文题目42程序设计思...

C语言课程设计报告_运动会分数统计系统

C语言课程设计报告_运动会分数统计系统一.需求分析1问题描述运动会分数统计系统参加运动会有n个系,系编号为1n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1m,女子m+1m+w。不同的项目取前五名或前…

C语言课程设计报告-图书管理系统

课程设计报告图书馆管理系统目录1题目与要求22系统总体设计要给出必要的文字说明及必要的图示321功能需求分析明确选题的功能需求322系统功能模块划分要给出系统功能模块图43详细设计431重要数据的数据结构设计即...

c语言程序设计课程设计报告(34篇)