私は学校のためのプログラムを書こうとしており、どこから始めるべきかわかりません。アドバイザー/学生ツリーC++
私はポインタがあまりよくないので、少し難しいです。
コード今のところ(が更新):私は何をしたいか
#include<iostream>
#include<vector>
#include<string>
using namespace std;
struct node
{
string name;
node * parent;
vector<node*> children;
};
int main()
{
vector<node*> dataBase;
node *advisor, *student, *student2;
advisor = new node;
student = new node;
student2 = new node;
cin>>advisor->name>>student->name>>student2->name;
advisor->children.push_back(student);
advisor->children.push_back(student2);
dataBase.push_back(advisor);
for(int i=0; i<dataBase.size(); i++)
{
cout<<dataBase[i]->name<<endl;
for(int j=0; j<dataBase[i]->children.size(); j++)
{
cout<<dataBase[i]->children[i]->name<<endl;
}
}
system("pause");
return 0;
}
は、2名の入力を取得し、データベースに格納しています。
たとえば、最初の名前は常に顧問になり、2番目の名前は学生になります。
私は紙でそれを行う方法を知っています、コードではありません。だから私はいくつかの例/ヒントを探しています。
例:
入力:
ジョン・スティーブン
ジョン・バリー
ジョン・ハロルド
出力:
顧問:ジョン
学生:スティーブン、バリー、ハロルド
私は私のプログラムは、ジョンを取り、ベクトルデータベースの最初のエントリで彼を置きたいと、私はスティーブン・バリーとハロルドを取り、入れたいですそれらはすべてベクトルの子供の中にあります。
とにかく私はこれをツリーとして、そして顧問が親であり、学生が木の子であることを知っています。
ご協力いただきありがとうございます。ありがとうございました。
EDIT#1:今はもう1人のアドバイザーを増やすことができません。
、作品STLの 'push_back'機能 –