急!!!求高手帮忙。

zgf447426767 2010-03-25 08:55:08
我自己写的一小段实现简单计算功能的带码,用double型的变量时结果老是不对,改用int型变量时没问题(我用的是WIN-TC)。求高手帮忙看看(代码如下)。





#include<stdio.h>
#include<conio.h>
void xian_shi_hs(void); /*Sheng ming han shu*/
void mo_shi_1_hs(void); /*Sheng ming han shu*/
void mo_shi_2_hs(void); /*Sheng ming han shu*/
void qing_ping_hs(void); /*Sheng ming han shu*/
void tui_chu_hs(void); /*Sheng ming han shu*/
void tui_chu_hs1(void); /*Sheng ming han shu*/
void qing_ping_hs1();
static double a1,a2;
int i,j,k; /*i de zhi pan duan shi fou tui chu ji suan qi*/
char o,n; /*j de zhi pan duan shi fou hui dao zui chu jie mian*/
void main() /*k de zhi pan duan shi fou tui chu mo shi
zhong de xun huan */
{for(j=0;j<1;)
{xian_shi_hs();
scanf("%c",&o);
switch(o)
{case 'a':mo_shi_1_hs();break;
case 's':mo_shi_2_hs();break;
case 'x':qing_ping_hs();break;
case 'c':tui_chu_hs();break;
}
}
if(i==1)
exit(0);
getch();
}

void xian_shi_hs(void) /**/
{
gotoxy(16,1);
printf("Huan ying shi yong ji suan qi.");
gotoxy(16,2);
printf(" | a.Jing ru mo shi (1). q:+ w:- ");
gotoxy(16,3);
printf(" | s.Jing ru mo shi (2). e:* r:/ ");
gotoxy(16,4);
printf(" | c.Tui chu ji suan qi");
gotoxy(16,5);
printf(" | x.Qing ping. ");
gotoxy(16,6);
printf(" | z.Tui chu mo shi. ");
gotoxy(16,7);
printf(" --------------------------------");
gotoxy(16,8);
printf(" Qing shu ru ning de xuan zhe:");
}
void mo_shi_1_hs() /*Ding yi mo shi 1 han shu*/
{ int b,c,v; /*b de zhi pan duan shi bu shi di yi ci shu ru*/
static double m;/*c de zhi pan shi fou tui chu han shu*/
for(b=0;b<1;b++) /*v de zhi pan duan zai chu fa
un suan shi shu shi fou wei 0*/
{ gotoxy(16,12);
printf(" Qing shu ru shu:");
scanf("%lf",&a1);
}
gotoxy(16,13);
printf(" Qing shu ru shu yun suan fu:");
for(k=0;k<1;) /*k de zhi pan duan shi fou tui chu mo shi
zhong de xun huan */
{for(c=0;c!=1;)
{scanf("%c",&n);
switch(n)
{ case 'z':c=1;tui_chu_hs1();break;
case 'q':c=1;
gotoxy(16,14);
printf(" Qing shu ru shu:");
scanf("%f",&a2);
m=a1+a2;
gotoxy(16,10);
printf("\t\t\t\t\t");
gotoxy(16,10);
printf(" Jie guo shi:%7.5f",m);
a1=m;
qing_ping_hs1();
break;
case 'w':c=1;
gotoxy(16,14);
printf(" Qing shu ru shu:");
scanf("%f",&a2);
m=a1-a2;
gotoxy(16,10);
printf("\t\t\t\t\t");
gotoxy(16,10);
printf(" Jie guo shi:%7.5f",m);
a1=m;
qing_ping_hs1();
break;
case 'e':c=1;
gotoxy(16,14);
printf(" Qing shu ru shu:");
scanf("%f",&a2);
m=a1*a2;
gotoxy(16,10);
printf("\t\t\t\t\t");
gotoxy(16,10);
printf(" Jie guo shi:%7.5f",m);
a1=m;
qing_ping_hs1();
break;
case 'r':for(v=0;v!=1;)
{ gotoxy(16,14);
printf(" Qing shu ru shu:");
scanf("%f",&a2);
if(a2==0)
{v=0;
gotoxy(16,15);
printf("Shu ru bu zheng que!");
}
else
{m=a1/a2;
gotoxy(16,10);
printf("\t\t\t\t\t");
gotoxy(16,10);
printf(" Jie guo shi:%7.5f",m);
a1=m;
}
}
c=1;
qing_ping_hs1();
break;
}
}
qing_ping_hs1();
}
}
void mo_shi_2_hs() /*Ding yi mo shi 2 han shu*/
{ int b,c,v;
static long double m;
for(k=0;k<1;)
{for(c=0;c!=1;)
{
for(b=0;b<1;b++)
{ gotoxy(16,12);
printf(" Qing shu ru shu:");
scanf("%f%c%f",&a1,&n,&a2);
}
if(b>1)
{gotoxy(16,13);
printf(" Qing shu ru shu:");
scanf("%c%f",&n,&a2);
}
b+=1;
switch(n)
{ case 'z':c=1;tui_chu_hs1();break;
case 'q':
m=a1+a2;
gotoxy(16,10);
printf("\t\t\t\t\t");
gotoxy(16,10);
printf(" Jie guo shi:%7.5f",m);
a1=m;
qing_ping_hs1();
c=1;
break;
case 'w':
m=a1-a2;
gotoxy(16,10);
printf("\t\t\t\t\t");
gotoxy(16,10);
printf(" Jie guo shi:%7.5f",m);
a1=m;
qing_ping_hs1();
c=1;
break;
case 'e':
m=a1*a2;
gotoxy(16,10);
printf("\t\t\t\t\t");
gotoxy(16,10);
printf(" Jie guo shi:%7.5f",m);
a1=m;
qing_ping_hs1();
c=1;
break;
case 'r':for(v=0;v!=1;)
{
if(a2==0)
{v=0;
gotoxy(16,15);
printf("Shu ru bu zheng que!");
printf(" Qing zai shu rudi er ge shu:");
}
else
{m=a1/a2;
gotoxy(16,10);
printf("\t\t\t\t\t");
gotoxy(16,10);
printf(" Jie guo shi:%7.5f",m);
a1=m;
}
}
c=1;
qing_ping_hs1();
break;
}
}
qing_ping_hs1();
}

}

void tui_chu_hs() /*Ding yi zhu cheng xu zhong tui chu han shu*/
{printf("\t\tXie xie shi yong!");
printf("\n\t\tAn ren yi jian tui chu....");
getch();
i=1; /*i de zhi pan duan shi fou tui chu ji suan qi*/
j=1; /*j de zhi pan duan shi fou hui dao zui chu jie mian*/
}
void qing_ping_hs() /*Ding yi zhu han shu zhong qing ping han shu*/
{clrscr();
j=0; /*j de zhi pan duan shi fou hui dao zui chu jie mian*/
a1=0; /*Jing a1,a2 de zhi gui 0*/
a2=0;
}
void tui_chu_hs1() /*Ding yi mo shi zhong tui chu han shu*/
{ k=1; /*k de zhi pan duan shi fou tui chu mo shi
zhong de xun huan */
}
void qing_ping_hs1()/*Ding yi mo shi nei qing ping han shu*/
{ gotoxy(0,11);
printf("\t\t\t\t\t");
gotoxy(0,12);
printf("\t\t\t\t\t");
gotoxy(0,13);
printf("\t\t\t\t\t");
gotoxy(0,14);
printf("\t\t\t\t\t");
gotoxy(0,15);
printf("\t\t\t\t\t");
gotoxy(0,16);
printf("\t\t\t\t\t");
}








...全文
69 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zgf447426767 2010-03-25
  • 打赏
  • 举报
回复
用Turboc2.0运行也出不来想要的结果。
zgf447426767 2010-03-25
  • 打赏
  • 举报
回复
谢谢各位的建议。
我的英语实在太菜,用拼音是因为我在WIN-TC下写,要求在Turboc2.0下运行的。
用WIN-TC写,省点气。
柯本 2010-03-25
  • 打赏
  • 举报
回复
LZ能写出这样的程序实在不易,但看的太累
建议
1.能否将拼音改成中文或英文(win-tc不支持中文?没用过,那就改英文吧)
2.能否将程序书写格式化?
3.又见TC,能否换个编译器?

selooloo 2010-03-25
  • 打赏
  • 举报
回复
换个编译器吧,TC有浮点数BUG
xiuxianshen 2010-03-25
  • 打赏
  • 举报
回复
杯具了,这代码吓人。。。没坚持看完,帮顶

69,377

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧