【发布时间】:2019-12-01 05:36:08
【问题描述】:
到目前为止,这是我的代码。 C++ My code.这是一个要求学校的问题:编写一个程序,使用名为 MovieData 的结构来存储有关电影的以下信息: •标题
•导演
•发布年份
•运行时间(以分钟为单位)
程序应该创建两个 MovieData 变量,将值存储在它们的成员中,并传递每个变量, 反过来,该函数以格式清晰的方式显示有关电影的信息。
我的问题是当用户输入第二部电影的信息时, getline(cin, b.title) 被跳过,直接转到导演。我正在寻找为什么会发生这种情况以及如何解决它。Required output vs. My output.
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
struct MovieData {
string title;
string director;
int year;
int runningTime;
};
void displayMovie(MovieData movie);
int main()
{
MovieData a, b;
cout << "First Movie" << endl;
cout << "Enter title: ";
getline (cin, a.title);
cout << "Enter Director: ";
getline (cin,a.director);
cout << "Enter year: ";
cin >> a.year;
cout << "Enter Runing Time: ";
cin >> a.runningTime;
cout << "\nSecond Movie" << endl;
cout << "Enter title: ";
getline (cin, b.title);
cout << "Enter Director: ";
getline (cin, b.director);
cout << "Enter year: ";
cin >> b.year;
cout << "Enter Runing Time: ";
cin >> b.runningTime;
displayMovie(a);
displayMovie(b);
}
void displayMovie(MovieData movie)
{
cout << "-----------------------";
cout << "\nTitle: " << movie.title << endl;
cout << "Director: "<< movie.director << endl;
cout << "Year: " << movie.year << endl;
cout << "Runing Time: " << movie.runningTime << " minutes"
<< endl;
}
【问题讨论】:
标签: c++ function variables structure