做了个计算器,大家一起研究研究?
附上生成的文件和源码
程序代码:#include <stdio.h>
#include <stdlib.h>
void ji(void); //普通计算器
void gong(void); //工资计算器
void zujiemian(void); //主界面
void menu(void); //菜单
int main(void)
{
int ch;
zujiemian();
printf("\n1- 普通计算器\n2- 工资计算器\n3- 退出程序\n please choose:\n________________________________________________________________________________\n");
scanf("%d",&ch);
system("cls");
if (ch==1)
ji();
else if(ch==2)
gong();
else if(ch>3||ch<1)
{
printf("\n\n\n\n\t\a\a无效!\n");
_sleep(200);
system("cls");
printf("\n\n\t");
_sleep(200);
printf("\n\n\t无效!\n");
_sleep(200);
system("cls");
printf("\n\n\t");
_sleep(200);
printf("\n\n\t无效!\n");
_sleep(200);
system("cls");
printf("\n\n\n\n\t请重新选择\n");
_sleep(2500);
system("cls");
main();
}
}
void zujiemian(void)
{
int se;
char *s,*p,*t;
p=("\n\t\t\t\t 欢 迎 使 用!\n________________________________________________________________________________");
while(*p!='\0')
{
putchar(*p);
p++;
_sleep(30);
}
}
void ji(void)
{
int n;
float num1,num2,num3;
printf("您正在使用 - 普通计算器(输入“1#1”,可调出菜单)\n\n");
for(n=0;1;n++)
{
float num1,num2,num3;
char c;
scanf("%f%c%f",&num1,&c,&num2);
switch(c)
{
case'+':num3=num1+num2;
printf("%f%c%f=%f\n\n",num1,c,num2,num3);
break;
case'-':num3=num1-num2;
printf("%f%c%f=%f\n\n",num1,c,num2,num3);
break;
case'#':menu();break;
case'*':num3=num1*num2;
printf("%f%c%f=%f\n\n",num1,c,num2,num3);
case'/':
{
if(num2==0)
printf("除数不能为0\n\n");
else
{
num3=num1/num2;
printf("%f%c%f=%f\n\n",num1,c,num2,num3);
}
}
break;
}
}
}
void gong(void)
{
int n;
float gongshi,dixinjinge,jiabanshijian,jiabanjinge,gongzi;
printf("您正在使用 - 工资计算器(工时输“0”,可调出菜单)\n\n");
printf("请设置底薪(元/每小时) ");
scanf("%f",&dixinjinge);
printf("底薪设置为每小时%.2f元\n\n",dixinjinge);
printf("请设置加班费(元/每小时) ");
scanf("%f",&jiabanjinge);
printf("加班费设置为每小时%.2f元\n\n",jiabanjinge);
for(n=0;1;n++)
{
printf("您正在使用 - 工资计算器(工时输“0”,可调出菜单)\n\n");
printf(" 请输入工时(小时) ");
scanf("%f",&gongshi);
if(gongshi>208)
{
jiabanshijian=gongshi-208;
gongzi=208*dixinjinge+jiabanshijian*jiabanjinge+50;
printf(" %.2f元(包括全勤奖)\n 补助和扣除部分,请另行计算\n________________________________________________________________________________\n",gongzi);
}
else if(gongshi==0)
{
menu();
}
else if(gongshi<208)
{
gongzi=dixinjinge*gongshi+50;
printf(" %.2f元(包括全勤奖)\n 补助和扣除部分,请另行计算\n________________________________________________________________________________\n",gongzi);
}
}
}
void menu(void)
{
int hui;
printf("\n\n 1- 返回主界面\n 2- 退出程序\n 3- 继续使用\nplease choose:\n");
scanf("%d",&hui);
if (hui==1)
{
system("cls");
main();
}
else if(hui==2)
{
exit (0);
}
}
能力有限,各位别见笑,我这只是对学过的东西做个综合练习.哪里没做好,欢迎大家指出!!谢谢










08年也写过,跟LZ的功能一样