Please help me understand the problem with my code. I will add the else statemen
ID: 3745465 • Letter: P
Question
Please help me understand the problem with my code. I will add the else statements later. Here is the long list of my errors:
soccer.cpp: In function 'int main()':
soccer.cpp:22:6: error: no match for 'operator<<' (operand types are 'std::istream' {aka 'std::basic_istream<char>'} and 'std::__cxx11::string' {aka 'std::__cxx11::basic_string<char>'})
cin<< x;
~~~^~~~
In file included from /usr/include/c++/8/string:52,
from /usr/include/c++/8/bits/locale_classes.h:40,
from /usr/include/c++/8/bits/ios_base.h:41,
from /usr/include/c++/8/ios:42,
from /usr/include/c++/8/ostream:38,
from /usr/include/c++/8/iostream:39,
from soccer.cpp:4:
/usr/include/c++/8/bits/basic_string.h:6314:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)'
operator<<(basic_ostream<_CharT, _Traits>& __os,
^~~~~~~~
/usr/include/c++/8/bits/basic_string.h:6314:5: note: template argument deduction/substitution failed:
soccer.cpp:22:9: note: 'std::istream' {aka 'std::basic_istream<char>'} is not derived from 'std::basic_ostream<_CharT, _Traits>'
cin<< x;
^
In file included from /usr/include/c++/8/bits/ios_base.h:46,
from /usr/include/c++/8/ios:42,
from /usr/include/c++/8/ostream:38,
from /usr/include/c++/8/iostream:39,
from soccer.cpp:4:
/usr/include/c++/8/system_error:217:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::error_code&)'
operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e)
^~~~~~~~
/usr/include/c++/8/system_error:217:5: note: template argument deduction/substitution failed:
soccer.cpp:22:9: note: 'std::istream' {aka 'std::basic_istream<char>'} is not derived from 'std::basic_ostream<_CharT, _Traits>'
cin<< x;
^
In file included from /usr/include/c++/8/iostream:39,
from soccer.cpp:4:
/usr/include/c++/8/ostream:497:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, _CharT)'
operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c)
^~~~~~~~
/usr/include/c++/8/ostream:497:5: note: template argument deduction/substitution failed:
soccer.cpp:22:9: note: 'std::istream' {aka 'std::basic_istream<char>'} is not derived from 'std::basic_ostream<_CharT, _Traits>'
cin<< x;
^
In file included from /usr/include/c++/8/iostream:39,
from soccer.cpp:4:
/usr/include/c++/8/ostream:502:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, char)'
operator<<(basic_ostream<_CharT, _Traits>& __out, char __c)
^~~~~~~~
/usr/include/c++/8/ostream:502:5: note: template argument deduction/substitution failed:
soccer.cpp:22:9: note: 'std::istream' {aka 'std::basic_istream<char>'} is not derived from 'std::basic_ostream<_CharT, _Traits>'
cin<< x;
^
In file included from /usr/include/c++/8/iostream:39,
from soccer.cpp:4:
/usr/include/c++/8/ostream:508:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, char)'
operator<<(basic_ostream<char, _Traits>& __out, char __c)
^~~~~~~~
/usr/include/c++/8/ostream:508:5: note: template argument deduction/substitution failed:
soccer.cpp:22:9: note: 'std::istream' {aka 'std::basic_istream<char>'} is not derived from 'std::basic_ostream<char, _Traits>'
cin<< x;
^
In file included from /usr/include/c++/8/iostream:39,
from soccer.cpp:4:
/usr/include/c++/8/ostream:514:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, signed char)'
operator<<(basic_ostream<char, _Traits>& __out, signed char __c)
^~~~~~~~
/usr/include/c++/8/ostream:514:5: note: template argument deduction/substitution failed:
soccer.cpp:22:9: note: 'std::istream' {aka 'std::basic_istream<char>'} is not derived from 'std::basic_ostream<char, _Traits>'
cin<< x;
^
In file included from /usr/include/c++/8/iostream:39,
from soccer.cpp:4:
/usr/include/c++/8/ostream:519:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, unsigned char)'
operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c)
^~~~~~~~
/usr/include/c++/8/ostream:519:5: note: template argument deduction/substitution failed:
soccer.cpp:22:9: note: 'std::istream' {aka 'std::basic_istream<char>'} is not derived from 'std::basic_ostream<char, _Traits>'
cin<< x;
^
In file included from /usr/include/c++/8/iostream:39,
from soccer.cpp:4:
/usr/include/c++/8/ostream:539:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const _CharT*)'
operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s)
^~~~~~~~
/usr/include/c++/8/ostream:539:5: note: template argument deduction/substitution failed:
soccer.cpp:22:9: note: 'std::istream' {aka 'std::basic_istream<char>'} is not derived from 'std::basic_ostream<_CharT, _Traits>'
cin<< x;
^
In file included from /usr/include/c++/8/ostream:693,
from /usr/include/c++/8/iostream:39,
from soccer.cpp:4:
/usr/include/c++/8/bits/ostream.tcc:321:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const char*)'
operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s)
^~~~~~~~
/usr/include/c++/8/bits/ostream.tcc:321:5: note: template argument deduction/substitution failed:
soccer.cpp:22:9: note: 'std::istream' {aka 'std::basic_istream<char>'} is not derived from 'std::basic_ostream<_CharT, _Traits>'
cin<< x;
^
In file included from /usr/include/c++/8/iostream:39,
from soccer.cpp:4:
/usr/include/c++/8/ostream:556:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const char*)'
operator<<(basic_ostream<char, _Traits>& __out, const char* __s)
^~~~~~~~
/usr/include/c++/8/ostream:556:5: note: template argument deduction/substitution failed:
soccer.cpp:22:9: note: 'std::istream' {aka 'std::basic_istream<char>'} is not derived from 'std::basic_ostream<char, _Traits>'
cin<< x;
^
In file included from /usr/include/c++/8/iostream:39,
from soccer.cpp:4:
/usr/include/c++/8/ostream:569:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const signed char*)'
operator<<(basic_ostream<char, _Traits>& __out, const signed char* __s)
^~~~~~~~
/usr/include/c++/8/ostream:569:5: note: template argument deduction/substitution failed:
soccer.cpp:22:9: note: 'std::istream' {aka 'std::basic_istream<char>'} is not derived from 'std::basic_ostream<char, _Traits>'
cin<< x;
^
In file included from /usr/include/c++/8/iostream:39,
from soccer.cpp:4:
/usr/include/c++/8/ostream:574:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const unsigned char*)'
operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s)
^~~~~~~~
/usr/include/c++/8/ostream:574:5: note: template argument deduction/substitution failed:
soccer.cpp:22:9: note: 'std::istream' {aka 'std::basic_istream<char>'} is not derived from 'std::basic_ostream<char, _Traits>'
cin<< x;
^
In file included from /usr/include/c++/8/iostream:39,
from soccer.cpp:4:
/usr/include/c++/8/ostream:682:5: note: candidate: 'template<class _Ostream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_ostream<_Ostream>, std::__is_insertable<typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type, const _Tp&, void> >::value, typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type>::type std::operator<<(_Ostream&&, const _Tp&)'
operator<<(_Ostream&& __os, const _Tp& __x)
^~~~~~~~
/usr/include/c++/8/ostream:682:5: note: template argument deduction/substitution failed:
/usr/include/c++/8/ostream: In substitution of 'template<class _Ostream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_ostream<_Ostream>, std::__is_insertable<typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type, const _Tp&, void> >::value, typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type>::type std::operator<<(_Ostream&&, const _Tp&) [with _Ostream = std::basic_istream<char>&; _Tp = std::__cxx11::basic_string<char>]':
soccer.cpp:22:9: required from here
/usr/include/c++/8/ostream:682:5: error: no type named 'type' in 'struct std::enable_if<false, void>'
Explanation / Answer
this is the correct code i have marked the comments from line you are getting error
#include<bits/stdc++.h>
using namespace std;
int main()
{
string ans;
string x;
string b;
string c;
cout<<"is your team in possesion?:"; // you have not used the statement closer ; here
cin>>ans;
if(ans=="y"||ans=="Y"||ans=="Yes"||ans=="yes")
{
cout<<"Has your team just gained possesion?:";// you have not used the statement closer ; here
cin>>x; //you have used << instead of >> in cin
if(x=="y"||x=="Y"||x=="Yes"||x=="yes")
{
cout<<"create space(width&depth)"<<endl;
}
else
{
cout<<"do you have the ball?:";// you have not used the statement closer ; here
cin>>b;
if(b=="y"||b=="Y"||b=="Yes"||b=="yes")
{
cout<<"can you direct play?:"; // you have not used the statement closer ; here
cin>>c;
if(c=="y"||c=="Y"||c=="Yes"||c=="yes")
{
cout<<"penetration shoot,dribble,cross. ."<<endl;
}
}
}
}
return 0;
}
// one more thing if statement can only take 1 statement in if block if no braces are given
sample execution
is your team in possesion?:
y
Has your team just gained possesion?:
n
do you have the ball?:
y
can you direct play?:"
y
penetration shoot,dribble,cross. .