C语言编程>第十周 ⑤ 学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,它的功能是:函数返回指定学号的学生数据,指定的学号在主函数中输入。

例题:学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,它的功能是:函数返回指定学号的学生数据,指定的学号在主函数中输入。若没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回(用于字符串比较的函数是strcmp)。

请勿改动主函数main与其它函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

代码如下:

#include
#include
#define M 10
#define M 10
typedef struct
{
     
char num[10];
int s;
}SCORE;
SCORE fun(SCORE*p,char*q)
{
     
	int i;
	SCORE t;
	for(i=0;i<M;i++)
	if(strcmp(p[i].num,q)==0)
	{
     
		t=p[i];
		break;
	}
	else
	{
     
		strcpy(t.num,"");
		t.s=-1;
	}
	return t;
}
main()
{
     
	SCORE stu[M]={
     {
     "G002",69},{
     "G004",85},{
     "G001",96},{
     "G007",72},{
     "G008",64},{
     "G006",87},{
     "G015",85},{
     "G013",94},{
     "G012",64},{
     "G014",91}};
	SCORE t;
	char m[10];
	int i;
	FILE*out;
	printf("The original data:\n");
	for(i=0;i<M;i++)
	{
     
		if(i%4==0)
		printf("\n");
		printf("%s   %3d\n",stu[i].num,stu[i].s);
	}
	printf("\n\nEnter the number:");
	gets(m);
	t=fun(stu,m);
	printf("The data :");
	printf("\n%s %4d\n",t.num,t.s);
	printf("\n");
	out=fopen("outfile.dat","w");
	t=fun(stu,"G013");
	fprintf(out,"%s %4d\n",t.num,t.s);
	fclose(out);
}

输出运行窗口如下:
C语言编程>第十周 ⑤ 学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组stu中,请编写函数fun,它的功能是:函数返回指定学号的学生数据,指定的学号在主函数中输入。_第1张图片

越努力越幸运!
加油,奥力给!!!

你可能感兴趣的:(笔记)