2017-03-19 6 views
-1

私は、ユーザー入力に基づいて動作する簡単なプログラムを作成する必要があるプロジェクトで作業しています。私は基本的な電卓に行ってきましたが、if/else if文がうまく動作するのに問題があります。基本的には、ユーザーが「追加」を入力すると、「差し引き」、「除算」、「掛け算」のどちらが表示されているのか、 。私の電卓プログラムでif/elseを使用する場合

私はこれに新しいので、これは既に私のためにそれを行うのではなく、私のerorrsを指摘し、私はそれが偉大になることを学ぶことができるようにアドバイスするために時間をかけて時間がかかりました。

TIA。

#include <iostream> 
#include <cstdlib> 
#include <cmath> 
#include <iomanip> 

using namespace std; 

//user inputs what he needs help with/program output 
char Inpsum() 
{ 
cout << "Hello, my name is Eva! I am able to help you with basic Maths! How may I be of assistance today?" << endl; 
char inpsum[20]; 
cin >> inpsum; 
char output; 
if (inpsum == "Addition") 
{ 
    cout << "Great! I'll help you with addition!" << endl; 
} 
else if (inpsum == "Subtraction") 
{ 
    cout << "Great! I'll help you with subtraction!" << endl; 
} 
else if (inpsum == "Division") 
{ 
    cout << "Great! I'll help you with division!" << endl; 
} 

else if (inpsum == "Multiplication") 
{ 
    cout << "Great! I'll help you with multiplication!" << endl; 
} 


return 0; 

コードの残りの部分

//addition function 
void Add() { 
float add1, add2; 
cout << "Please enter two values you want added together" << endl; 
cin >> add1; 
cin >> add2; 
cout << "The answer is: " << (add1 + add2) << endl; 
} 

//subtraction function 
void Subt() { 
float subt1, subt2; 
cout << "Please enter two values you want subtracted" << endl; 
cin >> subt1; 
cin >> subt2; 
cout << "The answer is: " << (subt1 - subt2) << endl; 
} 

//division function 
void Div() 
{ 
    float div1, div2; 
    cout << "Please enter two values you want divided" << endl; 
    cin >> div1; 
    cin >> div2; 
    cout << "The answer is: " << (div1/div2) << endl; 
} 

//multiplication function 
void Mult() { 
float mult1, mult2; 
cout << "Please enter two values you want multiplacted" << endl; 
cin >> mult1; 
cin >> mult2; 
cout << "The answer is: " << (mult1 * mult2) << endl; 
} 



int main() 
{ 
Inpsum(); //user inputs what they want help with 
Add(); 
Subt(); 
Div(); 
Mult(); 

    return 0 ; 
} 
+1

ですそのコードのすべての行が間違っています。あなたはどこからこのことを学んでいますか? –

+0

インターウェブ。さまざまな結果のためにif/elseを追加しようとする前に働いていました。自分自身を修正しようとしましたが、ここにはいられませんでした – d7994

+2

インターネットリソースからC++を学ぶことはできません。あなたは良い教科書が必要です。 –

答えて

2

if(condition) 
{ 
    //code 
} 
else 
if(condition) 
{ 
    //code 
} 

よりのようなものです 、ここでは修正されたコード

#include <iostream> 
#include <cstdlib> 
#include <cmath> 
#include <iomanip> 
#include<string> 
using namespace std; 

//addition function 
float Add(float add1, float add2) 
{ 

    return (add1 + add2); 
} 
//subtraction function 
float Subt(float subt1, float subt2) { 

    return (subt1 - subt2); 
} 

//division function 
float Div(float div1, float div2) 
{ 

    return (div1/div2); 
} 
//multiplication function 
float Mult(float mult1, float mult2) 
{ 

    return (mult1 * mult2); 
} 
void input(float &num1, float &num2) 
{ 
    cout << "\nEnter First Number : "; 
    cin >> num1; 
    cout << "Enter Second Number : "; 
    cin >> num2; 
} 
//user inputs what he needs help with/program output 
void Inpsum() 
{ 
    cout << "Hello, my name is Eva! I am able to help you with basic Maths! How may I be of assistance today?" << endl; 
    float num1; 
    float num2; 
    string inpsum; 
    cin >> inpsum; 
    if (inpsum == "adding") 
    { //if user enters "adding" 
     cout << "Great!, I will help you with " << (inpsum) << endl; 
     input(num1, num2); 
     cout << "\nAnser Is " << Add(num1, num2); 
    }//then output = "...i will help with adding" 
    else if (inpsum == "subtraction") //otherwise, if user enters "subtraction" 
    { 
     cout << "Great!, I will help you with " << (inpsum) << endl; //then output = "...i will help with subtraction" 
     input(num1, num2); 
     cout << "\nAnser Is " << Subt(num1, num2); 
    } 
    else if (inpsum == "division") //if user enters "division" 
    { 

     cout << "Great!, I will help you with " << (inpsum) << endl; ////then output = "...i will help with division 
     input(num1, num2); 
     cout << "\nAnser Is " << Div(num1, num2); 
    } 
    else if (inpsum == "multiplication") //if user enters "muliplication" 
    { 
     cout << "Great, I will help you with " << (inpsum) << endl; ////then output = "...i will help with multiplication" 
     input(num1, num2); 
     cout << "\nAnser Is " << Mult(num1, num2); 
    } 
    else 
    { 
     cout << "Enter A Correct Mathematical Operation"; 
    } 
} 
    int main() 
    { 
     Inpsum(); //user inputs what they want help with 
     cout<<endl; 
     system("pause"); 
     return 0; 
    } 
+0

ありがとう、しかし、私はそれを実行することができません? http://prntscr.com/em0l2i - http://prntscr.com/em0lhy – d7994

+0

上記のスクリーンショット。 "指定されたファイルは見つかりませんでした"と解決されていない外部のエラーが2つあります。 – d7994

+0

コードを編集しましたが、このエラーのためにプロジェクト名を変更するか、このコードを新しいC++プロジェクトで試してください。ビジュアルスタジオでLNKエラーが発生しても、コードに問題はありません。 –

1

代わりcharアレイを使用するまず第一に、std::stringを使用します。

第2に、if-elseステートメントに構文エラーがあります。

if-else文の

基本的な構造は、このコードはすべて間違ってはあなたが正しく最初の約C++を学ぶ必要があるif-else statements in C++

+0

まあ、std :: string。 –

+0

私はOPを更新しましたが、それはまったく無視しています。 "すごい!私は____でお手伝いします"。 (私はprobbaly何かをもう一度やり直してしまった)私もstd :: stringを使用しようとすると勘違いのエラーがあった? – d7994

関連する問題