c++编写一段程序,定义一个student类,可以实现人员的输入和显示
时间: 2023-06-02 07:06:47 浏览: 58
好的,这个问题属于编程问题,我可以回答。以下是一个例子:
```
#include <iostream>
using namespace std;
class Student {
public:
string name;
int age;
string major;
void input() {
cout << "请输入姓名:";
cin >> name;
cout << "请输入年龄:";
cin >> age;
cout << "请输入专业:";
cin >> major;
}
void display() {
cout << "姓名:" << name << endl;
cout << "年龄:" << age << endl;
cout << "专业:" << major << endl;
}
};
int main() {
Student s;
s.input();
s.display();
return 0;
}
```
相关问题
用c++编写程序实现将类的对象写入文件
好的,这是一个与编程相关的问题,我可以回答。
在C语言中,可以使用fwrite()函数将类的对象写入文件。首先需要打开一个文件,然后使用fwrite()函数将对象写入文件,最后关闭文件。下面是示例代码:
```c
#include <stdio.h>
struct Student {
char name[20];
int age;
};
int main() {
FILE* file;
struct Student stu = { "Tom", 20 };
// 打开文件
file = fopen("student.dat", "wb");
if (!file) {
printf("无法打开文件");
return 1;
}
// 将对象写入文件
fwrite(&stu, sizeof(stu), 1, file);
// 关闭文件
fclose(file);
return 0;
}
```
这段代码定义了一个学生结构体,然后将其写入了一个名为student.dat的文件中。需要注意的是,在写入文件时,需要使用二进制方式打开文件,即第二个参数为"wb"。如果是文本文件则要用"wt"。
用c++编写一个学生和教师数据输入和显示程序,学生数据有学号、姓名、班号和成绩;教师数据有编号、姓名、职称和部门。要求将编号、姓名输入和显示设计成一个类person,并作为学生类student和teacher类的基类
好的,以下是用C++编写的程序示例:
```c++
#include <iostream>
#include <vector>
#include <string>
using namespace std;
// 定义Person类
class Person {
public:
Person(string id, string name) : id_(id), name_(name) {}
string get_id() const { return id_; }
string get_name() const { return name_; }
private:
string id_;
string name_;
};
// 定义Student类,继承自Person类
class Student : public Person {
public:
Student(string id, string name, string class_id, int score) : Person(id, name), class_id_(class_id), score_(score) {}
string get_class_id() const { return class_id_; }
int get_score() const { return score_; }
private:
string class_id_;
int score_;
};
// 定义Teacher类,继承自Person类
class Teacher : public Person {
public:
Teacher(string id, string name, string title, string department) : Person(id, name), title_(title), department_(department) {}
string get_title() const { return title_; }
string get_department() const { return department_; }
private:
string title_;
string department_;
};
// 输入学生数据
vector<Student> input_students() {
vector<Student> students;
while (true) {
string id, name, class_id;
int score;
cout << "请输入学生学号(输入q结束输入):";
cin >> id;
if (id == "q") {
break;
}
cout << "请输入学生姓名:";
cin >> name;
cout << "请输入学生班级:";
cin >> class_id;
cout << "请输入学生成绩:";
cin >> score;
Student student(id, name, class_id, score);
students.push_back(student);
}
return students;
}
// 输入教师数据
vector<Teacher> input_teachers() {
vector<Teacher> teachers;
while (true) {
string id, name, title, department;
cout << "请输入教师编号(输入q结束输入):";
cin >> id;
if (id == "q") {
break;
}
cout << "请输入教师姓名:";
cin >> name;
cout << "请输入教师职称:";
cin >> title;
cout << "请输入教师所在部门:";
cin >> department;
Teacher teacher(id, name, title, department);
teachers.push_back(teacher);
}
return teachers;
}
// 显示学生数据
void show_students(const vector<Student>& students) {
cout << "学生数据:" << endl;
for (const auto& student : students) {
cout << "学号:" << student.get_id() << ",姓名:" << student.get_name()
<< ",班级:" << student.get_class_id() << ",成绩:" << student.get_score() << endl;
}
}
// 显示教师数据
void show_teachers(const vector<Teacher>& teachers) {
cout << "教师数据:" << endl;
for (const auto& teacher : teachers) {
cout << "编号:" << teacher.get_id() << ",姓名:" << teacher.get_name()
<< ",职称:" << teacher.get_title() << ",部门:" << teacher.get_department() << endl;
}
}
// 主函数
int main() {
vector<Student> students = input_students();
vector<Teacher> teachers = input_teachers();
show_students(students);
show_teachers(teachers);
return 0;
}
```
这段代码定义了一个`Person`类作为`Student`和`Teacher`类的基类,分别表示学生和教师信息。在输入学生和教师信息时,我们通过`cin`函数获取用户输入,并将输入内容传入相应的类的构造函数中创建对象。最后,我们通过`cout`函数输出学生和教师的信息。