void shuchu(SqList &s,FILE *fp){
int i;
if((fp=fopen("input.dat","w"))==NULL){
printf("不能打开文件!\n");
return ;
}
//挨个遍历加入文件
for(i=0;i<s.length;i++){
fprintf(fp,"学号:%s\t姓名:%s\t数学成绩:%.1lf\t英语成绩:%.1lf\t计算机成绩:%.1lf\t平均分:%.1lf\n",
s.elem[i].number,s.elem[i].name,s.elem[i].mathscore,
s.elem[i].englishscore, s.elem[i].computerscore, s.elem[i].averscore);
}
fclose(fp);//关闭文件,释放缓存
}
打开一个文件就可以了
FILE *fp = fopen("a.txt","w");
shuchu(sq,fp);
使用do while函数让此游戏至少进行一次,while条件为input,很巧妙地将用户选择0的情况认定为假并结束程序,后用switch进行选择分支,不要漏掉break
根据参考资料中的示例代码,可以在主函数中调用Handle函数,并利用函数指针作为参数,指向所需调用的回调函数。具体步骤如下:
#include<stdio.h>
int call_back_1()
{
printf("Hello, this is Callback_1 \n");
return 0;
}
int call_back_2()
{
printf("Hello, this is Callback_2 \n");
return 0;
}
int call_back_3()
{
printf("Hello, this is Callback_3 \n");
return 0;
}
int Handle(int (*Callback)())
{
Callback();
}
int main()
{
Handle(call_back_1);
Handle(call_back_2);
Handle(call_back_3);
return 0;
}
运行该程序,可以在控制台输出如下结果:
Hello, this is Callback_1
Hello, this is Callback_2
Hello, this is Callback_3
这表示成功调用了三个不同的回调函数。