C语言。*函数名称:stdinForStu *函数功能:从键盘输入数据,保存到指针 p所指向的数组中 *输入格式:共输入num行;每行输入一个stu型数据,每个成员变量之间用空格 分隔 *形式参数:struct stu*p,指向 stu型一维数组首地址 *形式参数:int num,一维数组元素个数 回值:无 */ void stdinForStu(struct stu *p, int num) //请编程实现本函数 /* *函数名称:writeFileForStu *函数功能:向文件格式化写入数据 *写入格式:共写入 num行;每行写入一个stu型数据,每个成员变量之间用空格 分隔 *形式参数:struct stu*p,指向 stu 型一维数组首地址。该数组数据将被写入文件 *形式参数:int num,一维数组元素个数,也即写入到文件的行数 *形式参数:char filename[],待写入的文件路径及名称 *形式参数:char mode[],文件使用方式*返回值:无 */ void writeFileForStu(struct stu *p, int num, char filename[],char mode[]){ //请编程实现本函数
时间: 2023-07-24 10:11:12 浏览: 143
下面是两个函数的代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
struct stu {
int id;
char name[20];
int score;
};
void stdinForStu(struct stu *p, int num) {
for (int i = 0; i < num; i++) {
scanf("%d %s %d", &p[i].id, p[i].name, &p[i].score);
}
}
void writeFileForStu(struct stu *p, int num, char filename[], char mode[]) {
FILE *fp = fopen(filename, mode); // 打开文件
if (fp == NULL) {
printf("Cannot open file %s!\n", filename);
exit(1);
}
for (int i = 0; i < num; i++) {
fprintf(fp, "%d %s %d\n", p[i].id, p[i].name, p[i].score); // 写入数据
}
fclose(fp); // 关闭文件
}
```
`stdinForStu` 函数从键盘输入数据,保存到指针 `p` 所指向的数组中。每行输入一个 `stu` 型数据,每个成员变量之间用空格分隔。形式参数 `p` 是指向 `stu` 型一维数组首地址的指针,形式参数 `num` 是一维数组元素个数。
`writeFileForStu` 函数向文件格式化写入数据。共写入 `num` 行;每行写入一个 `stu` 型数据,每个成员变量之间用空格分隔。形式参数 `p` 是指向 `stu` 型一维数组首地址的指针,该数组数据将被写入文件。形式参数 `num` 是一维数组元素个数,也即写入到文件的行数。形式参数 `filename` 是待写入的文件路径及名称,形式参数 `mode` 是文件使用方式。函数返回值为无。
阅读全文