はじめまして。
プログラミングを、はじめて間もない初心者です。
行き詰ってしまった為、質問させていただきます。
c++で、配列内の任意のキー?でソートをしたいのですが、
上手くいきません。
いろいろなwebサイトを参考にし実装しましたが、ダメでしたので
ご教授ください。
以下、ソースコードになります。
// test02.cpp : コンソール アプリケーションのエントリ ポイントを定義します。
//
#include<iostream>
#include<string>
using namespace std;
class Human{
private:
string name;
double height;
double weight;
int age;
int sex;
public:
//メンバ変数に値をセット
void set(string a, double b, double c, int d, int e){
this->name = a;
this->height = b;
this->weight = c;
this->age = d;
this->sex = e;
}
//メンバ変数から値をゲット
string getName(){return name;}
double getHeight(){ return height; }
int getAge(){ return age;}
//メンバ変数の値を出力する関数
void put_data(){
cout <<this->name << "" << this->height << "" << this->weight << "" << this->age << "" << this->sex << endl;
}
};
int main(){
int head_count =0; //管理人数を入力
int i; //ループ用
cout << "管理する人数を入力";
cin >> head_count;
//入力した数値分のオブジェクトを生成
Human *Data = new Human[head_count];
//入力した値を格納
string input_name;
double input_height;
double input_weight;
int input_age;
int input_sex;
for (i = 0; i < head_count;i++){
cout << "No"<< i + 1 <<" 名前を入力"<<endl;
cin >>input_name;
//ここで入力チェック
cout << "No" << i + 1 << " 身長を入力" << endl;
cin >> input_height;
//ここで入力チェック
cout << "No" << i + 1 << " 体重を入力" << endl;
cin >> input_weight;
//ここで入力チェック
cout << "No" << i + 1 << " 年齢を入力" << endl;
cin >> input_age;
//ここで入力チェック
cout << "No" << i + 1 << " 性別を入力 1->男 9=>女" << endl;
cin >> input_sex;
//ここで入力チェック
//オブジェクトに値を格納する関数を呼び出す
Data[i].set(input_name, input_height, input_weight, input_age, input_sex);
}
//入力結果を出力
//for (i = 0; i < head_count;i++){
//Data[i].put_data();
//}
//sort_code
//ソートしたい値を入力
//cout <<"名前=> 1\n 身長=>2\n 体重=>3\n 年齢=>4 "<<endl;
//cin >>sort_code;
//入力した人数分
int *number = new int[head_count];
memset(number,0,sizeof(number));
int j =0;
int temp =0;
//--ここからの処理がわかりません----------------------------------------------------------------------------
for (i = 0; i <= head_count - 1;i++){
for (j = head_count - 1; j > i; j--){
if (Data[j].getAge() < Data[j - 1].getAge()){
}
}
}
delete Data;
delete number;
return 0;
}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/11 11:51