2016-12-03 8 views
-1

出力はここCプログラム私は取得していますどのように動作していない

choice1:convert the value of temperature in fahrenheit 
choice2:convert the value of temperature in celsius 
Enter the choice(1,2)1 
enter the value in fahrenheit98.6 

Process returned 0 (0x0) execution time : 7.313 s 
Press any key to continue. 

では、コードです:

#include <stdio.h> 

int main(void) { 
    //Program to convert fahrenheit and celsius temperature into viceversa 
    int choice; 
    float celsius,fahrenheit; 
    printf("choice1:convert the value of temperature in fahrenheit"); 
    printf("\n choice2:convert the value of temperature in celsius"); 
    printf("\nEnter the choice(1,2)"); 
    scanf("%d",&choice); 
    if(choice==1)//control statements 
    { 
     printf("enter the value in fahrenheit"); 
     scanf("%f",&fahrenheit); 
     celsius=(fahrenheit-32)/1.8?:printf("value in celsius is %f",celsius); 
    } 
    else if(choice==2) 
    { 
     printf("enter the value in celsius"); 
     scanf("%f",&celsius); 
     fahrenheit=(celsius*1.8)+32?:printf("value in fahrenheit is %f",fahrenheit);//ternary operator used here 
    } 
    else 
    { 
     printf("/n wrong option");} 
     return 0; 
    } 
    //ternary operator used here 

として三項演算子のロジックに問題があります我々は三元演算子のシンタックがcondition?:expression1:expression2;

+1

なぜ3値演算子を使用していますか?あなたは計算して印刷することができます。 – shamba

+0

"わかっています..." - しかし、**私たちはまた、いつ使うべきかを知っていなければなりません。そして、どのような_expression_(と "condition")が実際にC言語にあり、3項演算子で使用されるべきものと、条件文を使う方が良いとき。 _conditional演算子_は、 'if'の代用として使うべきではありません。 – Olaf

+0

しかし、それはすべての要件を持っているので、私はあなたがそれを使用する場所を知っている必要があり、私たちは代替方法を知っておく必要がありますように私はあなたに同意するので、私は知っている限り、間違っていません。その場合は、必要なときに使用していますが、私はちょうど論理の正確な構文エラーを知りたいのですが、ロジックの三項演算子を使用する場合は –

答えて

0

であることを知っていますあなたの条件演算子の使用は意味をなさない。 printfは、変換結果が0でない限り発生しません。さらに、celsiusまたはfahrenheitの変数はまだ設定されていません。なぜなら、3値の評価が終了していないためです。

結果の割り当てと印刷を別々のステートメントで行う必要があります。

celsius=(fahrenheit-32)/1.8; 
printf("value in celsius is %f",celsius); 

... 

fahrenheit=(celsius*1.8)+32; 
printf("value in fahrenheit is %f",fahrenheit); 
+0

はい、私はこれを試しても良い音だが、私はいくつかの可能性がありますこの種のプログラムのためにintensionalで三項演算子を使用していますが、私はそれを得ました。私は三項演算子の場合に構文が間違っていました。ありがとうございました! @dbush –

+0

@saidiwakar喜んで私は助けることができました。あなたが役に立つと思ったら、[この回答を受け入れる](http://stackoverflow.com/help/accepted-answer)を自由に感じてください。 – dbush

関連する問題