定义一个结构体数组,存放十个学生的人成绩和名字
时间: 2024-01-23 08:02:36 浏览: 81
以下是一个定义结构体数组来存放十个学生姓名和成绩的示例代码:
```c
#include <stdio.h>
#include <string.h>
struct student {
char name[50];
int score;
};
int main() {
struct student students[10];
// 存储学生姓名和成绩
strcpy(students[0].name, "Tom");
students[0].score = 80;
strcpy(students[1].name, "Jerry");
students[1].score = 90;
// 省略其他学生的信息
// 打印学生姓名和成绩
for (int i = 0; i < 10; i++) {
printf("Name: %s\nScore: %d\n", students[i].name, students[i].score);
}
return 0;
}
```
在这个示例中,我们定义了一个名为`student`的结构体,它有两个成员:`name`和`score`。然后我们定义了一个包含10个`student`结构体的数组`students`,并在其中存储了每个学生的姓名和成绩。最后,我们使用循环打印每个学生的姓名和成绩。
相关问题
定义一个结构体数组,存放10个学生的学号,姓名,三门课成绩
好的,以下是一个可能的定义方式:
```c
struct student {
int id;
char name[20];
float score[3];
};
struct student students[10];
```
这个结构体包含了三个成员变量:`id` 表示学号,`name` 表示姓名,`score` 是一个长度为 3 的数组,存放三门课的成绩。我们定义了一个名为 `students` 的结构体数组,它的长度为 10,可以存放 10 个学生的信息。
定义一个结构体数组存放十个学生的学号,姓名和成绩,从键盘输入这十个学生的以上内容,存入文件stud.txt,关闭文件,打开文件,将数据读出,查看是否正确再关闭文件
以下是实现代码:
```c++
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
struct Student {
string id;
string name;
double score;
};
int main() {
Student students[10];
// 从键盘输入学生信息
for (int i = 0; i < 10; i++) {
cout << "请输入第" << i + 1 << "个学生的学号、姓名和成绩,中间以空格分隔:" << endl;
cin >> students[i].id >> students[i].name >> students[i].score;
}
// 将数据存入文件
ofstream outfile("stud.txt");
if (!outfile) {
cerr << "无法创建文件" << endl;
return -1;
}
for (int i = 0; i < 10; i++) {
outfile << students[i].id << " " << students[i].name << " " << students[i].score << endl;
}
outfile.close();
// 读取文件并输出内容
ifstream infile("stud.txt");
if (!infile) {
cerr << "无法打开文件" << endl;
return -1;
}
for (int i = 0; i < 10; i++) {
infile >> students[i].id >> students[i].name >> students[i].score;
cout << "第" << i + 1 << "个学生的学号、姓名和成绩为:" << students[i].id << " " << students[i].name << " " << students[i].score << endl;
}
infile.close();
return 0;
}
```
以上代码中,我们定义了一个结构体 `Student` 表示学生,包含学号、姓名和成绩三个属性。在 `main()` 函数中,我们首先从键盘输入十个学生的信息,然后将这些信息存入文件 `stud.txt` 中。接着,我们读取这个文件,并将读取到的数据存入结构体数组 `students` 中,最后再输出这些数据。
需要注意的是,我们使用 `ofstream` 和 `ifstream` 分别来写入和读取文件。其中,`ofstream` 可以通过 `open()` 函数指定文件名和打开方式(默认是覆盖写入),而 `ifstream` 可以直接通过构造函数来指定文件名和打开方式。在写入和读取文件时,我们使用空格或换行符来分隔不同的属性值。
阅读全文