c++输入姓名和学号并打印
时间: 2024-09-27 18:18:10 浏览: 9
在C++中,你可以使用`cin`(标准输入流)从用户那里获取姓名和学号,并通过`cout`(标准输出流)将它们打印出来。下面是一个简单的示例:
```cpp
#include <iostream>
using namespace std;
int main() {
string name; // 定义字符串变量存储姓名
int studentID; // 定义整数变量存储学号
// 输入姓名
cout << "请输入您的姓名:";
getline(cin, name); // 使用getline函数读取直到换行符的一行字符串
// 输入学号
cout << "请输入您的学号:";
cin >> studentID; // 使用cin直接读取整数
// 打印信息
cout << "您好," << name << "! 您的学号是:" << studentID << endl;
return 0;
}
```
在这个程序中,我们首先包含了`<iostream>`头文件,然后使用`getline`函数读取用户的全名(包括空格),`cin`用于读取整数类型的学号。最后,通过`cout`输出欢迎信息和学号。
相关问题
根据学号删除学生信息 C++代码
下面是一个简单的 C++ 代码示例,可以根据学号删除学生信息:
```c++
#include <iostream>
#include <string>
#include <vector>
using namespace std;
struct Student {
string id;
string name;
int age;
};
void deleteStudent(vector<Student>& students, string id) {
for (vector<Student>::iterator it = students.begin(); it != students.end(); ++it) {
if (it->id == id) {
students.erase(it);
return;
}
}
}
int main() {
vector<Student> students = {
{"1001", "Alice", 18},
{"1002", "Bob", 19},
{"1003", "Charlie", 20}
};
string id;
cout << "Enter student ID to delete: ";
cin >> id;
deleteStudent(students, id);
cout << "Remaining students:" << endl;
for (const auto& student : students) {
cout << student.id << " " << student.name << " " << student.age << endl;
}
return 0;
}
```
在这个例子中,我们定义了一个 `Student` 结构体,包含学生的学号、姓名和年龄。我们使用一个 `vector` 来存储多个学生的信息。`deleteStudent` 函数接受一个 `vector` 和一个学生的学号作为输入,遍历 `vector` 找到符合学号的学生并删除之。
在 `main` 函数中,我们首先创建一个包含三个学生信息的 `vector`。然后,从用户处读取要删除的学生的学号,调用 `deleteStudent` 函数删除该学生信息。最后,我们遍历剩余的学生信息并打印出来。
采用动态内存分配方法设计一个学生处理程序,要求输入任意数量学生的学号、姓名和四门课的成绩,并按平均成绩高低输出每个学生的姓名和成绩。帮我用C++写一下
在C++中,我们可以使用结构体定义学生信息,并通过动态内存分配来处理任意数量的学生。这里是一个简单的示例:
```cpp
#include <iostream>
#include <string>
#include <vector>
// 定义学生结构体
struct Student {
int id;
std::string name;
double scores[4]; // 存储四门课的成绩
double average; // 平均成绩
};
// 动态添加学生到 vector 中
void addStudent(std::vector<Student>& students) {
int id;
std::string name;
std::cout << "请输入学生学号:";
std::cin >> id;
std::cout << "请输入学生姓名:";
std::cin >> name;
for (int i = 0; i < 4; ++i) {
std::cout << "请输入第" << (i + 1) << "门课程的成绩:";
std::cin >> students.back().scores[i];
}
// 计算并设置平均成绩
students.back().average = calculateAverage(scores);
std::cout << "学生信息已添加:" << std::endl;
displayStudent(students.back());
}
// 计算平均分函数
double calculateAverage(double scores[]) {
if (sizeof(scores) == 0) return 0; // 防止除以0的情况
double sum = 0;
for (auto score : scores)
sum += score;
return sum / 4;
}
// 打印学生信息
void displayStudent(const Student& student) {
std::cout << "学号: " << student.id << ", 姓名: " << student.name
<< ", 平均成绩: " << student.average << std::endl;
}
int main() {
std::vector<Student> students;
char cont;
do {
addStudent(students);
// 询问用户是否继续添加更多学生
std::cout << "是否还要添加其他学生?(y/n): ";
std::cin >> cont;
} while (cont == 'y' || cont == 'Y');
// 按照平均成绩排序并输出
std::sort(students.begin(), students.end(), [](const Student& a, const Student& b) { return a.average > b.average; });
std::cout << "按照平均成绩从高到低排列的学生信息:\n";
for (const auto& student : students)
displayStudent(student);
return 0;
}
```
在这个程序中,我们首先定义了一个`Student`结构体,然后实现了添加学生、计算平均分以及显示学生信息的功能。在主函数中,用户可以连续添加学生直到选择退出,最后我们会根据平均成绩对所有学生进行排序并输出。