C语言程序设计大作业设计说明书修改版(计算器设计)
c语言程序设计课程计算器设计报告

课程设计实验报告题目 C/C++语言程序设计所在院系信息学院专业计算机科学与技术班级 12级计科班学生指导教师2014年9月24 日程序设计流程图:源代码:#include <stdio.h>#include<math.h> #include <stdlib.h>void fun1(){printf("\t\t\t*****************************\n");printf("\t\t\t$ 欢迎使用计算器 $\n");printf("\t\t\t$ $\n");printf("\t\t\t$ 1.加法 $\n");printf("\t\t\t$ 2.减法 $\n");printf("\t\t\t$ 3.乘法 $\n");printf("\t\t\t$ 4.除法 $\n");printf("\t\t\t$ 5.乘方 $\n");printf("\t\t\t$ 6.开方 $\n");printf("\t\t\t$ 7.八进制转换 $\n");printf("\t\t\t$ 8.十六进制转换 $\n");printf("\t\t\t$ 9.退出 $\n");printf("\t\t\t$ $\n");printf("\t\t\t*****************************\n");}void fun2(float x,float y,int c){float z;int n,i;switch(c){case 1: z=x+y;printf("结果:%g+%g=%g\n",x,y,z);break; case 2: z=x-y;printf("结果:%g-%g=%g\n",x,y,z);break; case 3: z=x*y;printf("结果:%g*%g=%g\n",x,y,z);break; case 4: if(y==0)printf("错误!");else{z=x/y;printf("结果:%g/%g=%g\n",x,y,z);}break; case 5: n=x;for(i=1;i<y;i++){x=x*n;}printf("结果:%g\n",x);break;default:printf("请重新输入!");}}void fun3(float x,int c){float z;switch(c){case 6:if(x<0)printf("错误!");else{z=sqrt(x);printf("结果:%g\n",z);}break;default:printf("请重新输入!");}}void convert(int m,int c){char s[128];switch(c){case 7:printf("结果:%o\n",m);break;case 8:printf("结果:%x\n",m);break;default:printf("请重新输入!");}}void main(){for(;;){float x,y,z;int c,m;char h;fun1();printf("请选择运算:\n");printf("1\n2\n3\n4\n5\n6\n7\n8\n9\n"); printf("请输入运算方式前面的数字:\n");scanf("%d",&c);if(c==1||c==2||c==3||c==4||c==5){printf("输入两个数:");scanf("%f%f",&x,&y);fun2(x,y,c);}if(c==6){printf("输入一个数:");scanf("%f",&x);if(x<0)printf("错误!");elsefun3(x,c);}if(c==7||c==8){printf("输入一个数:");scanf("%d",&m);convert(m,c);}if(c==9){printf("<<<<<<<<<谢谢使用!>>>>>>>>>\n");} if(c>='a' && c<='z')printf("没有这个选择!\n");if(c>='A' && c<='Z')printf("没有这个选择!\n");}}。
c语言大作业课程设计

c语言大作业课程设计一、教学目标本课程的教学目标是使学生掌握C语言的基本语法、数据结构和算法,能够运用C语言进行程序设计,提高学生的编程能力和逻辑思维能力。
具体分解为以下三个目标:1.知识目标:学生能够理解并掌握C语言的基本语法、数据结构和常用算法,了解C语言的编程环境和开发工具。
2.技能目标:学生能够熟练使用C语言进行程序设计,具备一定的编程能力和问题解决能力。
3.情感态度价值观目标:学生通过完成C语言程序设计,增强对计算机科学的兴趣和热情,培养良好的编程习惯和团队协作精神。
二、教学内容教学内容主要包括C语言的基本语法、数据结构和算法。
具体安排如下:1.C语言的基本语法:包括变量、数据类型、运算符、控制结构、函数等,共4课时。
2.数据结构:包括数组、链表、栈、队列、树等,共6课时。
3.算法:包括排序算法、查找算法、递归算法等,共4课时。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法、实验法等。
具体安排如下:1.讲授法:用于讲解C语言的基本语法、数据结构和算法,共12课时。
2.讨论法:用于引导学生探讨编程问题,提高学生的思考和解决问题的能力,共4课时。
3.案例分析法:通过分析实际案例,使学生更好地理解和掌握C语言编程,共4课时。
4.实验法:让学生动手编写C语言程序,培养学生的编程能力和实践能力,共8课时。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将选择和准备以下教学资源:1.教材:《C语言程序设计》,用于引导学生学习C语言的基本语法、数据结构和算法。
2.参考书:《C Primer Plus》、《C和指针》,为学生提供更多的学习资料和参考。
3.多媒体资料:包括教学PPT、视频教程等,用于辅助教学,提高学生的学习效果。
4.实验设备:计算机、编程软件(如Visual Studio、Code::Blocks等),用于实验教学,培养学生的编程能力和实践能力。
C语言程序设计大作业设计说明书-简单计算器

高级语言程序设计大作业设计说明书简单计算器学院电子信息工程学院专业班级级通信工程班学生姓名xxxx学号*********指导老师xxxxxx1.概述:本程序是在C++6.0环境下开发的一款集整数与小数的四则运算和求余运算为一体的简单计算器。
主要运用了赋值、计算、选择结构(switch语句实现多分支选择结构)、条件运算、循环计算、函数调用等原理。
2.程序概要设计:前实现的功能:程序已经可以完成整数、小数的基本加减乘除;整数基本求余运算;二进制,八进制,十进制,十六进制的相互转换,并可以对输入者的输入错误提出错误警告;程序可以循环运行,也可以自我实现退出菜单的功能(需要按2次回车)。
目前发现的BUG有:1、在整数输入数字的时候,如果输入的是小数的话会一直循环菜单,不会出现结果,也不会提示输入者输入错误,也不会有结果。
2、在整数求余功能中,如果输入的是小数或者输入不合理也会出现一直循环菜单的情况,同样不会提示输入者输入错误,也不会有结果。
目前没有实现的功能有:1.给出一个二进制数,不可以计算它的原码、补码和反码。
2.整数,小数的基本运算和整数求余的运算出现错误无法提示,函数不是十分完整。
3.全部进制的函数输入的数字个数都是有限制(数字个数不能大于100),超范围就会输出错误结果,无法实现无限制的输入而得出正确结果。
4.每次算完第一次不能按回车,只能按其他按键,否则会退出,因为按两次回车就会退出程序。
5.每次算完,按非回车键都会出现一级菜单,有点繁琐,再次选择整数、小数、进制运算。
流程图:3.程序详细设计:在主函数中设置了全局变量,以实现功能选择,并用char函数实现循环输入。
运用do while语句控制结束程序,即在运算过后,如由键盘输入回车键则结束程序。
之后进入功能选择菜单,先调用写好的menu函数(回车2次可退出程序)。
输入提示及输入控制:若输入的数字不是1-3,则提示输入错误,重新输入:(运用选择结构进行判断)其中,整数、小数、及进制转换计算功能分别使用了另一个switch语句嵌套,实现选择功能。
C语言程序设计编程任务书——计算器

开发一个计算器程序一.软件目标所开发软件的目标是开发一个基于对话框的计算器应用程序。
其所能实现的具体功能有加、减、乘、除、平方、开方,以及各种函数变换,并且能够将输入错误的数值清除后再进行重新输入。
二.软件设计基本操作流程1.在VC6.0中新建一个MFC应用程序,以xxx_1命名,选择基于对话框形式,点击确定。
2.在程序的主界面上设计计算器的操作界面,如添加数字按钮和功能按钮以及编辑框和相应框。
3.为按钮、编辑框、相应框添加相应函数,并且在DLG文件中加入变量和函数。
4.设计对话框的内容,如个人信息等。
界面风格界面主要以计算机的操作界面为主,整个界面均布有数字键,功能键和清除按键,而没有添加其他的按键和文字,整体设计十分简单。
软件功能模块整个界面的正上方是计算器的输入和输出界面,左侧为数字按键,而右侧则为功能按键。
三.软件实现过程1. 用MFC AppWizard(exe) 创建一个基于对话框应用程序(1)打开VC6.0,选择文件>新建>工程> MFC AppWizard(exe)。
(2)输入自己的工程名称为xxx_1,点击确认。
(3)在接下来的应用向导中选择基本对话框选项,点击完成后进入主界面。
2. 主界面设置(1)在dialog上右键选择插入一个Dialog,在弹出的对话框中录入开发者的相关信息。
(2)点击IDD_XXX_1_DIALOG,布置计算器主界面,如图三.添加消息映射函数,编写主程序及注释。
编写程序的头文件,加入程序运行必要的头文件,包括#include "string.h" #include "math.h" #include "stdlib.h" 在类向导中关联各个按钮,并一一对应编辑数字键所对应的函数代码,其他数字也按如下方式编写void CXxx_1Dlg::OnButtoNum1() // 数字键1的响应事件{ UpdateData(1); // MFC的窗口函数,刷新编辑框的数据if(m_str=="") // 如果之前没有进行输入,则1为第一个输入的数字m_str="1";elsem_str+="1"; // 如果之前有输入,则1与之前输入的数字一起组成新的数字UpdateData(0);}清除按钮的函数代码void CXxx_1Dlg::OnButtoClear() // 清除按键的响应事件{ UpdateData(1);m_str=""; // 将编辑框的内容清除UpdateData(0);}各个符号运算{ UpdateData(1);if(m_str=="") // 判断前面是否有数字输入m_str=""; // 若前面无数字输入,则点击"+"无效,将显示框还原elsem_str+="+"; // 若前面有数字输入,则将"+"连接到数字的后面UpdateData(0);}void CXxx_1Dlg::OnButtonOperation2() // "-"按键的响应事件{ // 原理与"+"的代码相同UpdateData(1);if(m_str=="")m_str="";elsem_str+="-";UpdateData(0);}void CXxx_1Dlg::OnButtonOperation3() // "*"按键的响应事件{ // 原理与"+"的代码相同UpdateData(1);if(m_str=="")m_str="";elsem_str+="*";UpdateData (0);void CXxx_1Dlg::OnButtonOperation4() // "/"按键的响应事件{ // 原理与"+"的代码相同UpdateData(1);if(m_str=="")m_str="";elsem_str+="/";UpdateData(0);}以及高级运算的计算void CXxx_1Dlg::OnButtonOperation5() // "平方"按键的响应事件{ UpdateData(1);if(m_str=="") // 前面没有数字输入,则点击无效m_str="";else{int i=atoi(m_str); // 利用cstring中的atoi函数将字符串转换成整型类型的数字i=i*i; // 平方运算m_str.Format("%d",i); // 利用format函数将整数转换为字符串类型}UpdateData(0);void CXxx_1Dlg::OnButtonOperation6() // "开方"按键的响应事件{ UpdateData(1);if(m_str=="") // 前面没有数字输入,则点击无效m_str="";else{float f; // 定义float类型的变量f,用来存储开方的结果int num=atoi(m_str); // 利用cstring中的atoi函数将字符串转换成整型类型的数字f=sqrt(num); // 开方的函数m_str.Format("%.2f",f); // 利用format函数将浮点数类型转换为字符串类型}UpdateData(0);}void CXxx_1Dlg::OnButtonOperation7() // "sin"按键的响应事件{ UpdateData(1);if(m_str=="") // 前面没有数字输入,则点击无效m_str="";else{float f=atof(m_str); // 利用cstring中的atof函数将字符串类型转换成float类型,方便操作float y=sin(f); // 三角函数运算m_str.Format("%.2f",y); // 利用format函数将浮点数类型转换为字符串类型}UpdateData(0);}void CXxx_1Dlg::OnButtonOperation8() //"cos"按键的响应事件{ UpdateData(1);if(m_str=="") // 前面没有数字输入,则点击无效m_str="";else{float f=atof(m_str); // 利用cstring中的atof函数将字符串类型转换成float类型,方便操作float y=cos(f); // 三角函数运算m_str.Format("%.2f",y); // 利用format函数将浮点数类型转换为字符串类型}UpdateData(0);}void CXxx_1Dlg::OnButtonOperation9() //"tan"按键的响应事件{ UpdateData(1);if(m_str=="") // 前面没有数字输入,则点击无效m_str="";else{float f=atof(m_str); // 利用cstring中的atof函数将字符串类型转换成float类型,方便操作float y=tan(f); // 三角函数运算m_str.Format("%.2f",y); // 利用format函数将浮点数类型转换为字符串类型}UpdateData(0);}相应的运算关系为for(int j=i+1,m=0;j<len;j++){ latter+=m_str.GetAt(j);}float s1=atof(former); // 定义float类型的变量s1,用来存储将former字符串转换为float型数字的结果。
C语言作业要求及设计说明书(初学者)

程序设计说明书姓名:***班级:轮机136学号:************2023-12-27AHA-C语言程序设计大作业要求一、作业目的1、驾驭用C语言进行程序设计的基本方法。
2、娴熟驾驭window限制台应用程序的编写。
3、初步完成一个应用程序的设计、编码、调试,了解程序设计过程,熬炼实际应用实力。
二、作业内容猜数字嬉戏:计算机随机生成没有重复的n个数,用户从键盘输入揣测的数。
每猜一次,电脑给出提示信息。
假如用户输入的数跟计算机生成的数,数值和位置都完全相等,则胜出。
基本功能要求:1.随机生成没有重复的4个数。
(每个数字在0-9范围内)。
2.用户从键盘输入4个不重复的数,程序能对用户输入的数与随机生成的数进行匹配,并给出提示信息:“有x个数数值和位置都相同!有y个数数值相同,但位置不同。
”3.限制用户的尝试次数为10次。
4.计算、输出并保存用户的得分,计分规则:总分是100分,每失败一次扣10分。
5.有操作菜单,能依据不同选择运行不同功能:1:起先嬉戏!2:查看上次成果!3:输出帮助信息!0:退出程序!扩展功能要求:1.对用户输入的数字进行检查,假如用户输入重复的数,给出提示,要求重新输入。
2.能对嬉戏进行设置:在操作菜单中增加相应的选项:“4:系统设置”。
(1)修改要猜的数字的个数n,依据修改后的n值,计算机可随机生成n个数,用户进行n个数的揣测嬉戏。
(2)修改可以尝试的次数。
3.若嬉戏胜出且成果在前五名,可输入并记录对应的用户姓名,并添加到积分榜中。
操作菜单中相应选项改为“2:积分榜!”,用于把积分榜中保存的前五名成果及用户姓名显示出来。
4.能对积分榜的成果进行排序和输出。
提示:(1)生成一个0~9的随机数,运用rand函数:#include<stdio.h>#include<stdlib.h> //运用rand函数必需运用此头文件#include<time.h>int main(){int a;srand(time(0)); //生成一个种子。
C语言程序设计大作业设计说明书

C语言程序设计大作业设计说明书概述:处在Microsoft Visual C++软件下的Developer Studio集成开发平台中进行开发。
已实现了基本功能中的:1、随机生成没有重复的4个数。
(每个数字在0-9范围内)。
2、用户从键盘输入4个不重复的数,程序能对用户输入的数与随机生成的数进行匹配,并给出提示信息:“有x个数数值和位置都相同!有y个数数值相同,但位置不同。
”3、控制用户的尝试次数为10次。
4、计算、输出并保存用户的得分,计分规则:总分是100分,每失败一次扣10分。
5、有操作菜单,能根据不同选择运行不同功能:1:开始游戏!2:查看上次成绩!3:输出帮助信息!4:游戏设置!0:退出程序!还实现了扩展功能里的:1.对用户输入的数字进行检查,如果用户输入重复的数,给出提示,要求重新输入。
2.能对游戏进行设置:在操作菜单中增加相应的选项:“4:系统设置”。
(1)修改要猜的数字的个数n,根据修改后的n值,计算机可随机生成n个数,用户进行n个数的猜测游戏。
(2)修改可以尝试的次数。
未实现的功能是扩展功能里的:1、若游戏胜出且成绩在前五名,可输入并记录对应的用户姓名,并添加到积分榜中。
操作菜单中相应选项改为“2:积分榜!”,用于把积分榜中保存的前五名成绩及用户姓名显示出来。
2、能对积分榜的成绩进行排序和输出。
经多次运行尝试,虽然编辑、编译、连接都没有错误,可以运行,但是在运行的时候有时会卡住,要等一会才会显示出来。
程序概要设计:程序流程是:开始运行到主界面,在主界面中可选择:1:开始游戏!2:查看上次成绩!3:输出帮助信息!0:退出程序!,然后选择开始游戏后,程序会生成4个不重复且在0-9之间的随机数,然后玩家需输入4个不同的数0-9之间的数,接着程序会判断玩家输入的4个数与程序生成的随机数的数值和位置是否相同,并提示4个数的数值跟位置相同和不同有几个,就这样一直循环到4个数的数值和位置都正确,或玩家尝试次数已超过10次。
VC 大作业___简单计算器的设计

VC++大作业报告简单科学计算器设计姓名:学号:学院:班级:日期:目录一、设计任务 (1)1、选题意义 (1)2、设计目标 (1)二、程序设计与实现 (1)1、程序结构 (1)2、设计步骤 (3)3、详细设计 (4)(1)、计算器界面 (4)(2)、主要代码 (4)(3)、函数功能说明 (16)三、设计难点与解决方法 (17)四、设计效果与不足之处 (18)1、程序效果图 (18)2、不足之处 (18)五、学习体会 (18)一、设计任务1.选题意义此题选择意义在于引导学生学会设计简单的科学计算器,进一步掌握Visual C++应用程序。
统地学习面向对象编程思想,了解MFC架构,逐步熟悉可视化编程环境Visual C++,并在此环境下设计并实现一个简单计算器系统。
该计算器应能实现如下功能: 1)、二进制、八进制、十进制及十六进制数的加、减、乘、除、乘方等简单计算 2)、科学计算函数,包括正弦、余弦、正切、余切、开方、对数、指数等函数运算 3)、具备历史计算的记忆功能。
2.设计目标使计算器含有以下功能:(1)、基本运算功能:可以进行加、减、乘、除等基本运算。
(2)、数制转换功能:可以一次完成二进制转十进制、十进制转二进制、八进制转二进制等运算。
(3)、三角函数运算功能:可以一次完成三角函数之间的计算,求正弦函数(sin)、余弦函数(cos)、正切函数(tan)、余切函数(cot)等函数的值。
(4)、对数、指数运算功能:可以一次求的对数函数(log、ln)、指数函数(exp)等函数的运算。
(5)、删除功能:可以在输入错误时删除已输入的数值。
(6)、归零功能:可以在计算完成后清空编辑框中的已有数值。
二、程序设计与实现1.程序结构本计算器首先是通过在计算器的界面上按下相应的按钮,来进行基本的加,减,乘,除等基本运算,计算器还能够进行平方运算,求平方根运算,乘方运算,三角函数运算(包括正弦函数(sin)、余弦函数(cos)、正切函数(tan)、余切函数(cot)),对数函数(ln、log),指数函数(exp),幂函数(x~)和进制转换(包括二进制转十进制、十进制转二进制和八进制转二进制)等运算。
C语言课程设计-计算器程序设计报告书

C语言课程设计-计算器程序设计报告书课程设计说明书题目计算器程序设计起讫日期 2006 年 7月 3日至 2006 年 8月 6日所在院系软件学院专业机械+软件班级 04-2 学生姓名学号指导教师2010年 8 月日摘要当今社会是信息社会,科技经济高速发展的社会~为了更方便人们的工作生活和加速人们处理信息的速度,计算器应运而生。
由于它体积小巧,携带方便,价格便宜,构造简单等诸多的优点成为人们生活中的必备品~随着科技的发展计算器的种类变得更多,功能变得更强大,体积变得更小~电脑的出现改变人们的生活习惯,很多事情都可以电脑来完成~电脑的更大一个优点就是可以通过软件的应用无限的延伸电脑功能的外延~下面我们将用我们学习的c 语言编写一个简易的计算器程序~实现简单的初步的计算功能~本程序的编写基础是Tubro C2.0汉化版,它在tubro c的原有基础上实现了多汉字的支持方便了我们的使用。
生成的程序可移植性强兼容性好稳定~现在只实现了加、减、乘、除、求幂、求模,求平方根,求Sin,求Cos,求Log10,以及一个时钟原代码。
这个系统是基于软件发展的生命周期来研制的,它可以直接输入数学表达式,不需要任何转换,就可以直接输出数学四则运算的结果。
但是,每次只能运算一个表达式。
不能运算多个表达式。
在程序里面在添加一组选择函数即可。
本论文主要介绍了本课题的开发背景,开发的过程和所要完成的功能。
重点的说明了系统设计思想,设计的步骤、难点技术和解决方案。
关键词:C语言 Tubro c 2.0汉化版计算器时钟目录第一章综述…………………………………………………………………1 (1 课题的现实意义………………………………………………………1 11(2 软件环境........................................................................1 1(3 硬件环境 (1)第二章系统设计流程图……………………………………………………2 2(1 系统流程图……………………………………………………………2 (2 主要功能表……………………………………………………………2 2第三章系统分析和设计……………………………………………………3 (1 图形的绘制和输出……………………………………………………3 33(2 文本的输出显示...............................................................3 3(3 计算函数的调用...............................................................4 3(4 程序的运行和退出 (5)第四章系统测试.....................................................................6 4(1 系统测试........................................................................6 4(2 调试..............................................................................6 4(3 错误原因分析一...............................................................6 4(4 错误原因分析二 (6)第五章用户使用说明书……………………………………………………8 5(1 运行Turbo C程序进入计算器界面…………………………………8 5(2 计算器的使用..................................................................9 5(3 退出程序 (9)第六章工作总结 (10)参考文献………………………………………………………………………11 附录: 源代码第一章综述1.1 课题的现实意义现实学习生活中,常会遇到一些数目较大数据繁杂的数值运算,徒手运算起来很困难,这时候我们就必须用到计算器,所以便着手开发了这个计算器程序,以便用于自己的学习工作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
高级语言程序设计大作业
设计说明书
简单计算器
学院电子信息工程学院
专业班级11级通信工程4班
学生姓名彭艺
学号201130095302
指导老师张伟娜
1.概述:
本程序是在C++6.0环境下开发的一款集整数与小数的四则运算和求余运算为一体的简单计算器。
主要运用了赋值、计算、选择结构(switch语句实现多分支选择结构)、条件运算、循环计算、函数调用等原理。
2.程序概要设计:
前实现的功能:
程序已经可以完成整数、小数的基本加减乘除;整数基本求余运算;二进制,八进制,十进制,十六进制的相互转换,并可以对输入者的输入错误提出错误警告;程序可以循环运行,也可以自我实现退出菜单的功能(需要按2次回车)。
目前发现的BUG有:
1、在整数输入数字的时候,如果输入的是小数的话会一直循环菜单,不会出现结果,也不会提示输入者输入错误,也不会有结果。
2、在整数求余功能中,如果输入的是小数或者输入不合理也会出现一直循环菜单的情况,同样不会提示输入者输入错误,也不会有结果。
目前没有实现的功能有:
1.给出一个二进制数,不可以计算它的原码、补码和反码。
2.整数,小数的基本运算和整数求余的运算出现错误无法提示,函数不是十分完整。
3.全部进制的函数输入的数字个数都是有限制(数字个数不能大于100),超范围就会输出错误结果,无法实现无限制的输入而得出正确结果。
4.每次算完第一次不能按回车,只能按其他按键,否则会退出,因为按两次回车就会退出程序。
5.每次算完,按非回车键都会出现一级菜单,有点繁琐,再次选择整数、小数、进制运算。
流程图:
3.程序详细设计:
在主函数中设置了全局变量,以实现功能选择,并用char函数实现循环输入。
运用do while语句控制结束程序,即在运算过后,如由键盘输入回车键则结束程序。
之后进入功能选择菜单,先调用写好的menu函数(回车2次可退出程序)。
输入提示及输入控制:
若输入的数字不是1-3,则提示输入错误,重新输入:
(运用选择结构进行判断)
其中,整数、小数、及进制转换计算功能分别使用了另一个switch语句嵌套,实现选择功能。
整数的加减乘除:
运用基本的加减乘除的函数完成,输入和输出的数字为整型。
将输入的数字赋值到变量中,在让变量在程序进行相关的基本运算,输出结果即可。
小数的加减乘除:
运用基本的加减乘除的函数完成,输入和输出的数字都双精度浮点型。
将输入的数字赋值到变量中,在让变量在程序进行相关的基本运算,输出结果即可。
整数求余运算:
运用%计算来完成,将输入的数字赋值到变量中,在让变量在程序进行%的运算。
得出的值就是所求的余数,输出结果即可。
二进制转换八进制:
这个是对输入的数字进行判断,因为二进制只能输入0和1 。
二进制转八进制时,利用了二进制转十进制做桥梁,最后再十进制转八进制。
二进制转换十进制
这也是对输入的数字进行判断,只能为0和1。
二进制转换十六进制
对输入的数字进行求余,因为输入的数字只能是0和1,所以最后的输入数字被10整除,结果不会大于1,也就是按照这个原理来实现输入错误进行提醒,如果结果不大于1,就会实现下面的函数。
先将二进制转换为十进制,再十进制转换为十六进制,对10,11,12,13,14,15进行switch语句的转换,分别转换为A,B,C,D,E,F;最后输出为十六进制。
八进制转换二进制
输入的数字在0到7的组合或单个数之间,再对输入的数字对10求余。
再对2求余。
八进制转换十进制
输入的数字在0到7的组合或单个数之间,输入的数字对10求余,再经过一下程序得出结果。
八进制转换十六进制
输入的数字在0到7的组合或单个数之间,先由八进制转换到十进制,再由十进制转换到十六进制,对10,11,12,13,14,15进行switch语句的转换,分别转换为A,B,C,D,E,F;最后输出为十六进制。
十六进制转换为二进制
输入的数字要在0到9之间,字母要在A(a)到F(f)之间,否则会出现错误。
再利用这个程序输出数字,先由十六进制转换为十进制,十进制再转换为二进制。
十六进制转换为八进制
输入的数字要在0到9之间,字母要在A(a)到F(f)之间,否则会出现错误。
先由先由十六进制转换为十进制,十进制再转换为八进制。
十六进制转换为十进制
输入的数字要在0到9之间,字母要在A(a)到F(f)之间,否则会出现错误。
4.使用情况菜单:
1.一级菜单
正常使用:
输入错误:
2.二级菜单
输入错误:
进制运算:
整数加法:
整数减法:
整数乘法:
整数除法:
整数除法除数为0:
整数求余:
小数加法:
小数减法:
小数乘法:
小数除法:
二进制转八进制:
二进制转十进制:
二进制转十六进制:
八进制转二进制:
八进制转十进制:
八进制转十六进制:
十进制转二进制:
十进制转八进制:
十进制转十六进制:
十六进制转二进制:
十六进制转八进制:
十六进制转十进制:
5.总结
我刚开始是将整数、小数和进制分开源文件来写,到最后发现将个源文件就很容易出错,要修改好多地方,所以刚开始的时候要注意那些定义变量尽量不要用相同的字母定义。
本程序基本符合大作业的要求,但是还存在一些漏洞,有待改善,例如在整数运算时,如果输入了非整数,程序就不会提示输入错误,菜单就一直循环。
我觉得我这个程序可以运行,但是比较复杂,如果有地方出错,修改范围比较大,不容易找。
有些进制运算要与同学讨论才会写。
最后,我很开心完成了这个计算器,但是不是很完美,还有很多漏洞。
也会为自己感到有成功感,用自己的双手和脑袋完成一个简单计算器,若有时间还会尝试编译下其他程序,继续提高自己的能力,希望在C语言上有一定的进步。
6.参考文献
C语言设计(第四版) 谭浩强清华大学出版社2010年6月出版。