2

C++ のクラスについて学習しています。クラスの概念を使って簡単なプログラムを作りました。プログラムでは、本の詳細を入力する人が必要です。その関数は次のとおりです。

void Book::add(){
cout << "Enter name of Book: ";
gets(book_name);gets(book_name);
cout << "\n\nPlease enter the book id: ";
cin >> book_id;
cout << "\n\nThank you the book has been added.";
total++;
input = getchar();
getchar();
}

3 行目で、ユーザー入力を取得するために 2 つの get を使用する必要があることに注意してください。1つを使用する と、これが出力になります。gets ステートメントをスキップするだけです。同様に、他の場所でも 2 つの getchar ステートメントを使用する必要があります。SO自体でその答えを見つけることができました。Exなぜ私の教授。2 つの getchar を使用しています。ただし、2 つの get ステートメントの答えは見つかりませんでした。必要な場合の完全なコードを次に示します。

4

2 に答える 2

1

cinとから とcoutから<iostream>を取得し<cstdio>ます。これら 2 つがどのように機能し、何が違うのかを正確に理解していない場合、これら 2 つを混在させることはお勧めできません。

より良いアイデアは使用することですcin.getline()

cin.getline(char* s, streamsize n );

2 番目のパラメーターは、入力の最大長です。

于 2013-05-05T11:13:35.397 に答える