首页 > 解决方案 > C++ 中的 else if 语句

问题描述

我想制作一个程序,根据他们的名字向人们打招呼,请不要被打印语句冒犯,这只是我朋友的恶作剧。我是初学者请帮助。这是我的代码

#include<iostream>
#include<conio.h>
#include<string>

using namespace std;

int main()
{
    string a;
    cout<<"Please enter your name."<<endl;
    getline(cin, a);

    cin>>a>>endl;

   
        if(a=="daksh" || a=="Daksh"){
    cout<<"Chlaja bsdk 凸 ( ͡❛ 皿 ͡❛)凸&quot;<<endl;
}
else if(a=="Harsh" || a=="harsh"){
    cout<<"Bsdk MC behn K lode , machhar ki jhaat maki chut teri tatto ke saudagar (ง ͡❛ 皿 ͡❛)ง&quot;<<endl;
}
else if(a=="Sparsh" || a=="sparsh"){
    cout<<"Jahapana tussi geat ho , tofu kubul kro. /( ͡❛ ͜ʖ ͡❛)/"<<endl;
}
else {
    cout<<"Hello ,dear"<<a<<endl;
            }
return 0;
}

这些是错误,我没有发布所有错误,因为它超出了字数限制。

    greetings.cpp: In function 'int main()':
    greetings.cpp:12:11: error: no match for 'operator>>' (operand types are 'std::basic_istream<char>' and '<unresolved overloaded function type>')
         cin>>a>>endl;
         ~~~~~~^~~~~~
    In file included from c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\iostream:40:0,
                     from greetings.cpp:1:
    c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:120:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__istream_type& (*)(std::basic_istream<_CharT, _Traits>::__istream_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]
           operator>>(__istream_type& (*__pf)(__istream_type&))
           ^~~~~~~~
    c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:120:7: note:   no known conversion for argument 1 from '<unresolved overloaded function type>' to 'std::basic_istream<char>::__istream_type& (*)(std::basic_istream<char>::__istream_type&) {aka std::basic_istream<char>& (*)(std::basic_istream<char>&)}'
    c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:124:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__ios_type& (*)(std::basic_istream<_CharT, _Traits>::__ios_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>; std::basic_istream<_CharT, _Traits>::__ios_type = std::basic_ios<char>]
           operator>>(__ios_type& (*__pf)(__ios_type&))
           ^~~~~~~~
    c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:124:7: note:   no known conversion for argument 1 from '<unresolved overloaded function type>' to 'std::basic_istream<char>::__ios_type& (*)(std::basic_istream<char>::__ios_type&) {aka std::basic_ios<char>& (*)(std::basic_ios<char>&)}'
    c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:131:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::ios_base& (*)(std::ios_base&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]
           operator>>(ios_base& (*__pf)(ios_base&))
           ^~~~~~~~
    c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:131:7: note:   no known conversion for argument 1 from '<unresolved overloaded function type>' to 'std::ios_base& (*)(std::ios_base&)'
    c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:168:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(bool&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]
           operator>>(bool& __n)
           ^~~~~~~~
    c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:168:7: note:   no known conversion for argument 1 from '<unresolved overloaded function type>' to 'bool&'
    c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:172:7: note: candidate: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(short int&) [with _CharT = char; _Traits = std::char_traits<char>]
           operator>>(short& __n);
           ^~~~~~~~
    c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:172:7: note:   no known conversion for argument 1 from '<unresolved overloaded function type>' to 'short int&'
    c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:175:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(short 
    unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]
           operator>>(unsigned short& __n)
           ^~~~~~~~
    c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:175:7: note:   no known conversion for argument 1 from '<unresolved overloaded function type>' to 'short unsigned int&'
    c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:179:7: note: candidate: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(int&) [with _CharT = char; _Traits = std::char_traits<char>]
           operator>>(int& __n);
           ^~~~~~~~
    c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:179:7: note:   no known conversion for argument 1 from '<unresolved overloaded function type>' to 'int&'
    c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:182:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]
           operator>>(unsigned int& __n)
           ^~~~~~~~
    c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:182:7: note:   no known conversion for argument 1 from '<unresolved overloaded function type>' to 'unsigned int&'
    c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:186:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]
           operator>>(long& __n)
           ^~~~~~~~
    c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:186:7: note:   no known conversion for argument 1 from '<unresolved overloaded function type>' to 'long int&'
    c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:190:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]
           operator>>(unsigned long& __n)
           ^~~~~~~~
    c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:190:7: note:   no known conversion for argument 1 from '<unresolved overloaded function type>' to 'long unsigned int&'
    c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:195:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long long int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]
           operator>>(long long& __n)
           ^~~~~~~~
    c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:195:7: note:   no known conversion for argument 1 from '<unresolved overloaded function type>' to 'long long int&'
    c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:199:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long long unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]
           operator>>(unsigned long long& __n)
           ^~~~~~~~
    c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:199:7: note:   no known conversion for argument 1 from '<unresolved overloaded function type>' to 'long long unsigned int&'        
    c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:214:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(float&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]
           operator>>(float& __f)
           ^~~~~~~~
    c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:214:7: note:   no known conversion for argument 1 from '<unresolved overloaded function type>' to 'float&'
    c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:218:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(double&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]
           operator>>(double& __f)
           ^~~~~~~~
    c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:218:7: note:   no known conversion for argument 1 from '<unresolved overloaded function type>' to 'double&'
    c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:222:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long double&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]
           operator>>(long double& __f)
           ^~~~~~~~
    c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:222:7: note:   no known conversion for argument 1 from '<unresolved overloaded function type>' to 'long double&'
    c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:235:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(void*&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]
           operator>>(void*& __p)
           ^~~~~~~~
    c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:235:7: note:   no known conversion for argument 1 from '<unresolved overloaded function type>' to 'void*&'
    c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:259:7: note: candidate: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__streambuf_type*) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<char>]
           operator>>(__streambuf_type* __sb);
           ^~~~~~~~
    c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:259:7: note:   no known conversion for argument 1 from '<unresolved overloaded function type>' to 'std::basic_istream<char>::__streambuf_type* {aka std::basic_streambuf<char>*}'
    In file included from c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\string:53:0,
                     from c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\bits\locale_classes.h:40,
                     from c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\bits\ios_base.h:41,
                     from c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\ios:42,
                     from c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\ostream:38,
                     from c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\iostream:39,
                     from greetings.cpp:1:
    c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\bits\basic_string.tcc:1437:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)
         operator>>(basic_istream<_CharT, _Traits>& __in,
         ^~~~~~~~
c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\bits\basic_string.tcc:1437:5: note:   template argument deduction/substitution failed:
greetings.cpp:12:13: note:   couldn't deduce template parameter '_Alloc'
     cin>>a>>endl;
             ^~~~
In file included from c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\iostream:40:0,
                 from greetings.cpp:1:
c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:799:5: note: candidate: std::basic_istream<_CharT2, _Traits2>& std::operator>>(std::basic_istream<_CharT2, _Traits2>&, _CharT2*) [with _CharT2 = char; _Traits2 = std::char_traits<char>; _CharT = char; _Traits = std::char_traits<char>]
     operator>>(basic_istream<char>& __in, char* __s);
     ^~~~~~~~
c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:799:5: note:   no known conversion for argument 2 from '<unresolved overloaded function type>' to 'char*'
In file included from c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:934:0,
                 from c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\iostream:40,
                 from greetings.cpp:1:
c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\bits\istream.tcc:923:5: note: candidate: std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, _CharT&) [with _CharT = char; _Traits = std::char_traits<char>]
     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c)
     ^~~~~~~~
c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\bits\istream.tcc:923:5: note:   no known conversion for argument 2 from '<unresolved overloaded function type>' to 'char&'
In file included from c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\iostream:40:0,
                 from greetings.cpp:1:
c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:756:5: note: candidate: template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, unsigned char&)
     operator>>(basic_istream<char, _Traits>& __in, unsigned char& __c)
     ^~~~~~~~
c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:756:5: note:   template argument deduction/substitution failed:
greetings.cpp:12:13: note:   cannot convert 'std::endl' (type '<unresolved overloaded function type>') to type 'unsigned char&'
     cin>>a>>endl;
             ^~~~
In file included from c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\iostream:40:0,
                 from greetings.cpp:1:
c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:761:5: note: candidate: template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, signed char&)
     operator>>(basic_istream<char, _Traits>& __in, signed char& __c)
     ^~~~~~~~
c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:761:5: note:   template argument deduction/substitution failed:
greetings.cpp:12:13: note:   cannot convert 'std::endl' (type '<unresolved overloaded function type>') to type 'signed char&'
     cin>>a>>endl;
             ^~~~
In file included from c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\iostream:40:0,
                 from greetings.cpp:1:
c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:803:5: note: candidate: template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, unsigned char*)
     operator>>(basic_istream<char, _Traits>& __in, unsigned char* __s)
     ^~~~~~~~
c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:803:5: note:   template argument deduction/substitution failed:
greetings.cpp:12:13: note:   cannot convert 'std::endl' (type '<unresolved overloaded function type>') to type 'unsigned char*'
     cin>>a>>endl;
             ^~~~
In file included from c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\iostream:40:0,
                 from greetings.cpp:1:
c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:808:5: note: candidate: template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, signed char*)
     operator>>(basic_istream<char, _Traits>& __in, signed char* __s)
     ^~~~~~~~
c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:808:5: note:   template argument deduction/substitution failed:
greetings.cpp:12:13: note:   cannot convert 'std::endl' (type '<unresolved overloaded function type>') to type 'signed char*'
     cin>>a>>endl;
             ^~~~
In file included from c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\iostream:40:0,
                 from greetings.cpp:1:
c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:924:5: note: candidate: template<class _CharT, class _Traits, class _Tp> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&&, _Tp&)
     operator>>(basic_istream<_CharT, _Traits>&& __is, _Tp& __x)
     ^~~~~~~~
c:\mingw\lib\gcc\mingw32\6.3.0\include\c++\istream:924:5: note:   template argument deduction/substitution failed:
greetings.cpp:12:13: note:   couldn't deduce template parameter '_Tp'
     cin>>a>>endl;
             ^~~~

标签: c++stringif-statement

解决方案


你不应该像这样关闭 if 括号,你需要在每个条件之后关闭它

if(a>b)
{
print(a);
}
else if(b>c)
{
print(b);
}

……


推荐阅读