土间圆 2021-06-22 09:32 采纳率: 72.7%
浏览 55
已采纳

搜索文件里的对应信息,并输出对应信息到屏幕上

void dk()
{
	int id,m=0,i;
	struct STU p;
	FILE *fp;
	if((fp=fopen("stu.txt","r"))==NULL)
	{
		printf("\n文件不存在!\n\n");
		return;
	}
	while(!feof(fp))
	{
		if(fread(&stu[m],LEN,1,fp)==1)
			m++;
	}
	fclose(fp);
	if(m=0)
	{
		printf("\n文件里没有记录!\n\n");
		return;
	}
	printf("\n\n请输入您的学号:\n\n");
	printf("\n\n学号:");
	scanf("%s",p.id);

	for(i=0;i<m;i++)
	{
		if(strcmp(p.id,stu[i].id )==0)
		{
			printf("\n\n找到您的信息\n\n");
			printf("	   学号    姓名     专业     C语言  计算物理学   大学物理  原子物理      光学\n");
			printf(p_out,stu[i].id ,stu[i].name ,stu[i].zhuanye ,
                        stu[i].sc_1,stu[i].sc_2,stu[i].sc_3,stu[i].sc_4,stu[i].sc_5);
			break;
		}
	}
	if(i==m)
	{printf("\n\n未找到您的信息!\n");}
}

这个是通过学号搜索学生,然后把学生的成绩等信息输出到屏幕上,但是每次我都找不到信息qwq,不知道怎么回事

这个是学生信息的一部分:

261003216 李鹏      测控2      74        81        66        66        99
281001102 关迪      物理       85        78        82        55        65
281001103 刘张世安  物理       69        69        90        75        84
281001104 佟璐      物理       92        86        75        71        92
281001105 腾云      物理       88        75        86        53        93
281001106 王目昱    物理       74        81        66        66        99

int input(char *in,struct STU *ps)
{
	int i;
	char a[200];
	FILE *fp;
	if((fp=fopen(in,"r+"))==NULL)
	{
		puts("未找到文件!\n");
		exit(1);
	}
	for(i=0;i<1;i++)		/*为了跳过前几行读取用的*/
	{
		fgets(a,200,fp);
	}
	i=0;
	while(!feof(fp))
	{
		fscanf(fp,p_in,&ps[i].id ,ps[i].name ,ps[i].zhuanye ,&ps[i].sc_1 ,&ps[i].sc_2 ,&ps[i].sc_3 ,&ps[i].sc_4 ,&ps[i].sc_5 );
		i++;
	}
	return i;
}

这个是输入数据的部分,应该没有问题的。可以把数据输出到屏幕上

  • 写回答

5条回答 默认 最新

  • qzjhjxj 2021-06-22 10:00
    关注

    void dk() 函数里,第17行是错的,应该是:if(m==0) 

     

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题