求用VC++编辑加减乘除的计算器程序,具体 *** 作步骤。(有图最好)

求用VC++编辑加减乘除的计算器程序,具体 *** 作步骤。(有图最好),第1张

我已经做过肆御笑了。具体思路:

      把输入的算式当作一个链表,可以单链表,也可以双链表,随你。链表中有拆枯两种结点,数字结点和运算符结点。

      数字结点:有一个double类型的数据域,有一个指针域,指向运算符结点。

     运算符结裂含点:有一个char类型的数据域,存放运算符,还有一个指针域,指向下一个 *** 作数。

链表结构大概是:   head——> *** 作数——>运算符——> *** 作数——>运算符——> *** 作数……………………——>运算符——> *** 作数——>NULL。

然后先计算乘除,后计算加减。

      乘除运算:从表头开始查找运算符结点中,数据域是*或者/的,找到之后把他两边的数字结点的数据进行计算,结果放到它前一个数字结点中。然后删除该运算符结点和其后的一个数字结点。

相当于把…… *** 作数——>运算符1——> *** 作数——>运算符2……变成了…… *** 作数——>运算符2……

      然后遍历链表执行上边的过程就可以完成乘除法了。

加减法与乘除同理

#include<stdio.h>

int main(){

int year,month

int a=0

printf("输入任意符合范围漏租搜(1月~12月)的月份和(1900年~9999年)年份,且两个值之间空返历格分隔。\n")

scanf("%d %d",&year,&month)

if(year%4==0&&型贺year%100!=0||year%400==0)

a=1//结果为1代表闰年

switch(month){

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

printf("year =%d month =%d days=31\n",year,month)

break

case 2:

if(a==1)

printf("year =%d month =%d days=29\n",year,month)

else

printf("year =%d month =%d days=28\n",year,month)

break

case 4:

case 6:

case 9:

case 11:

printf("year =%d month =%d days=30\n",year,month)

break

}

return 0

}

/*工资计手歼算程序*/

#include <stdio.h>

main()

{

float originWage /*应发工资*/

float realWage/*实发工资*/

float tax /*所缴税款*/

int i,hour,amount,money

printf("请选择工资种类:\n1.计时工资\n2.计件工资\n3.固定月工资\n")

scanf("%d",&i)

switch(i)

{

case 1:{

printf("请输入工作时间(单位:小时)\n")

scanf("%d",&hour)

printf("请输入单位时间的薪水(单位:元)郑启\n")

scanf("%f",&money)

originWage=money*hour

}

break

case 2:{

printf("请输入生产产品数量(单位:件)\n")

scanf("%d",&amount)

printf("请输入生产一件产品的薪水(单位:元)\n")

scanf("毕丛冲%f",&money)

originWage=money*amount

}

break

case 3: printf("请输入你的固定工资\n")

scanf("%f",&originWage)

break

default:printf("输入错误!\n")

return 0

}

if(originWage<0)

{

printf("数据错误!\n")

return 0

}

if(originWage<2000)

tax=0

else if(originWage>2000&&originWage<=2500)

tax=(originWage-2000)*0.05

else if(originWage>2500&&originWage<=4000)

tax=(originWage-2500)*0.1+500*0.05

else

tax=(originWage-4000)*0.15+1500*0.1+500*0.05

printf("应发工资: %f\n",originWage)

printf("所缴税款: %f\n",tax)

printf("实发工资: %f\n",originWage-tax)

return 0

}


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

原文地址: http://outofmemory.cn/yw/12363929.html

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

发表评论

登录后才能评论

评论列表(0条)

保存