gpt4 book ai didi

c++ - 令人困惑的 C++ 赋值

转载 作者:行者123 更新时间:2023-11-28 00:11:13 27 4
gpt4 key购买 nike

我是一名大学 CS 大一学生,我似乎无法解决这个问题。它基本上是要我向用户询问特定类(class)的学生人数,然后不断循环询问学生姓名。完成所有这些之后,我必须找出输入的名称将按字母顺序排在第一位,而哪个名称将按字母顺序排在最后。

到目前为止,我的代码会做所有事情,直到我必须对名称进行排序,以及错误地显示名称。它仅显示输入的最新名称,而不是同时显示两个名称。

#include <iostream>
#include <string>
using namespace std;

int main () {

int studentCount;
string studentName;

cout << "Hello fellow educator!" << endl;
cout << "I will be helping you with your line-up for today." << endl;
cout << "Please enter the number of students in your class: ";
cin >> studentCount;
cout << endl;
cout << endl;

if (studentCount < 1 || studentCount > 25) {
cout << "Please try again." << endl;
cout << "Try putting in a number between 1 and 25." << endl;
cout << endl;
}

for (int count = 1; count <= studentCount; count++) {

cout << "Please enter a student's name: ";
cin >> studentName;
}
cout << "the names are " << studentName; // Just testing the string

return 0;
}

最佳答案

当您收集姓名时,将姓名存储在数据结构中。如果您将所有姓名添加到一个字符串中,那么它可以存储为一个连接的字符串,但我们需要不同的姓名(字符串)。因此,让我们将 vector 作为我们的数据结构。

int main () {

int studentCount;
string studentName;
vector<string> attendanceBook;

for (int count = 1; count <= studentCount; count++) {

cout << "Please enter a student's name: ";
studentName.clear();
cin >> studentName;
attendanceBook.push_back(studentName);
}

std::sort(attendanceBook.begin(),attendanceBook.end());

cout<<"First: "<<name.front<<endl<<"Last: "<<name.back();

关于c++ - 令人困惑的 C++ 赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33030217/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com