2016-05-18 8 views
-7

私は先生から教えてくれたこの問題を抱えています:5人の従業員の名前と給与を2つの配列に入力し、最高の従業員の名前を出力します給料。私はあなたのためにあなたの割り当てを行うつもりはありません簡単な方法で配列に文字列を追加する方法 - C++

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


int main() 
{ 
int salary, x, y; 
string name; 
int Arr1[5]; 
int Arr2[5]; 
x = 0; 
y = 0; 
for (int i = 0; i <= 5; i++) { 
    cin >> Arr1[name]; 
    cin >> Arr2[x]; 
    if (x > y) { 
     x = y; 
    } 
} 
cout << "Employee" << Arr1[name]<< "has the biggest salary of:" << y << endl; 
return 0; 
} 
+3

おそらく 'int Arr1 [5];'は文字列Arr1 [5];でなければなりません –

+0

'std :: string'で配列をインデックスすることはできません。あなたが実際に必要とするのは 'std :: map 'です。 –

+0

@πάνταῥεῖ - 2つの配列は正常に動作します。特に、割り当てに必要なものですから。 –

答えて

3

:どのように入力する配列に文字列や他のアレイにリンク

イムわからない、これは私が書いたものです。しかし、私はあなたのエラーを修正し、あなたのソリューションにアプローチするのに役立ちます:あなたが考える必要がある

#include <iostream> 
#include <string> 

int main() 
{ 
    std::string Names[5]; // don't use "namespace std", use std:: instead 
    int Salaries[5]; // use proper variable names 

    for (int i = 0; i < 5; i++) 
    { 
     std::cin >> Names[i] >> Salaries[i]; 
    } 

    /* 
    Breaking down the steps: 
    1 - now you have the data, structured and ready 
     Names and Salaries // Done 
    2 - start from here // Next do this 
     find max salary // Search on how to find the max value in an array and save its index 
     .... 
    3 - find the employee // later 
     // use the saved index and get the value from this array 
     .... 
    4 - display or save or what is required // later, std::cout 
    */ 

    return 0; 
} 

何:Salaries[]で最大値を見つけ、あなたは何を見つけるのINDEXを保存

、その後、Names[]に行きますNames[]の値がINDEXであるものを取得します。

+0

stdを使わずに修正しました。明らかに配列に文字列を追加できます。どうやら誰も私にそれの簡単なバージョンをくれたので、努力してくれてありがとう。 – Martyn

+0

@marそれは簡単です。私たちはあなたのためにそれを壊しました。各ステップごとに、インターネットとStackOverflowを参照してください。あなたは1時間以内にあなた自身でそれを終えるでしょう。あなたは誰かが一度にあなたにすべてを与えることを期待するべきではありません。 –

+0

私は検索してきましたが、あまりにも進んでいて、これが初めてのプログラミングであることに気づいたので、今後の決勝戦ではまだ高度なコードを使用するつもりはありません(まだ高校で)。それを分解して明確にしてくれてありがとう! – Martyn

関連する問題