用C++语言编写如下程序:有一个学生类student,包括学生姓名、成绩,设计一个友元函数,输出成绩对应的等级:大于等于90:优;80~90:良;70~79:中;60!69:及格;小于60:不及格。
时间: 2023-06-01 17:06:11 浏览: 89
好的,请稍等。。。
根据您的要求,这是一个符合要求的C++程序:
```cpp
#include <iostream>
#include <cstring>
class student {
private:
char name[20];
int score;
public:
friend void printGrade(student s);
};
void printGrade(student s) {
if(s.score >= 90) {
std::cout << "优\n";
} else if(s.score >= 80) {
std::cout << "良\n";
} else if(s.score >= 70) {
std::cout << "中\n";
} else if(s.score >= 60) {
std::cout << "及格\n";
} else {
std::cout << "不及格\n";
}
}
int main() {
student s;
std::cout << "请输入学生姓名:\n";
std::cin >> s.name;
std::cout << "请输入学生成绩:\n";
std::cin >> s.score;
printGrade(s);
return 0;
}
```
感谢您对我提出的问题!
相关问题
用c++语言编写以下程序:有一个学生类student,包括学生姓名、成绩,设计一个友元函数,输出成绩对应的等级:大于等于90:优;80~90:良;70~79:中;60!69:及格;小于60:不及格。
好的,这是一个关于 C 语言编写一个学生类的程序的问题。根据您的要求,该程序应该包括一个名为 student 的类,其属性包括学生姓名和成绩,还应该设计一个友元函数,用于输出成绩对应的等级。程序的具体实现如下:
```c
#include <stdio.h>
#include <string.h>
typedef struct {
char name[20]; // 定义学生姓名
float score; // 定义成绩
} student;
void printGrade(student stu) {
if (stu.score >= 90) {
printf("%s的等级是优\n", stu.name);
} else if (stu.score >= 80) {
printf("%s的等级是良\n", stu.name);
} else if (stu.score >= 70) {
printf("%s的等级是中\n", stu.name);
} else if (stu.score >= 60) {
printf("%s的等级是及格\n", stu.name);
} else {
printf("%s的等级是不及格\n", stu.name);
}
}
int main() {
student stu;
strcpy(stu.name, "小明");
stu.score = 85.5;
printGrade(stu);
return 0;
}
```
这个程序使用了 typedef 创建了一个名为 student 的结构体,其中包括了学生姓名和成绩两个属性。接着定义了一个名为 printGrade 的友元函数,用来输出成绩对应的等级。在 main 函数中,初始化了一个学生对象 stu,将其姓名设置为小明,成绩设置为 85.5,并调用 printGrade 函数输出其等级。
用C++编写以下程序,有一个学生类 student,包括学生姓名、成绩,设计一个友元函数,输出成绩对应的等级: 大于等于 90:优;80~90:良;70~79:中;60~69:及格;小于 60:不及格。 指导:在学生类 student 中定义 3 个数据成员:学生姓名、成绩、等级。定义 2 个成员函 数,分别对学生信息进行设置、输出。另外还定义了一个友元函数 trans(),将成绩转换为对应 的等级。
以下是程序的代码:
```c++
#include <iostream>
#include <string>
using namespace std;
class student {
private:
string name;
int score;
char grade;
public:
void setInfo(string n, int s) {
name = n;
score = s;
trans(score);
}
void getInfo() {
cout << "Name: " << name << endl;
cout << "Score: " << score << endl;
cout << "Grade: " << grade << endl;
}
friend void trans(int s) {
if (s >= 90) {
grade = 'A';
} else if (s >= 80) {
grade = 'B';
} else if (s >= 70) {
grade = 'C';
} else if (s >= 60) {
grade = 'D';
} else {
grade = 'F';
}
}
};
int main() {
student s;
s.setInfo("Tom", 85);
s.getInfo();
return 0;
}
```
在上面的代码中,我们定义了一个学生类 `student`,该类有三个数据成员:学生姓名、成绩、等级。`setInfo` 函数用于设置学生信息,其中包括学生姓名和成绩,而 `getInfo` 函数用于输出学生信息,包括学生姓名、成绩和等级。
我们还定义了一个友元函数 `trans`,该函数将成绩转换为对应的等级,并将结果存储在等级变量 `grade` 中。这个函数定义为友元函数,是因为我们需要访问 `student` 类中的私有成员变量 `grade`。
在 `main` 函数中,我们创建了一个学生对象 `s`,并使用 `setInfo` 函数设置了学生信息。然后,我们调用 `getInfo` 函数输出学生信息,其中包括成绩对应的等级。
阅读全文