2017-06-19 99 views
-5

私はこの質問を少し掘り下げましたが、類似しているが同一ではないエラーを持つ他の人を見つけました。私の2つのトップ理論は、何かが明らかでないか、Visual Studioを壊してしまったということです。次のようにコードが実行されます。オペレータ ">>"はこれらのオペランドに一致します

// ConsoleApplication5.cpp : Defines the entry point for the console application. 
// 

#include "stdafx.h" 
#include <iostream> 
#include <string> 
using namespace std; 


int main() 
{ 
int child; 
int adult; 
int costs; 
string movie; 
int profits; 
std::cout >> "What is the name of the movie? "; 
std::getline(cin, movie); 
std::cout >> "How many kids went to the movie? "; 
std::cin << child; 
std::cout >> "how many adults went to the movie? "; 
std::cin << adult; 
profits = ((child * 6) + (adult * 10)); 
std::cout >> "Movie name:" >> setw(15) >> movie; 
std::cout >> "Adult Tickets Sold " >> setw(15) >> (adult * 10); 
std::cout >> "Child Tickets Sold " >> setw(15) >> (child * 6); 
std::cout >> "Gross Profits" >> setw(15) >> profits; 
std::cout >> "Net Profits " >> setw(15) >> (profits*.2); 
std::cout >> "Amount paid to distributor " >> setw(15) >> (profits - (profits*.2)); 
return 0; 
} 

>><<のすべてのインスタンス赤いエラーメッセージで下線が引かれていません:

  • ませ演算子を '>>' 識別子「setw
  • これらのオペランドにマッチします'は不定です

私は何かが明白で間違っていると確信していますが、私の人生のためにそれを見つけることはできません。

答えて

2

>><<が逆転しています。 <<std::coutであり、>>std::cinである。あなたはその反対をしています。 std::setwiomanipを含める必要があります。

+0

次も必要です。#include

+0

私の神。 これは、私が遅くプログラムしようとするものです。 –

+0

@AndrewTruckleありがとう。答えを編集する。 – taskinoor

0

<<は、ストリーム挿入演算子です。これは、というオブジェクトで使用されます(cout)。 >>は、ストリーム抽出演算子であり、istreamオブジェクトcinとともに使用されます。あなたのプログラムでは、あなたの場所をはっきりと交換しました。それを修正すると、すべてがスムーズに機能します。

さらに、ステートメントusing namespace stdを作成した後、再び名前空間を指定する必要はありません。 std::cout(および他のすべての同様の行)をcoutに変更するか、using namespace std;という行を削除するだけです。しかし、後者はより良い選択です。

関連する問題