Это программа Windows Form, написанная на c ++. Целью этого является получение слова, написанного пользователем в TextBox, под названием tbInputSr c, которое используется для поиска кода в файле. Файл, который я открыл в этой программе, содержит следующее:
1111 aaaa aaaa 1
2222 bbbb bbbb 3
3333 cccc cccc 5
4444 dddd dddd 7
5555 eeee eeee 7
Числа - это код (код), первое слово - это имя (номер), второе слово - фамилия ( cognome), а число - это оценка (голос) студента. Таким образом, цель состоит в том, чтобы показать в текстовом поле имя и фамилию студента через код, написанный в текстовом поле.
ifstream input("output.txt");
string cognome, nome;
string text;
int codice, voto;
int tr;
tr = 0;
while (!tr && input >> codice >> cognome >> nome >> voto) {
if (this->tbInputSrc->Text == Convert::ToString(codice)) {
tr = 1;
}
}
if (!tr) {
MessageBox::Show("Alunno non trovato", "Risultato ricerca", MessageBoxButtons::OK, MessageBoxIcon::Error);
} else {
MessageBox::Show(/*name and surname of the student*/, "Risultato ricerca", MessageBoxButtons::OK, MessageBoxIcon::Information);
}
input.close();
Я пытался показать имя и фамилию по-разному: Использование простая сумма строки:
if (!tr) {
MessageBox::Show("Alunno non trovato", "Risultato ricerca", MessageBoxButtons::OK, MessageBoxIcon::Error);
} else {
string phrase = cognome + " " + none;
MessageBox::Show(phrase, "Risultato ricerca", MessageBoxButtons::OK, MessageBoxIcon::Information);
}
Я пытался использовать c_str:
if (!tr) {
MessageBox::Show("Alunno non trovato", "Risultato ricerca", MessageBoxButtons::OK, MessageBoxIcon::Error);
} else {
string phrase = cognome + " " + none;
MessageBox::Show(phrase.c_str(), "Risultato ricerca", MessageBoxButtons::OK, MessageBoxIcon::Information);
}
Все это, дай мне ошибку E0304 Итак, я хотел Спросите, есть ли простой или лучший способ показать несколько строк в теле MessageBox?