【发布时间】:2016-08-10 03:58:01
【问题描述】:
我正在为书籍构建引用机器。但是,我在引用时遇到了问题。这是我的代码:
#include <iostream>
using namespace std;
string nameofbook,lauthor,x,fmauthor,year,publisher,citystate;
int main(){
cout<<"Welcome to the citation machine. What do you want to cite?"<<endl;
cin>>x;
if(x == "book"){
cout<<"What is the name of the book?"<<endl;
cin>>nameofbook;
cout<<"What is the last name of the author?"<<endl;
cin>>lauthor;
cout<<"What is the first and middle name of the author in abbreviations?"<<endl;
cin>>fmauthor;
cout<<"Which year is the book published?"<<endl;
cin>>year;
cout<<"Who is the publisher?"<<endl;
cin>>publisher;
cout<<"Which state or city is the publisher located at?"<<endl;
cin>>citystate;
cout<<"You are done!"<<endl;
cout<<"The citation is"<<endl;
cout<<lauthor;
cout<<" ";
cout<<fmauthor;
cout<<" ";
cout<<"(";
cout<<year;
cout<<")" ;
cout<<" ";
cout<<nameofbook;
cout<<" ";
cout<<citystate;
cout<<":";
cout<<" ";
cout<<publisher;
}
return 0;
}
当我在 Dev C++ 中编译并运行它时,它给了我这个:
Welcome to the citation machine. What do you want to cite?
book
What is the name of the book?
Catching Fire
What is the last name of the author?
What is the first and middle name of the author in abbreviations?
Collins S.
Which year is the book published?
Who is the publisher?
Scholastic Corporation
Which state or city is the publisher located at?
You are done!
The citation is
Fire Collins (S.) Catching Corporation: Scholastic
--------------------------------
Process exited after 88.09 seconds with return value 0
Press any key to continue . . .
当我让所有细节成为一个词时,它变成:
Welcome to the citation machine. What do you want to cite?
book
What is the name of the book?
Mockingjay
What is the last name of the author?
Collins
What is the first and middle name of the author in abbreviations?
S.
Which year is the book published?
2009
Who is the publisher?
Scholastic
Which state or city is the publisher located at?
NYC
You are done!
The citation is
Collins S. (2009) Mockingjay NYC: Scholastic
--------------------------------
Process exited after 72.02 seconds with return value 0
Press any key to continue . . .
因此,当所有细节都来自一个单词时,它就可以完美运行。但是当任何细节超过一个词时,第一个词来回答它应该回答的问题,第二个词来回答下一个问题。那么我应该如何让这两个词回答它应该回答的问题呢?如果有人能帮我解决这个问题,我将不胜感激。
【问题讨论】:
标签: c++