2016-03-30 7 views
-1

関数を呼び出すメニュー駆動型プログラムで問題が発生しています。コンパイラは、私の関数内のすべてのcin、cout、my endlステートメントがエラーであることを伝えますプログラムを実行する。これを修正する方法に関するアドバイスはありますか?cinとcoutの関数での問題

編集

エラーのが私に与えてはCOUT年代、CIN年代、およびENDL年代は、すべての宣言されていない識別子であることを述べています。

#include <iostream> 
#include <cmath> 
using namespace std; 


    double ic(double inches, double centimeters) 
    { 
     cout << "Enter inches" << endl; 
     cin >> inches; 
     centimeters = 2.54*inches; 
     return centimeters; 
    } 

    double ci(double centimeters, double inches) 
    { 
     cout << "Enter centimeters" << endl; 
     cin >> centimeters; 
     inches = centimeters * .3937007874; 
     return inches; 
    } 

    double fim(int feet, double inches, double meters) 
    { 
     cout << "Enter feet " << endl; 
     cin >> feet; 
     cout << "Enter inches " << endl; 
     cin >> inches; 
     inches = feet * 12 + inches; 
     meters = inches/39.370; 
     return meters; 
    } 

    double mfi(double meters, int feet, double inches) 
    { 
     feet = 0; 
     inches = 0; 
     meters = 0; 
     cout << "Enter meters. " << endl; 
     cin >> meters; 
     inches = meters * 39.37; 
     while (inches > 12) 
     { 
      if (inches > 12) 
       inches = inches - 12; 
      feet++; 
     } 
     return feet, inches; 
    } 



int main() 
{ 
    double inches, meters, centimeters; 
    int exit = 1, feet; 
    char choice; 

    while (exit == 1) 
    { 
     cout << "Basic Conversion Calculator" << endl 
      << "a. Inches to centimeters" << endl 
      << "b. Centimeters to inches" << endl 
      << "c. Feet and inches to meters" << endl 
      << "d. Meters to feet and inches" << endl 
      << "e. Quit" << endl; 


     cout << "Insert Option:"; 
     cin >> choice; 



     switch (choice) 
     { 
     case 'a': case 'A': 
      centimeters = ic(inches, centimeters); 
      cout << centimeters << "cm" << endl; 
      break; 

     case 'b': case 'B': 
      inches = ci(centimeters, inches); 
      cout << inches << "in" << endl; 
      break; 

     case 'c': case 'C': 
      meters = fim(feet, inches, meters); 
      cout << meters << "m" << endl << endl; 
      break; 

     case 'd': case 'D': 
      feet = mfi(meters, feet, inches); 
      inches = mfi(meters, feet, inches); 
      cout << feet << " ft and " << inches << "in" << endl; 
      break; 

     case 'e': case 'E': 

      exit = 0; 
      break; 

     default: 
      cout << "Input Error!" << endl; 

     } 

    } 

    return 0; 
} 
+0

どのエラーが特にありますか?エラーメッセージをそのままご記入ください。 –

+0

あなたが意図したものが何であるか分かりませんが、あなたは何をしたいのか分からないでしょう( 'return inches;'と同じです)。 –

+0

私は関数を使うのがとても新しいです.2つの値を返すことはできますか?これは私のプログラミングクラスの割り当てです。この割り当てのためにすべてが関数内になければなりません。それで1関数から2つの値を返すのですか? –

答えて

-1

あなたのコードを私のビジュアルスタジオにコピーしました。完全に動作しています! :)

私はそれを働かせるために私が私に固定した別の問題があります: 変数 "double inches、meters、centimeters; int feet;"あなたがそれらに何か価値を与える前にスイッチで使用されます。関数内のユーザーから新しい値を取得しているので、それらをすべて0にすることができます。

希望しました! 幸運を祈る!

+0

これは知っておいていいですね、なぜ私のVSで問題を抱えているのか知りません。おそらくちょうど奇妙なバグです。お手伝いありがとう。 –