回 帖 发 新 帖 刷新版面

主题:求一程序。。。。。设计一个简单计算软件

实现功能:
1)具备整型数据、浮点型数据的算术(加、减、乘、除)运算功能。依次输入第一个运算数、运算符(+,-,*,/)、第二个运算数,然后输出结果。按‘C’清屏,按‘R’返回 菜单。
例如:输入:2
+
5
输出:7
2)实现单运算符表达式计算的功能。输入的操作数可以包含整数或浮点数。输入表达式如下:
例如:输入:2+5
输出:7

回复列表 (共3个回复)

沙发


帮帮忙啊

板凳

有偿么? 出钱还可以考虑

3 楼

自己改改添加一个清屏程序吧,用clrscr()即可
/***************************************************
     date:  2008/11/16
 function:  simple computer
***************************************************/
#include<stdio.h>
#include<conio.h>
void int_com()
{
    int number1,number2,result;
    char sign;
    printf("请输入第一个操作数:\n");
    scanf("%d",&number1);
    printf("\n");
    printf("请输入运算符号:\n");
    scanf("%s",&sign);
    printf("\n");
    printf("请输入第二个操作数:\n");
    scanf("%d",&number2);
    printf("\n");

    switch(sign)
    {
    case '+':result=number1+number2;printf("运算的结果是:%d\n",result);break;
    case '-':result=number1-number2;printf("运算的结果是:%d\n",result);break;
    case '*':result=number1*number2;printf("运算的结果是:%d\n",result);break;
    case '/':if(number2==0)
                 printf("除数不能为零\n");
             else 
             result=number1/number2;printf("运算的结果是:%f\n",result);break;
    default:printf("运算符输入错误\n");break;
    }
    printf("请按任意键继续计算\n");
    getch();
    printf("\n");
}

void float_com()
{
    float number1,number2,result;
    char sign;
    printf("请输入第一个操作数:\n");
    scanf("%f",&number1);
    printf("\n");
    printf("请输入运算符号:\n");
    scanf("%s",&sign);
    printf("\n");
    printf("请输入第二个操作数:\n");
    scanf("%f",&number2);
    printf("\n");

    switch(sign)
    {
    case '+':result=number1+number2;printf("运算的结果是:%f\n",result);break;
    case '-':result=number1-number2;printf("运算的结果是:%f\n",result);break;
    case '*':result=number1*number2;printf("运算的结果是:%f\n",result);break;
    case '/':if(number2==0)
                 printf("除数不能为零\n");
             else 
             result=number1/number2;printf("运算的结果是:%f\n",result);break;
    default:printf("运算符输入错误\n");break;
    }
    printf("请按任意键继续计算\n");
    getch();
    printf("\n");
}

void int_expr()
{
    int number1,number2,result;
    char sign;
    printf("请输入运算表达式:\n");
    scanf("%d%c%d",&number1,&sign,&number2);
    printf("\n");

    switch(sign)
    {
    case '+':result=number1+number2;printf("运算的结果是:%d\n",result);break;
    case '-':result=number1-number2;printf("运算的结果是:%d\n",result);break;
    case '*':result=number1*number2;printf("运算的结果是:%d\n",result);break;
    case '/':if(number2==0)
                 printf("除数不能为零\n");
             else 
             result=number1/number2;printf("运算的结果是:%d\n",result);break;
    default:printf("运算符输入错误\n");break;
    }
    printf("请按任意键继续计算\n");
    getch();
    printf("\n");
}

void float_expr()
{
    float number1,number2,result;
    char sign;
    printf("请输入运算表达式:\n");
    scanf("%f%c%f",&number1,&sign,&number2);
    printf("\n");

    switch(sign)
    {
    case '+':result=number1+number2;printf("运算的结果是:%f\n",result);break;
    case '-':result=number1-number2;printf("运算的结果是:%f\n",result);break;
    case '*':result=number1*number2;printf("运算的结果是:%f\n",result);break;
    case '/':if(number2==0)
                 printf("除数不能为零\n");
             else 
             result=number1/number2;printf("运算的结果是:%f\n",result);break;
    default:printf("运算符输入错误\n");break;
    }
    printf("请按任意键继续计算\n");
    getch();
    printf("\n");
}

void main()
{
    printf("************欢迎使用本计算器***********\n");
    printf("\n");
    int select;
    char esc;
start:
    printf("输入操作选择 1:整型计算 2:浮点计算 3:整形表达式计算 4:浮点表达式计算 5:退出\n");
    scanf("%d",&select);
    switch(select)
    {
    case 1:printf("整型数计算\n\n");int_com();goto start;break;
    case 2:printf("浮点数计算\n\n");float_com();goto start;break;
    case 3:printf("整形表达式计算\n\n");int_expr();goto start;break;
    case 4:printf("浮点表达式计算\n\n");float_expr();goto start;break;
    case 5:printf("是否退出本计算器 y?");scanf("%s",&esc);if(esc=='y') break;
                                                               else {goto start;}
    default:printf("错误的输入:请重新选择计算类型\n\n");goto start;break;
    }
}
/*调试问题:如何使用gets()函数,好象是只对字符串或者字符数组起作用来着*/
/*程序存在一个小bug*/
/*实现功能:
1 具备整型数据、浮点型数据的算术(加、减、乘、除)运算功能。依次输入第一个运算数、运算符(+,-,*,/)、第二个运算数,然后输出结果。按‘C’清屏,按‘R’返回 菜单。
例如:输入:2
+
5
输出:7
2 实现单运算符表达式计算的功能。输入的操作数可以包含整数或浮点数。输入表达式如下:
例如:输入:2+5
输出:7*/

我来回复

您尚未登录,请登录后再回复。点此登录或注册