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 课题的现实意义现实学习生活中,常会遇到一些数目较大数据繁杂的数值运算,徒手运算起来很困难,这时候我们就必须用到计算器,所以便着手开发了这个计算器程序,以便用于自己的学习工作。
《C语言程序的设计》大作业
南昌大学软件学院C语言程序设计工程实训大作业班级:09软件技术(2)班学号:8001509107姓名:吴承增指导老师:危建国2010年12月10日系统说明书1.问题描述:该程序包内容包括以下的模块,均用子函数完成:(1)主菜单(2)输入若干条记录并保存文件(指学生的信息)(3)学生信息录入、修改、删除、查询、存储。
(4)学生信息的浏览及排序(冒泡排序算法)。
(5)学生成绩的录入、修改。
(6)统计及格和优秀人数(7)退出系统2.程序设计和程序流程图:解决方案:主函数流程图:各部分功能的流程图:录入学生成绩流程图:统计功能流程图如图3所示:图3 统计模块流程图冒泡排序流程图:排序学生信息流程图:删除学生成绩信息流程图:3.系统的基本功能(主要数据和函数功能描述):char xh[15]; //以字符串数组形式存储学生学号char name[25]// 以字符串数组形式存储学生姓名char sex[5]; //性别float sxcj; //数学成绩float yycj; //英语成绩float Cyycj; //C语言成绩float ave; //平均成绩float sum; //总成绩#define N 4 //宏定义学生#define MAX 60 //学生最大个数int nCOUNT=0; //记录当前学生个数struct student //定义结构体学生int ScoreNew() //录入学生成绩int average() //求平均数int xsxscj() //显示输入学生信息、将学生打印到屏幕上int xsxsxx() //显示学生信息int xhcjpx() //按学生学号排序学生信息int sxcjpx()按数学成绩排序学生信息int yycjpx()按英语成绩排序学生信息int Cyypx() //按C语言成绩排序学生信息int zcjpx()按总成绩排序学生信息int pxxsxx()//排序学生信息int axhcx() //按学号查询int axmcx() //按姓名查询int SearchStud() //查询学生成绩信息int zjxsxx() //增加学生信息int xgxsxx() //修改学生信息int scxsxx() //删除学生信息int gxxscj() //更新学生信息int tjxscj() //统计学生成绩int save() //保存到文件((fp=fopen("stu_list.txt","wb"))==NULL) //以只读方式打开文件stu_list.txt (fwrite(&str[i],sizeof(struct student),1,fp)!=1) //创建文件并以二进制形式打开int xswj() //显示文件信息int main() //主函数mainmemu4.拟采用开发平台:Visual C++,Borland C++等。
《C语言大作业》设计说明书 (2)
CHANGZHOU INSTITUTE OF TECHNOLOGY课 程 设 计 说 明 书课程名: 《C 语言大作业》题 目: 通 讯 录 管 理 系 统二级学院: 计算机信息工程学院专 业: 软件工程 班 级: 12 软 件 卓 越 学 号: 12030427 姓 名: 许 彦 文 指导教师: 曹 中 心2013年 7 月KC021-11.课程认识目的:加深对《C程序设计》课程所学知识的理解,进一步巩固C语言的编程方法。
学会编制结构清晰、风格良好、数据结构适当的C语言程序,从而具备解决综合性实际问题的能力,加强动手能力。
任务:根据要求电话簿数据以文本文件存放在文件中,并按要求实现通讯录最基本的功能。
2.课题选择在这个信息化时代,手机已成为最通俗的交流工具,通讯录日常生活中不可缺少的,且编写此系统中要用到的函数大多数是我们学过的,在我们的能力掌握范围内,一开始我们也只想到了通讯录的基本功能,后来我们通过各方面的努力,尽量使整个系统的功能更加齐全。
3.见组长(王扣慈)4.模块详细设计我负责的是注册、添加、删除的功能。
注册:运行此功能时,有用户名限制(仅限字母)、密码限制(仅限数字或字母),注册时密码要输出两次但如果第二次输密码时输错超过两次就意味着注册失败。
(如图4-1)添加:加入你所需要的数据,数据包括姓名、电子邮箱、电话号码、分类、编号。
(如图4-2)删除:输入名字,找到欲删除的那个人的名字后,会自动删除他(她)的记录内容。
(如图4-3)图4-1 注册用户流程图图4-2 添加用户流程图图4-3删除用户流程图5.主要实现方法我编写的最重要的应该是注册,而注册中最重要的就是实现用户名、密码的权限 void zhuce( ) { FILE *fp;if((fp=fopen("mima.dat","wb"))==NULL) //建一个新的文件夹 { printf("cannot open file!\n"); exit(0);}int sign=1; int k=1;Yint j,i=1;int m=1;int len=0;char code1[N],code2[N],user[N];printf("用户名仅限于字母"); //设定用户名权限while(m!=0) //用户名如果不符合要求就继续输入,输对就跳出循环{printf("\n输入用户名\n");getchar();gets(user);len=strlen(user);for(j=0;j<len;j++){if(!((user[j]>='a'&&user[j]<='z')||(user[j]>='A'&&user[j]<='Z'))){m=1;printf("用户名格式不符,请重新输入");}else m=0;}}printf("密码权限仅限数字或字母"); //设定密码权限while(k!=0) //密码不符合要求就继续输入,输对就跳出循环{printf("输入密码\n");gets(code1);len=strlen(code1);for(j=0;j<len;j++){if(!((code1[j]>='a'&&code1[j]<='z')||(code1[j]>='A'&&code1[j]<='Z')||(code1[j]>='0'& &code1[j]<='9'))){k=1;printf("密码格式不符,请重新输入\n");}else k=0;}}while(sign!=0){printf("再输入一次密码\n");//再输入一次密码看两次是否一样gets(code2);if(!strcmp(code1,code2)){printf("注册成功\n");//两次输出密码相等,就注册成功sign=0;}else{sign=1;printf("密码出错,与第一次不符");i++;}if(i>3){printf("\n你已经超过2次输错密码,已无法输入,再见");break; //如果超过两次输错密码,系统将会阻止再次输入}}fputs(user,fp);fputs(code1,fp);//将输入的用户名,密码存放到文件夹中,以便用于登陆fclose(fp);}6.课程设计总结问题:我出现的问题主要还是出现在注册中,其他两个程序虽然也有问题,但都能通过自己和小组成员之间的交流慢慢解决,类如在添加时选择是否继续添加下去时,运行时系统会不理你的选择继续叫你加下去,然后和小组成员讨论后在选择是否添加前面加了个getchar()问题就解决了。
《C语言程序设计》大作业任务书
《C语言程序设计》大作业任务书一、题目(1)简单计算器(2)通讯录(3)学生成绩档案管理(4)图书管理系统如要另外选用其它题目,可写申请书。
二、对象本学期“C语言程序设计”课程全体同学。
三、目的考查学生对C语言的综合编程能力的掌握,培养学生的逻辑思维能力,最终达到学生能完全独立编制、调试程序的能力。
该题主要考察学生对函数、结构体,指针,文件等的操作,以及C语言算法的掌握,所以完成此道题目要求较强的设计能力,尤其是要有一种大局观的意识。
如何调试程序也非常重要,通过这个程序可以学习到以前调试短程序没有的经验。
四、要求(1)根据学生人数一人完成一个题目,在课外完成查找资料、选题、拟大纲、研究写作等各环节;每一环节完成后,在课堂上进行讨论、教师点评,最后确定解决问题的方案。
(2)问题规模:程序代码不少于500行;使用技术:使用结构体定义数据类型、各功能通过子函数调用实现;程序结构良好,没有明显错误;按照大作业格式,在最后一周交齐作业。
五、内容(1)系统说明书内容包括:①问题描述②程序设计和程序流程图③系统的基本功能,即主要数据和函数功能描述④拟采用开发平台(Visual C++,Borland C++等)(2)大作业报告根据原有的系统设计,编码阶段的工作,整理书写实验报告,内容包括:①系统说明②实验分析与结论③收获与体会④附程序代码(3)最后提交材料:①大作业报告(电子稿)②源程序代码(*.C文件),执行文件(EXE)。
六、评分本次大作业作为期末考试总成绩,满分100分。
大作业的总评分依据:正确性、设计合理性、认真程度、实现的功能多少,提问情况等。
(1)正确性----占大作业满分的30%要求:所谓“程序正确”,指的是在各层次上正确,经得起检测,对合法的所有数据,要能够输入,且程序要都能正确执行,并获得正确的结果。
(2)设计合理性----占大作业满分的20%要求:指的是抽象数据类型的设计和实现,抽象数据类型有两个基本特性抽象性和封装性。
c程序设计大作业
c程序设计大作业C程序设计大作业C程序设计是一门实践性很强的课程,大作业是检验学生对C语言掌握程度的重要方式。
本次大作业的目的在于通过实际编程练习,加深对C 语言基础语法、数据结构、算法设计和程序调试等方面的理解,同时培养学生的编程思维和解决实际问题的能力。
一、大作业要求1. 题目选择:学生可以从以下题目中任选一题完成:- 学生信息管理系统- 图书馆管理系统- 简易计算器- 字符串处理工具- 图形界面的五子棋游戏2. 功能实现:每个题目都应实现基本功能,例如:- 学生信息管理系统:添加、删除、修改、查询学生信息。
- 图书馆管理系统:图书借阅、归还、查询等。
- 简易计算器:实现基本的加减乘除运算。
- 字符串处理工具:实现字符串的复制、连接、查找、替换等操作。
- 图形界面的五子棋游戏:实现基本的下棋逻辑和胜负判断。
3. 代码规范:代码应遵循良好的编程规范,包括但不限于:- 明确的函数分工,每个函数应有简短的注释说明其功能。
- 变量命名应清晰,避免使用无意义的缩写。
- 代码结构清晰,逻辑性强。
4. 文档编写:提交的作业应包括:- 程序设计说明书:介绍程序的功能、设计思路、实现过程等。
- 源代码:按照题目要求编写的C语言代码。
- 用户手册:简要说明如何使用程序。
5. 提交方式:所有材料应以电子文档形式提交,包括设计说明书、源代码和用户手册。
二、大作业流程1. 选题:学生在教师的指导下选择适合自己能力的题目。
2. 需求分析:明确程序需要实现的功能和性能要求。
3. 设计:设计程序的总体结构和各个模块的详细设计。
4. 编码:根据设计文档编写程序代码。
5. 测试:对编写的程序进行测试,确保功能正确无误。
6. 调试:根据测试结果进行必要的调试,修正程序中的错误。
7. 文档编写:编写程序设计说明书和用户手册。
8. 提交:按照要求提交所有材料。
三、评分标准1. 功能实现:程序是否实现了题目要求的所有功能。
2. 代码质量:代码是否规范、清晰、易读。
c程序课程设计大作业
c程序课程设计大作业一、教学目标本课程的教学目标是使学生掌握C程序设计的基本概念、原理和方法,培养学生运用C语言进行程序设计的能力和创新思维。
具体分解为以下三个方面的目标:1.知识目标:学生需要掌握C程序设计的基本语法、数据类型、运算符、控制结构、函数、数组、指针等基本概念,了解结构体、共用体、位字段、文件操作等高级内容。
2.技能目标:学生需要能够运用C语言编写解决实际问题的程序,具备调试和优化程序的能力,掌握基本的算法设计和分析方法。
3.情感态度价值观目标:培养学生对计算机科学的兴趣和热情,增强学生的自主学习能力和团队合作意识,培养学生勇于探索、创新的精神。
二、教学内容教学内容以教材《C程序设计语言》为基础,结合我国教育部门制定的教学大纲,系统地介绍C程序设计的基本概念、原理和方法。
教学大纲如下:1.C程序设计基本语法:数据类型、运算符、控制结构、函数等。
2.数据结构:数组、指针、结构体、共用体、位字段等。
3.高级编程:文件操作、动态内存分配、预处理指令等。
4.算法设计与分析:基本算法、排序算法、查找算法等。
5.编程实践:培养学生的实际编程能力,完成多个实际项目的开发。
三、教学方法本课程采用多种教学方法,包括讲授法、讨论法、案例分析法、实验法等,以激发学生的学习兴趣和主动性。
1.讲授法:用于讲解基本概念、原理和方法,使学生掌握理论知识。
2.讨论法:学生进行课堂讨论,培养学生的思考能力和表达能力。
3.案例分析法:分析实际案例,使学生学会将理论知识应用于实际问题。
4.实验法:安排实验课,让学生动手实践,培养实际编程能力。
四、教学资源教学资源包括教材、参考书、多媒体资料、实验设备等。
1.教材:《C程序设计语言》作为主要教材,辅以相关参考书供学生自主学习。
2.多媒体资料:制作课件、教学视频等,以直观展示课程内容。
3.实验设备:提供计算机实验室,让学生进行实际编程和调试。
4.在线资源:推荐在线编程平台,让学生随时随地练习编程。
C语言程序课程设计说明书.
C语言程序课程设计说明书一、设计任务与要求《C语言程序课程设计》是计算机科学与技术各专业本科生在完成《C语言程序设计》课程学习后进行的一门专业实践课程,是培养学生综合运用所学知识解决专业相关问题的重要环节,是对学生实际工作能力的具体训练和考察过程。
本次课程设计的题目均设想采用C语言来开发。
希望题目简单到学生可以独立完成,又可以达到锻炼学生编写复杂程序的课程设计目的。
最重要的是希望能避免抄袭,让学生真正锻炼自我。
要求每个学生必须参加,并完成如下各项课程设计任务:1. 要求每个学生认真阅读本C语言课程设计说明书,理解课程设计的目的和任务。
2. 要求学生通过自学理解和掌握本说明书附录2中给出的程序实例,读懂其中程序的设计功能,设计思想,设计结构,设计技巧,设计的不足等情况,提高阅读较大并且较为复杂程序源代码的能力,也可以通过实例理解本次课程设计要求的设计任务的规模和难度。
3. 要求每个学生根据自己的实际情况选择一个题目,实际动手完成这个题目,编写出程序代码,并调试通过。
4 每个同学选择一个题目,原则上不允许多名同学选择同一个题目。
多名同学选择同样题目时,独立完成,程序代码不可相同。
5. 要求每个学生完成课程设计后撰写《C语言程序课程设计报告》,可以按照任务书后面附带的课程设计报告模版的格式实际撰写。
6.要求每位学生必须在上机前做好充分准备,每次上机必须目的明确,必须事先编写好程序代码,然后在规定的时间和地点上机调试。
二、学生选题原则1 题目分四大类,根据学生自身情况选择其中一类题目,抽取其中一道题,作为课程设计选题,每个同学有两次选题机会,最终确定题目。
2 允许学生在给出可供选择题目之外自己选择题目,但要经指导教师同意。
三、课程设计实施过程1在课程设计开始时,公布此课程设计说明书。
2.教师根据需要安排合适的时间、地点进行答疑。
3.教师要认真检查学生完成的程序进展情况。
4 教师要指导学生撰写符合规范的《C程序课程设计报告书》。
C语言程序设计说明书
C语言程序设计说明书一、简介C语言是一种通用、高效的编程语言,被广泛用于系统软件和应用程序的开发。
本说明书旨在详细介绍C语言程序设计的基本原理和技巧,帮助读者快速掌握C语言程序设计的核心概念和操作方法。
二、开发环境1. 软件安装为了开始C语言程序设计,您需要安装相应的开发环境。
推荐使用以下软件进行安装:- 编译器:gcc或者MinGW- 集成开发环境(IDE):Code::Blocks、Dev-C++或者Visual Studio2. 配置环境变量安装完成后,需要配置环境变量以便系统能够正确找到编译器和相关的库文件。
请按照软件提供商的官方文档来进行正确的配置。
三、基本语法1. 数据类型C语言提供了多种数据类型,包括整型、浮点型、字符型等。
在声明变量时,需要指定其数据类型。
例如:int num = 10;char ch = 'A';2. 运算符C语言支持各种基本运算符,如加法、减法、乘法、除法等。
还有逻辑运算符、关系运算符等。
运算符的使用可以帮助实现各种计算和逻辑判断。
3. 控制流程C语言提供了多种控制流程语句,如条件语句(if-else)、循环语句(for、while、do-while)等。
通过这些语句可以实现程序的分支和循环执行,增加程序的灵活性和功能性。
四、函数和模块化编程1. 函数的定义和调用函数是C语言程序设计中的重要组成部分,可以实现代码的重用和模块化。
通过函数的定义和调用,可以将程序划分为多个模块,使程序结构清晰明了。
2. 函数参数和返回值函数可以带有参数和返回值。
参数可以是各种数据类型,用来向函数传递数据。
返回值则可以将函数的结果传递给调用者。
3. 递归函数C语言支持递归函数,即函数可以调用自身。
递归函数在解决某些问题时非常有用,但需要小心控制递归的深度,以避免堆栈溢出等问题。
五、数组和指针1. 数组的定义和使用数组是一种容器,可以存储多个相同类型的元素。
通过定义和使用数组,可以方便地处理大量数据和实现复杂的算法。
《C语言程序设计》大作业报告模板
《C语言程序设计》大作业报告1.目的掌握所学C语言程序设计的方法,熟悉所学语言的开发环境及调试过程,熟悉所学C语言中的数据类型,数据结构、语句结构、运算方法,巩固和加深对理论课中知识的理解,提高学生对所学知识的综合运用能力。
通过综合设计要求达到下列基本技能:1.培养查阅参考资料、手册的自学能力,通过独立思考深入钻研问题,学会自己分析、解决问题。
2.通过对所选题目方案分析比较,确立方案,编制与调试程序,初步掌握程序设计的方法,能熟练调试程序。
2.作业内容熟练掌握所学语言的基本知识:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、循环结构);大程序的功能分解方法(即函数的使用)等。
进一步掌握各种函数的应用等。
3.要求:1.要求每个同学都要认真对待,积极参与。
2.独立完成,不能抄袭。
3.课程设计结束时每位同学必须完成《大作业报告册》,其中包含设计源代码和设计思路。
4.不符合要求的程序、设计报告、抄袭的设计报告或源程序代码、在设计中完全未参与的将作不及格处理。
5.统一格式,A4打印,按时提交。
4.题目:设计要求:编写一个程序,求3x4数组的转置矩阵。
要求在main函数里面读数,在change函数里面把矩阵转置。
5.程序设计5.1 设计思路:1是先定义两个数组,一个是a[3][4],另一个是b[4][3]。
2是将随便输入的12个数输入到a[3][4]。
3是在change函数中将a[3][4]中值通过for循环的镶嵌将数组a[3][4]的值赋值给数组b[4][3]。
4在主函数中将数组b[4][3]通过for循环的嵌套输出。
5.2 代码# include <stdio.h>int change (int a[3][4],int b[4][3]);main(){ int a[3][4],b[4][3],i,j;printf("please input some 12 numbers:"); for(i=0;i<3;i++){printf("\n");for(j=0;j<=3;j++)scanf ("%d",&a[i][j]);}change (a,b);for(i=0;i<4;i++){for(j=0;j<3;j++)printf("%5d",b[i][j]);printf("\n");}}int change (int a[3][4],int b[4][3]){int m,n;for(m=0;m<3;m++)for(n=0;n<4;n++)b[n][m]=a[m][n]; retrun 0;}5.3 结果6.心得体会编写时注意for循环的嵌套,先理清逻辑关系在编写,在看例题后,需要多敲代码,才能越来越熟练。
c语言简单计算器的设计说明书
尼玛大学课程设计说明书学院、系:尼玛学院专业:尼玛工程学生姓名:李尼玛学号:1xxx438 设计题目:简单计算器的设计起迄日期: 2013年10月11日~2013年11月16日指导教师:王尼玛日期: 2013年11月16日1 设计目的●通过本项课程设计,可以培养独立思考、综合运用所学有关相应知识的能力,能更好的巩固C语言课程学习过的内容,掌握工程软件设计的基本方法,强化上机动手编程能力,闯过理论与实践相结合的难关!更加了解了c语言的好处和其可用性!●通过C语言课程设计,使学生了解高级程序设计语言的结构,掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级语言程序设计能力。
为后续各门计算机课程的学习和毕业设计打下坚实基础。
2 任务概述设计程序代码使其能够:接受一个字符串,然后由左至右对其进行判断,如若是没有括号的四则运算,则直接计算并输出其值;若是带有括号,则对其括号进行判断,划分,并得出运算优先级,进行先后计算,最终得出其值。
3 模块划分程序主要由void SplitK(char *str);、void SplitPrem(char *str);、void Combine(float f1,char Operate,float f2);、void StringBracket(char *str);四个函数模块组成。
分别实现:字符判断,优先级判断,运算实现等的功能。
4 主要函数说明及其N-S图5 程序运行数据及其结果图5.1 加法运算1+1=2图5.2 减法运算 1-1=0图5.3 组合运算1:(1+3)*2=8图5.4 组合运算2:(12-2)/3=3.336 课程设计心得这次“简单计算器制作”的课程设计不仅让我对C语言的熟悉程度上升到了另一个高度。
它是我在编程路途上的一次小的跳跃。
而且在处理非常规数据类型的运算的锻炼下,使我对编程语言有了一个新的认识。
当看着一个具有界面的计算器的模型成品出现在自己面前时,心中有着无限感慨,原来编程也不是非常遥不可及的,原来在编程的趣味性中能让我学到更多有意思的知识。
VC程序设计说明书---计算器
目录目录 (I)摘要 (II)1 设计目的 (1)2 设计要求 (2)3 设计内容 (3)3.1 系统分析 (3)3.2项目创建 (3)3.3界面设计 (5)3.4 代码实现 (7)3.5 方案分析总结 (16)总结与致谢 (19)参考文献 (20)附件 (21)摘要GPA英语全称是grade point average,意思就是平均分。
GPA的精确度往往达到小数点后1到2位,如:3.0,3.45。
GPA的标准计算方法是将大学成绩的加权平均数乘以4,再除以100,得出平均分。
美国的GPA满分是4分,即A=4,B=3,C=2, D=1。
一般来讲,百分制中的90分以上可视为4分,80分以上为3分,70分以上为2分,60分以上为1分,五分制中的5分为4分,4分为3分,3分为2分,2分为1分。
这次课程设计完成了一个简单的GPA计算器。
本次设计系统具有良好的界面,必要的交互信息和较好的健壮性,使我们能快捷简单地进行操作,即时准确地获得需要的计算的结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。
关键词:GPA;VC++6.0;MFC;控件;1 设计目的《VC程序设计++》是一门实践性、应用性很强的科目。
实践教学环节是必不可少的一个重要环节。
VC程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。
要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分析和判断;能编写出具有良好风格的程序;掌握VC程序设计的基本技能和面向对象的概念和方法;了解菜单、视图/文档、数据库等编程技术。
同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。
- 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月出版。