大佬们可以帮我看看吗

 

定义图书的结构体数组,循环输入再保存。

参考:

/* Note:Your choice is C IDE */
#include "stdio.h"

#define N 2
struct Student
{
	//学号
	int		num; //成员变量或者一个数据项
	//姓名
	char	name[20];
	//性别
	char	sex; //M,F
	//成绩
	float	html;	
	float	ppt;
	float	cyuyan;
	float	sum;
}st[N];
void input();
void display();
void main()
{
    input();
    display();
}
//输入函数
void input()
{
	int i;
	for(i=0;i<N;i++)
	{
		printf("请输入第%d个学生的学号,姓名,性别,html,ppt,cyuyan:",i+1);
		scanf("%d",&st[i].num);
		scanf("%s ",st[i].name);
		scanf("%c ",&st[i].sex);
		scanf("%f",&st[i].html);
		scanf("%f",&st[i].ppt);
		scanf("%f",&st[i].cyuyan);
		st[i].sum = st[i].html+st[i].ppt+st[i].cyuyan;
	}
		
}
//输出
void display()
{
	int i;
	printf("学号\t姓名\t\t性别\thtml\tppt\tC语言\t总分\t平均分\n");	
	for(i=0;i<N;i++)
	{
		printf("%d\t%s\t%c\t%0.2f\t%0.2f\t%0.2f\t%0.2f\t%0.2f\n",st[i].num,st[i].name,st[i].sex,st[i].html,st[i].ppt,st[i].cyuyan,st[i].sum,st[i].sum/3);
	}	
}

 

第一步定义图书结构和数组,scanf逐个输入信息,然后fopen("文件名","w")打开文件,fprintf逐行写入图书数据

第二步读取写入的文件,打开指定新文件名的文件,通过fread和fwrite进行文件数据的逐行赋值

第三步,读取新文件的图书数据到数据结构数组,再添加一个新数组成员,打印出所有图书信息,并参考第一步实现图书数据回写到文件

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632