c语言设计一个简单的计算器程序

c语言设计一个简单的计算器程序,第1张

#include<stdio.h>//计算器

voidmenu()//自定义的菜单界面

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

printf("请输入你的选择\n");

printf("1.+\n");

printf("2.-\n");

printf("3.*\n");

printf("4./\n");

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

intmain()

inti=0;

intj=0;

intnum=0;//计算结果存放在nun

intselect=0;//选择的选项存放在select

do//do-while先执行再判断循环条件,即可实现重复计算功能

menu();//打印出菜单界面

scanf("%d",&select);//输入你的选项

printf("请输入计算值:");

scanf("%d%d",&i,&j);//输入要计算的数值

switch(select)

case1:

printf("%d+%d=%d\n",i,j,num=i+j);//实现加法功能

break;

case2:

printf("%d-%d=%d\n",i,j,num=i-j);//实现减法功能

break;

case3:

printf("%d*%d=%d\n",i,j,num=i*j);//实现乘法功能

break;

case4:

printf("%d-%d=%d\n",i,j,num=i/j);//实现除法功能

break;

default:

printf("输入有误重新选择");

break;

}while(select);

return0;

运行结果:

扩展资料:

return表示把程序流程从被调函数转向主调函数并把表达式的值带回主调函数,实现函数值的返回,返回时可附带一个返回值,由return后面的参数指定。

return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的状态码),主调函数可以通过返回值判断被调函数的执行情况。

/*本程序较简单

你如果有兴趣可以用栈实现进制转换

用运算符重载实现加减乘除取余等

自己编写算法实现三角函数计算等等

时间关系就写到这了*/

#include <iostream>

#include <cmath>

#include <stdlib.h>

using namespace std

#define pi 3.14159265

/************************************************************/

class Trigonometric

{//三角函数实现

private:

double number//要 *** 作的数

char ch2//选择控制

public:

void print1()//界面输出

void set1(double num)//传值给 *** 作函数

{ number=num}

}

void Trigonometric::print1()

{

cout<<"\t\t请输入一个弧度数:"<<endl

cin>>number

set1(number)

cout<<"\t\t 1.求sin(a)"<<endl

cout<<"\t\t 2.求cos(a)"<<endl

cout<<"\t\t 3.求tan(a)"<<endl

cout<<"\t\t 4.求全部!"<<endl

cin>>ch2

back3:

if(ch2=='1')

cout<<"sin("<<number<<")="<<sin(number)<<endl

else if(ch2=='2')

cout<<"cos("<<number<<")="<<cos(number)<<endl

else if(ch2=='3')

cout<<"tan("<<number<<")="<<tan(number)<<endl

else if(ch2=='4')

{

cout<<"sin("<<number<<")="<<sin(number)<<endl

cout<<"cos("<<number<<")="<<cos(number)<<endl

cout<<"tan("<<number<<")="<<tan(number)<<endl

}

else

{

cout<<"\t\t输入有误!请重新选择:"<<endl

cin>>ch2

goto back3

}

}

/************************************************************/

class HexBinDecOct

{//进制转换

private:

char str2[10]//存储二进制

char str8[10]//存储八进制

char str16[10]//存储十六进制

char ch2//选择控制

int number//要转换的数

public:

void print2()

void set2(double num)

{ number=num}

void conversionAll(int number)//全部转换

char sixteen(int number)//转换为十六进制

char eight(int number)//转换为八进制

char two(int number)//转换为二进制

}

void HexBinDecOct::print2()

{

cout<<"\t\t请输入一个十进制数:"<<endl

cin>>number

set2( number)

cout<<"\t\t ***********************************"<<endl

cout<<"\t\t * 1.十进制转换为二进制*"<<endl

cout<<"\t\t * 2.十进制转换为八进制*"<<endl

cout<<"\t\t * 3.十进制转换为十六进制 *"<<endl

cout<<"\t\t * 4.十进制转换为二、八、十六进制 *"<<endl

cout<<"\t\t *请选择:1-4 *"<<endl

cout<<"\t\t ***********************************"<<endl

cin>>ch2

back4:

if(ch2=='1')//1.十进制转换为二进制

cout<<"\t\t"<<number<<"\t转换为二进制:"<<two(number)<<endl

else if(ch2=='2')//十进制转换为八进制

cout<<"\t\t"<<number<<"\t转换为八进制:"<<eight(number)<<endl

else if(ch2=='3')//十进制转换为十六进制

cout<<"\t\t"<<number<<"\t转换为十六进制:"<<sixteen(number)<<endl

else if(ch2=='4')//十进制转换为二、八、十六进制

conversionAll(number)

else

{

cout<<"\t\t输入有误!请重新选择:"<<endl

cin>>ch2//重新选择

goto back4//重新转换

}

}

char HexBinDecOct::two(int number)

{

itoa(number, str2, 2)

return *str2

}

char HexBinDecOct::eight(int number)

{

itoa(number, str8, 8)

return *str8

}

char HexBinDecOct::sixteen(int number)

{

itoa(number, str16, 16)

return *str16

}

void HexBinDecOct::conversionAll(int number)

{

itoa(number, str2, 2)

itoa(number, str8, 8)

itoa(number, str16, 16)

cout<<"\t\t********************"<<endl

cout<<"\t\t* 1.转换为二进制 *"<<str2<<endl

cout<<"\t\t* 2.转换为八进制 *"<<str8<<endl

cout<<"\t\t* 3.转换为十六进制*"<<str16<<endl

cout<<"\t\t* 请选择:1-3 *"<<endl

cout<<"\t\t********************"<<endl

}

/************************************************************/

class Calculate

{//一般计算

private:

double sum//存储运算结果

char ch2//选择控制

double num1,num2//两个 *** 作数

public:

void set3(double num1,double num2)//赋值

{ num2=num2num1=num1}

void print3()

double add(double num1,double num2)//加

double subtract(double num1,double num2)//减

double multiplication(double num1,double num2)//乘

double divide(double num1,double num2)//除

double mod(double num1,double num2)//取余

}

void Calculate::print3()

{

cout<<"\t\t请输入两个数:"<<endl

cin>>num1>>num2

set3( num1,num2)

cout<<"\t\t*******************"<<endl

cout<<"\t\t* 1.加法运算 *"<<endl

cout<<"\t\t* 2.减法运算 *"<<endl

cout<<"\t\t* 3.乘法运算 *"<<endl

cout<<"\t\t* 4.除法运算 *"<<endl

cout<<"\t\t* 5.取余运算 *"<<endl

cout<<"\t\t*******************"<<endl

cout<<"\t\t请输入菜单项(1-6):"

cin>>ch2

back2:

if(ch2=='1')

{// 1.加法运算

cout<<"\t\t"<<num1<<'+'<<num2<<'='<<add(num1,num2)<<endl

}

else if(ch2=='2')

{// 2.减法运算

cout<<"\t\t"<<num1<<'-'<<num2<<'='<<subtract(num1,num2)<<endl

}

else if(ch2=='3')

{// 3.乘法运算

cout<<"\t\t"<<num1<<'*'<<num2<<'='<<multiplication(num1,num2)<<endl

}

else if(ch2=='4')

{// 4.除法运算

cout<<"\t\t"<<num1<<'/'<<num2<<'='<<divide(num1,num2)<<endl

}

else if(ch2=='5')

{// 5.取余运算

cout<<'\t\t'<<num1<<'%'<<num2<<'='<<mod(num1,num2)<<endl

}

else

{

cout<<"\t\t输入有误!请重新选择:"<<endl

cin>>ch2

goto back2

}

}

double Calculate::add(double num1,double num2)

{

return sum=num1+num2

}

double Calculate::subtract(double num1,double num2)

{

return sum=num1-num2

}

double Calculate::multiplication(double num1,double num2)

{

return sum=num1*num2

}

double Calculate::divide(double num1,double num2)

{

if(num2==0)

return sum=num1/num2

else return 0

}

double Calculate::mod(double num1,double num2)

{

if(num2==0)

return sum=(int)num1%(int)num2

else return 0

}

/************************************************************/

int main()

{

//int num1=0,num2=0,number=0

Trigonometric tri//三角函数对象

HexBinDecOct hex//进制转换对象

Calculate cal//一般计算对象

char ch1,ch3

back1:

{

do{

cout<<"\t\t*****主菜单**********"<<endl

cout<<"\t\t* *"<<endl

cout<<"\t\t* 1. 基本运算 *"<<endl

cout<<"\t\t* 2. 三角函数 *"<<endl

cout<<"\t\t* 3. 进制转换 *"<<endl

cout<<"\t\t* *"<<endl

cout<<"\t\t* 请选择:1---3 *"<<endl

cout<<"\t\t*********************"<<endl

cin>>ch1

if(ch1=='1')

{// 1.基本运算

cal.print3()

}

else if(ch1=='2')

{// 2.三角函数

tri.print1()

}

else if(ch1=='3')

{// 3.进制转换

hex.print2()

}

else

{

cout<<"输入有误!"<<endl

goto back1

}

cout<<"again?(y/n)"<<endl

cin>>ch3

}while(ch3=='y'||ch3=='Y')

}

return 0

}

除了点问题,现在改好了,希望是你想要的

求解数值计算问题选择程序设计语言时,一般不会选用(C

A.FORTRAN

B. C语言

C. VISUAL FOXPRO

D. MATLAB

程序设计语言主要用途用于科学计算,数据库语言主要用于存储数据和查询、更新和管理数据库用,选项ABD是程序设计语言,选项C是数据库语言,故选:C。

在选择程序设计语言时通常要考虑的因素有:项目的应用领域、软件开发的方法、软件执行的环境、算法和数据结构的复杂性以及软件开发人员的知识等。

科学计算、实时处理和人工智能领域中的问题算法较复杂,而数据处理、数据库应用、系统软件领域的问题,数据结构.比较复杂,因此选择语言时可考虑是否有完成复杂算法的能力,或者有构造复杂数据结构的能力。

基础语言开发工具,诸如Delphi、VC++、VB等语言都是一种面向对象的程序设计语言,虽然每种语言在对面向对象的支持不尽相同,但它们始终贯穿整个程序设计的思维方式的主线。

因此,要学好这些语言最开始不应该将重点放在某种语言的具体语法格式上,而应该注重学习面向对象的基本理论。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11253228.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存