从磁盘输入3个学生的有关数据(学号、姓名、班级、籍贯),将它们转存到磁盘文件上
时间: 2023-12-09 16:02:51 浏览: 53
好的,您可以按照以下Python代码实现:
```python
# 从磁盘读取学生数据
with open('input.txt', 'r') as f:
students = []
for line in f:
data = line.strip().split(' ')
student = {'学号': data[0], '姓名': data[1], '班级': data[2], '籍贯': data[3]}
students.append(student)
# 将学生数据存到磁盘文件上
with open('output.txt', 'w') as f:
for student in students:
f.write('{} {} {} {}\n'.format(student['学号'], student['姓名'], student['班级'], student['籍贯']))
```
以上代码将从名为 `input.txt` 的文件中读取学生数据,每行数据包含学号、姓名、班级和籍贯,用空格分隔。然后将这些学生数据存储到名为 `output.txt` 的文件中,每行数据的格式与输入文件相同。
您可以根据需要修改文件名和路径。
相关问题
从键盘输入3个学生的学号,姓名,班级,籍贯,将它们转存到磁盘文件上
好的,这个问题可以分为以下几个步骤:
1. 定义一个结构体来存储学生信息
2. 从键盘输入3个学生的信息
3. 将学生信息保存到文件中
下面是一个简单的C语言程序,实现了这个功能:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义学生信息结构体
typedef struct {
char id[20];
char name[20];
char class[20];
char hometown[50];
} Student;
int main()
{
Student students[3];
int i;
// 从键盘输入3个学生的信息
for(i = 0; i < 3; i++)
{
printf("请输入第%d个学生的信息:\n", i+1);
printf("学号:");
scanf("%s", students[i].id);
printf("姓名:");
scanf("%s", students[i].name);
printf("班级:");
scanf("%s", students[i].class);
printf("籍贯:");
scanf("%s", students[i].hometown);
}
// 将学生信息保存到文件中
FILE *fp = fopen("students.txt", "w");
if(fp == NULL)
{
printf("无法打开文件!\n");
exit(1);
}
for(i = 0; i < 3; i++)
{
fprintf(fp, "学号:%s,姓名:%s,班级:%s,籍贯:%s\n", students[i].id, students[i].name, students[i].class, students[i].hometown);
}
fclose(fp);
printf("学生信息已成功保存到文件 students.txt 中!\n");
return 0;
}
```
这个程序中,我们使用了一个结构体来存储学生信息,使用了一个循环从键盘输入3个学生的信息,使用了fprintf函数将学生信息保存到文件中,使用了fclose函数关闭文件。
c语言代码:从磁盘输入3个学生的有关数据(学号、姓名、班级、籍贯),将它们转存到磁盘文件上
好的,以下是一个 C 代码示例,可以实现从磁盘读取学生数据并将其保存到磁盘文件:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 50 // 假设每个字段的最大长度为 50
struct student {
char id[MAX_LEN];
char name[MAX_LEN];
char class[MAX_LEN];
char hometown[MAX_LEN];
};
int main() {
FILE *in_file, *out_file;
char filename[50];
char line[200];
struct student students[3];
int i;
// 从文件中读取学生数据
printf("请输入数据文件名:");
scanf("%s", filename);
in_file = fopen(filename, "r");
if (in_file == NULL) {
printf("无法打开文件 %s\n", filename);
return 1;
}
for (i = 0; i < 3; i++) {
fgets(line, sizeof(line), in_file);
sscanf(line, "%s %s %s %s", students[i].id, students[i].name, students[i].class, students[i].hometown);
}
fclose(in_file);
// 将学生数据写入文件
printf("请输入输出文件名:");
scanf("%s", filename);
out_file = fopen(filename, "w");
if (out_file == NULL) {
printf("无法打开文件 %s\n", filename);
return 1;
}
for (i = 0; i < 3; i++) {
fprintf(out_file, "%s %s %s %s\n", students[i].id, students[i].name, students[i].class, students[i].hometown);
}
fclose(out_file);
return 0;
}
```
上面的代码使用了结构体来存储每个学生的信息,其中包括学号、姓名、班级和籍贯。程序首先要求用户输入数据文件名和输出文件名,然后从数据文件中读取 3 个学生的信息,将其存储在结构体数组中。最后,程序将学生数据写入输出文件中。
请注意,上面的代码假设每个字段的最大长度为 50,您可以根据需要进行修改。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)