晚起鸟儿 发表于 2015-5-14 17:28:18

请教条件运算问题

本帖最后由 晚起鸟儿 于 2015-8-15 22:14 编辑

printf("R角:\n");
scanf("%lf",&g);
//这里如果输入一个十进制数值,则进行运算,并这样打印计算结果
printf("X%.1lf\n",ff);
printf("X%.1lf W-%.1lf R%.1lf\n",f,o,o);
//如果输入一个字母“C”,则增加下面输入筐
printf("角度:\n");
scanf("%lf",&n);
printf("倒角下方外圆:\n");
scanf("%lf",&k);
//再次输入数值后,按另一种方法计算,按下面打印
printf("x%.2lf\n",qirx);
printf("G3 x%.2lf w-%.2lf R%.2lf\n",zonrx,zonrz,m);
printf("G1 x%.2lf z%.2lf\n",xierx,xierz);
//其实就是使系统识别输入的是“C”还是一个十进制数,并使它进行相应打印和运算,请教具体如何实现,可以举例,我能理解就行

晚起鸟儿 发表于 2015-5-15 10:43:58

菜鸟求高手讲解

laishiba 发表于 2015-5-15 14:51:01

if else 增加一个判断不就行了 或者定个字母的区间

晚起鸟儿 发表于 2015-5-16 13:29:31

laishiba 发表于 2015-5-15 14:51
if else 增加一个判断不就行了 或者定个字母的区间

实际操作起来似乎没那么简单呀!

风茄 发表于 2015-5-16 15:12:25

int n;
然后输入n;
if(n)//判断是否为数字
……
char c;
输入c;
if(c==‘C’)//判断是否为C
……

晚起鸟儿 发表于 2015-5-16 17:25:46

风茄 发表于 2015-5-16 15:12
int n;
然后输入n;
if(n)//判断是否为数字


还是不行呀,大神们帮改下代码可以么

#include<conio.h>
#include<math.h>
#include<stdio.h>
int main()
{
double a,b,c,d,e,f,g,pi,aa,bb,cc,ccc,dd,ddd,ee,ff,gg,qi,zon,o,w,v,q,qq,
qirx,qirz,zonrx,zonrz,xierx,xierz,k,l,m,n;

printf("内球面直径:\n");
scanf("%lf",&a);
printf("球心距:\n");
scanf("%lf",&b);
printf("长度:\n");
scanf("%lf",&c);
printf("大内孔:\n");
scanf("%lf",&d);
printf("小内孔:\n");
scanf("%lf",&e);
printf("大外圆:\n");
scanf("%lf",&f);
printf("R角:\n");
scanf("%lf||t",&g);//判断这里输入的是字母C还是十进制数
pi=3.1416;
dd=d+2;
cc=c+4;
ccc=c+1.1;
ee=e+0.35;
qi=b-38+48.72;
zon=b-38+20.5;
ddd=d-3;
ff=f-(g+1)*2;
o=g+1;
v=tan(pi/3.83);
w=(dd-ee)/2/v;
q=ccc-w-qi;

m=l+1.2;
qirx=k-l/tan((n+90)/2*pi/180)*2-2.4;
zonrx=k+(sin(n*pi/180))*(l/tan((n+90)/2*pi/180)*2)-(1.2-(cos(n*pi/180)*1.2))*2;
zonrz=cos(n*pi/180)*l/tan((n+90)/2*pi/180)-sin(n*pi/180)*1.2+1.2;
xierx=f;
xierz=c-((f-k)/2/tan(n*pi/180)+1.2);
if(b<=58)qq=58-b;
if(b>58)qq=78-b;

printf("O645\n");
printf("X%.1lf\n",dd);
printf("Z%.1lf\n",cc);
printf("Z%.1lf\n",ccc);
printf("W-%.2lf\n",w);
printf("Z%.2lf\n",qi);
printf("Z%.2lf\n",zon);
printf("Z%.1lf\n",cc);
printf("X%.1lf\n",ddd);
printf("Z%.1lf\n",c);

printf("X%.1lf\n",ff);        //如果输入是数字按这三行及有汉字的最后两行打印
printf("X%.1lf W-%.1lf R%.1lf\n",f,o,o);
printf("x%.2lf\n",qirx);

printf("角度:\n");        //如果输入的是字母C按这四行打印
scanf("%lf",&n);
printf("倒角下方外圆:\n");
scanf("%lf",&k);

printf("x%.2lf\n",qirx);        //输入的是字母C继续输入上面两个数据后打印出下面内容
printf("G3 x%.2lf w-%.2lf R%.2lf\n",zonrx,zonrz,m);   
printf("G1 x%.2lf z%.2lf\n",xierx,xierz);
printf("过渡=%.2lf\n",q);
printf("打表垫片=%.1lf\n",qq);
getch();
}

晚起鸟儿 发表于 2015-5-17 11:06:39

求高手帮忙修改,谢谢~

printf("R角:\n");
scanf("%lf"||'c',&g);//判断这里输入的是字母C还是十进制数

printf("X%.1lf\n",ff);      //如果输入是数字按这三行及有汉字的最后两行打印
printf("X%.1lf W-%.1lf R%.1lf\n",f,o,o);
printf("x%.2lf\n",qirx);

printf("角度:\n");      //如果输入的是字母C按这四行打印
scanf("%lf",&n);
printf("倒角下方外圆:\n");
scanf("%lf",&k);

printf("x%.2lf\n",qirx);      //输入的是字母C继续输入上面两个数据后打印出下面内容
printf("G3 x%.2lf w-%.2lf R%.2lf\n",zonrx,zonrz,m);   
printf("G1 x%.2lf z%.2lf\n",xierx,xierz);
printf("过渡=%.2lf\n",q);
printf("打表垫片=%.1lf\n",qq);
getch();

晚起鸟儿 发表于 2015-5-17 19:45:04



上面红框中虽然没报错,但我想改成判断输入的是否为浮点数
下面红框中判断输入的是否为字符‘C’报错了呀!
(程序按绿字执行)
http://img.baidu.com/img/iknow/qb/select-search.png

仰望天上的光 发表于 2015-5-17 20:19:32

你不知道
if() {
}else {
}
要加大括号么?

晚起鸟儿 发表于 2015-5-17 20:31:40

本帖最后由 晚起鸟儿 于 2015-5-17 20:34 编辑

仰望天上的光 发表于 2015-5-17 20:19
你不知道
if() {
}else {


书上有的没加,有的加了,我也没弄懂为什么,
所以试了加{},结果出现很多警告!
C:\Program Files\Microsoft Visual Studio\MyProjects\645条件计算\645条件计算.c(7) : warning C4101: 'bb' : unreferenced local variable
C:\Program Files\Microsoft Visual Studio\MyProjects\645条件计算\645条件计算.c(8) : warning C4101: 'qirz' : unreferenced local variable
C:\Program Files\Microsoft Visual Studio\MyProjects\645条件计算\645条件计算.c(7) : warning C4101: 'gg' : unreferenced local variable
C:\Program Files\Microsoft Visual Studio\MyProjects\645条件计算\645条件计算.c(7) : warning C4101: 'aa' : unreferenced local variable
C:\Program Files\Microsoft Visual Studio\MyProjects\645条件计算\645条件计算.c(38) : warning C4700: local variable 'l' used without having been initialized
C:\Program Files\Microsoft Visual Studio\MyProjects\645条件计算\645条件计算.c(39) : warning C4700: local variable 'n' used without having been initialized
C:\Program Files\Microsoft Visual Studio\MyProjects\645条件计算\645条件计算.c(39) : warning C4700: local variable 'k' used without having been initialized
Linking...645条件计算.exe - 0 error(s), 0 warning(s)
如果按这个运行出现很多计算错误



StartUp 发表于 2015-5-17 22:42:41

ThanksFORyourYUB

mrjliu 发表于 2015-5-20 22:25:57

感谢楼主分享

ryxcaixia 发表于 2015-5-21 10:56:47


感谢楼主分享

mrjliu 发表于 2015-5-21 11:06:52

学习学习,支持支持

mrjliu 发表于 2015-5-21 11:07:27

学习学习,支持支持

mrjliu 发表于 2015-5-21 11:18:19

学习学习,支持支持

mrjliu 发表于 2015-5-21 11:23:48

学习学习,支持支持

mrjliu 发表于 2015-5-22 21:26:24

看一看走过路过不要错过

woshidamowang24 发表于 2015-8-4 10:49:42

路过看看大神的解法 学习一下

yjip267 发表于 2015-8-4 13:14:24

itoa来判断是不是输入的C还是数字。
页: [1] 2
查看完整版本: 请教条件运算问题