简单C计算器程序如何用=输出结果

非计算机系大二学生,为完成c程序设计的课程设计作业
写好了一个简单的计算器程序,可以四则运算,如何使用键盘上的“=”输出结果呢?
就是类似于运行时输入“6x8”,按下回车键可以输出“6×8=48”,如何实现输入“6x8=”的瞬间换行输出结果呢?

你题目的解答代码如下:

#include <stdio.h>
#include <conio.h>
int main()
{
    char ch;
    char s[100];
    int i=0;
    float a,b;
    char op;
    while((ch=getch()) != '=')
    {
        printf("%c", ch);
        s[i++] = ch;
    }
    s[i] = '\0';
    printf("%c", ch);
    sscanf(s,"%f%1s%f", &a,&op,&b);
    switch (op)
    {
        case '+':
            printf("%g\n",a+b);
            break;
        case '-':
            printf("%g\n",a-b);
            break;
        case '*':
            printf("%g\n",a*b);
            break;
        case '/':
            if (b==0)
                printf("\nDivision by zero!\n");
            else
                printf("%g\n",a/b);
            break;
        default:
            printf("\nUnknown operator!\n");
            break;
    }
    return 0;
}

如有帮助,望采纳!谢谢!

输入时用getch检测输入的字符,否则只有回车时才会处理。大概这样子:

#include <stdio.h>
#include <conio.h>
int main()
{
    char ch;
    char c[3];
    int i=0;
    while((ch = getch()) != '=')
    {
        putch(ch);
        c[i++] = ch;
    }
    putch(ch);
    if(i==3)
    {
        printf("%d",(c[0]-'0')*(c[2]-'0'));
    }
    return 0;
}


#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int add(int num1, int num2)
{
    return num1 + num2;
}
int sub(int num1, int num2)
{
    return num1 - num2;
}
int mul(int num1, int num2)
{
    return num1*num2;
}
int div(int num1, int num2)
{
    return num1 / num2;
}
enum  OP  //不给赋值的之后,枚举自动从0开始加
{  
   EXIT, //0
   Add,  //1
   Sub,  //2
   Mul,  //3
   Div,   //4
   Exit   //5
 };  
void Menu()//菜单列表
{
    printf("    ***1 ADD *** \n");
    printf("    ***2 Sub *** \n");
    printf("    ***3 Mul *** \n");
    printf("    ***4 Div *** \n");
    printf("    ***0 exit*** \n");
}
int main()
{
    int num1 = 0;
    int num2 = 0;
    int input = 1;
    while (input)
    {
        Menu();
        printf("请选择");
        scanf("%d", &input);
        switch (input)
        {
        case Add:
        {
            printf("请给两个操作数:");
            scanf("%d%d", &num1, &num2);
            printf("%d\n", add(num1, num2));
            break;  
        }
        case Sub:
        {
            printf("请给两个操作数:");
            scanf("%d%d", &num1, &num2);
            printf("%d\n", sub(num1, num2));
            break;
        }
        case Mul:
        {
            printf("请给两个操作数:");
            scanf("%d%d", &num1, &num2);
            printf("%d\n", mul(num1, num2));
            break; 
        }
        case Div:
        {
            printf("请给两个操作数:");
            scanf("%d%d", &num1, &num2);
            printf("%d\n", div(num1, num2));
            break; 
        }
        case Exit:       
            break;
        default:
            printf("选择不规范\n");
        }
    }   
    system("pause");
    return 0;
}