按字母顺序显示用户的输入名称

时间:2016-02-13 09:44:59

标签: c++ visual-c++

我创建了一个程序,用户输入3个名称,然后按字母顺序显示名称。 例如,如果用户输入     “查理,”“莱斯利”和“安迪” 该程序将显示:     安迪,查理,莱斯利......

但我的输出是:

Enter a name: charlie

Enter a name: leslie

Enter a name: andy

andy leslie charlie 

又一次输出:

Enter a name: abc

Enter a name: def

Enter a name: ghi

ghi def abc

我的输出总是在第一顺序显示第三个输入名称,然后在第二个输出中显示第二个输入名称然后首先它确实是什么我写的它总是按此顺序显示名称.... 请帮助我.thanku

const int size = 10;
    char name1[size];
    char name2[size];
    char name3[size];

    cout << "Enter a name: ";
    cin.getline(name1, size);
    cout << "Enter a name: ";
    cin.getline(name2, size);
    cout << "Enter a name: ";
    cin.getline(name3, size);


    if ("name1" > "name2" && "name1" > "name3")
    {
        cout << name1 << " ";
        if ("name2" > "name3")
        {
            cout << name2 << " " << name3 << endl;
        }
        else
        {
            cout << name3 << " " << name2 << endl;
        }
    }
    else if ("name2" > "name1" && "name2" > "name3")
    {
        cout << name2 << " ";
        if ("name1" > "name3")
        {
            cout << name1 << " " << name3 << endl;
        }
        else
        {
            cout << name3 << " " << name1 << endl;
        }
    }
    else if ("name3" > "name1" && "name3" > "name2")
    {
        cout << name3 << " ";
        if ("name1" > "name2")
        {
            cout << name1 << " " << name2 << endl;
        }
        else
        {
            cout << name2 << " " << name1 << endl;
        }
    }
    else
    {
        cout << "nothing happened....." << endl;
    }

1 个答案:

答案 0 :(得分:0)

在c ++中,您无法使用&gt;来比较字符串。和&lt;运营商。查看运行时库中的字符串函数。从这些,您需要字符串比较函数strcmp()。这是documentation,最后有一个完整的例子。