Я читаю «Принципы и практики программирования с использованием C Plus Plus», Bjarne Stroustrup, и я на стр. 66.Как я могу сделать эту работу «пока»?
Я пробую некоторые вещи самостоятельно, и я написал это на Visual Studio :
#include "../../std_lib_facilities.h";
int main()
{
string first_name = " ";
string last_name;
int numbert = 0;
while (cin >> last_name) {
++numbert;
if (last_name > first_name)
cout << first_name << ": plays guitar!\n" << last_name << " : plays bass!\n";
}
}
то, что я хочу, чтобы это сделать: когда я пишу "Lennon McCartney" в командной строке, чтобы вернуться:
Lennon: plays guitar!
Mccartney: plays bass!
Но то, что я получаю:
:plays guitar!
Lennon: plays bass!
:plays guitar!
Mccartney: plays bass!
И все мы знаем, что Маккартни играет на басу. Почему я получаю это? Как я могу это исправить, пожалуйста?
Спасибо.
Добро пожаловать на переполнение стека! Похоже, вам, возможно, потребуется научиться использовать отладчик для выполнения вашего кода. С хорошим отладчиком вы можете выполнить свою программу по очереди и посмотреть, где она отклоняется от ожидаемого. Это важный инструмент, если вы собираетесь заниматься программированием. Дальнейшее чтение: ** [Как отлаживать небольшие программы] (http://ericlippert.com/2014/03/05/how-to-debug-small-programs/) ** – NathanOliver
[подсказка] Вы когда-нибудь меняете строку first_name = ""; '? – NathanOliver
Возможно, вам не нужен цикл, всего два оператора ввода. –