2016-02-13 4 views
-4

Я создаю программу, в которой пользователь вводит 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 

мой выход всегда показывают третий ввести имя первого порядка, а затем второй, а затем первый это does't дело, что я написать это всегда показывает имена в этот заказ .... пожалуйста, помогите me.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; 
    } 
+2

Вы хотите 'strcmp()'. –

+1

Помещая 'name1' в кавычки, вы делаете это в буквальное слово, и вы не используете его как программную переменную. – Galik

+1

Что делать, если мое имя длиннее 9 символов? –

ответ

0

В C++, вы не можете сравнивать строки, используя> и < операторов. Посмотрите на строковые функции в библиотеке времени исполнения. Из этого вы хотите функцию сравнения строк strcmp(). Вот documentation с полным примером в конце.

Смежные вопросы