質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

解決済

C++ vecterを用いての構造体形成

inle_rah
inle_rah

総合スコア4

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

3回答

0リアクション

1クリップ

476閲覧

投稿2022/08/22 15:43

前提

C++を独学している初学者です。
現在、タイトル、著者名、在庫数を入力して登録するというプログラムを作成中です。
構造体を使わずvecterを用いて現状のコードを書き換えたいのですが、vecterが現在使用している教科書などに無く、躓いてしまっています。

実現したいこと

  • cardという構造体を使用せず、同様の機能をvecterを用いて実装する
  • 現在動いているこのプログラムが、vecterを用いたプログラムに書き換わっても同様に動作をする

該当のソースコード

C++

/* ヘッダ */ #include <iostream> #include <vector> using namespace std; /* 構造体定義 */ struct carda { /* 変数 */ char titlea[50+1]; char authora[50+1]; int numa; /* コンストラクタ */ carda(){ cout << "コンストラクタを呼び出しました。\n"; } }; /* 構造体定義 */ struct cardb { /* 変数 */ char titleb[50+1]; char authorb[50+1]; int numb; /* コンストラクタ */ cardb(){ cout << "コンストラクタを呼び出しました。\n"; } }; /* メイン処理 */ int main() { /* cardaへの登録 */ carda booka; cout << "本のタイトルを入力してください。\n"; cin >> booka.titlea; cout << "著者名を入力してください。\n"; cin >> booka.authora; cout << "在庫の数を入力してください。\n"; cin >> booka.numa; /* 登録確認 */ cout << "以下の内容で登録します:\n"; cout << "タイトル:" << booka.titlea << "\n"; cout << "著者名:" << booka.authora << "\n"; cout << "在庫数:" << booka.numa << "\n"; /* cardbへの登録 */ cardb bookb; cout << "本のタイトルを入力してください。\n"; cin >> bookb.titleb; cout << "著者名を入力してください。\n"; cin >> bookb.authorb; cout << "在庫の数を入力してください。\n"; cin >> bookb.numb; /* 登録確認 */ cout << "以下の内容で登録します:\n"; cout << "タイトル:" << bookb.titleb << "\n"; cout << "著者名:" << bookb.authorb << "\n"; cout << "在庫数:" << bookb.numb << "\n"; return 0; }

補足情報(FW/ツールのバージョンなど)

VScode(ver: 1.69.2)

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

fana

2022/08/23 00:47

構造体を使うことと std::vector を使うこととは背反ではないので,何か根本から話が間違っているような気がします. あと,提示されたコードを見た感じだと,vectorとか言い出すよりも前に「配列」を先に修めるのが良さそうに見えます.
dodox86

2022/08/23 02:05

std::vectorの各要素に現在のcardaとbの構造体のメンバーを割り当てたいと言う要望でしょうか。であればちょっと妙な要件に思いますが、そんな課題、問題があったのでしょうか。
inle_rah

2022/08/23 04:30

carda,cardbを割り当てたいというよりも、出された課題が「main関数で、構造体を二件作成するのではなく、vectorを用いて実装する。二件分のレコードを収納、出力する」というものでした。
dodox86

2022/08/23 06:23

であれば、既にいただいている回答で示されるようなことになるかと思います。

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。