當前位置:編程學習大全網 - 編程語言 - 編程簡單的四則運算

編程簡單的四則運算

/*模擬計算器*/

# include & ltstdio.h & gt

# include & ltconio.h & gt

# include & ltstdlib.h & gt

#定義ADD '+'

#定義子元素'-'

#定義MUL '* '

#定義DIV '/'

#定義CLR '\b '

#define DEL 127

#將ac' y'//y定義為ac鍵。

#定義cls()系統(“cls”)

/*

Oper1:累加器,存儲計算結果;oper2:寄存器,存儲該輸入*/

double oper1,oper2

/*

Op:運算符編號:數字輸入緩沖器ptr:用於此計算的數字指針。

Idx:數字索引*/

char op,num[100],* ptr = num

int idx = 0;

// init:初始化累加器。

void初始化()

{

op = ADD

oper 1 = 0;

}

// calc執行四次運算,結果存儲在累加器中。

void calc()

{

開關

{

案例添加:

oper 1+= oper 2;

打破;

案例子案例:

oper 1-= oper 2;

打破;

案例MUL:

oper 1 * = oper 2;

打破;

案例部門:

如果(!操作2)

{

puts("錯誤!");

退出(1);

}

其他

oper 1/= oper 2;

}

}

//向數字緩存寫入壹個位。

void adddigit(字符dgt)

{

if(idx+1 & lt;= 98)

{

* ptr = dgt

idx++;

ptr++;

}

}

//從數字緩存中刪除壹個位

void deldigit()

{

如果(idx - 1)

{

ptr-;

idx-;

}

}

int main()

{

/*

Lastk:存儲最後的輸入類型0:數字1:運算符*/

int lastk = 0;

init();

while (1)

{

char key = getch();

開關(鑰匙)

{

案例編號:

案例CLR:

//退格

if (lastk == 0)

{

printf(" \ b \ b ");

deldigit();

}

打破;

案例AC:

oper 2 = 0;

init();

cls();

idx = 0,ptr = num

打破;

案例添加:

案例子案例:

案例MUL:

案例部門:

//運算符

if (lastk == 0)

{

adddigit(0);

oper 2 = atof(num);

calc();

cls();

printf("%f ",oper 1);

op = key

idx = 0,ptr = num

}

其他

op = key

lastk = 1;

打破;

//=符號

大小寫' \n ':

if (lastk == 0)

{

adddigit(0);

oper 2 = atof(num);

calc();

cls();

printf("%f ",oper 1);

idx = 0,ptr = num

lastk = 1;

}

打破;

默認值:

//輸入了壹個數字。

if(key & gt;= ' 0 ' & amp& ampkey & lt= '9' || key == ',')

{

if (lastk)

cls();

adddigit(鍵);

printf("%c ",key);

lastk = 0;

}

}

}

}g

  • 上一篇:k&r的c程序設計語言才是經典吧,怎麽有人說成c語言程序設計?還有其他書?
  • 下一篇:通達信選股公式中如何表示周期是月
  • copyright 2024編程學習大全網