该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#define LEN sizeof(struct student)

#include

#include

#include

struct student

{

int num;

char name[20];

int score[3];

int aver;

}; void personal_information_input(FILE *fp)

{

struct student *p;

int a,i,n;

printf("请输入将要输入的学生个数: ");

scanf("%d",&n);

printf("请输入学生的学号姓名和三科成绩:\n");

for(i=0;i

{

a=i+1;

printf("%d:",a);

p=(struct student *)malloc(LEN);

scanf("%d%s%d%d%d",&p->num,&p->name,&p->score[0],&p->score[1],&p->score[2]);

fwrite(p,LEN,1,fp);

p++;

}

} void personal_information_print(FILE *fp)

{

struct student *p,*p1;

int i=0;

p=(struct student *)malloc(LEN);

printf("请输入需要查找的学生的学号: ");

scanf("%d",&p->num);

p1=(struct student *)malloc(LEN);

fread(p1,LEN,1,fp);

while(!feof(fp))

{

fread(p1,LEN,1,fp);

if(p1->num==p->num)

printf("学号:%d 姓名:%s 成绩:%d %d %d 平均成绩:%d\n",

p->num,p->name,p->score[0],p->score[1],p->score[2],p->aver);

p1++;

fread(p1,LEN,1,fp);

}

} void average(FILE *fp)

{

struct student *p1;

p1=(struct student *)malloc(LEN);

fread(p1,LEN,1,fp);

while(!feof(fp))

{

p1->aver=(p1->score[0]+p1->score[1]+p1->score[2])/3.0;

fwrite(p1,LEN,1,fp);

p1++;

// p1=(struct student *)malloc(LEN);

fread(p1,LEN,1,fp);

}

}

void score_output(FILE *fp)

{

struct student *p1;

p1=(struct student *)malloc(LEN);

fread(p1,LEN,1,fp);

while(!feof(fp))

{

printf("学号:%d 姓名:%s 成绩:%d %d %d 平均成绩:%d\n",

p1->num,p1->name,p1->score[0],p1->score[1],p1->score[2],p1->aver);

// p1=(struct student *)malloc(LEN);

p1++;

fread(p1,LEN,1,fp);

}

}

void score_search(FILE *fp)

{

struct student *p,*p1;

p=(struct student *)malloc(LEN);

printf("输入要查找的学生成绩: ");

scanf("%d",&p->score[0]);

p1=(struct student *)malloc(LEN);

fread(p1,LEN,1,fp);

while(!feof(fp))

{

if(p1->score[0]==p->score[0])

printf("学号:%d 姓名:%s 成绩:%d %d %d 平均成绩:%d\n",

p1->num,p1->name,p1->score[0],p1->score[1],p1->score[2],p1->aver);

else if(p1->score[1]==p->score[0])

printf("学号:%d 姓名:%s 成绩:%d %d %d 平均成绩:%d\n",

p1->num,p1->name,p1->score[0],p1->score[1],p1->score[2],p1->aver);

else if(p1->score[2]==p->score[0])

printf("学号:%d 姓名:%s 成绩:%d %dd %d 平均成绩:%d\n",

p1->num,p1->name,p1->score[0],p1->score[1],p1->score[2],p1->aver);

p1=(struct student *)malloc(LEN);

fread(p1,LEN,1,fp);

p1++;

}

} void main()

{

char ch;

FILE *fp;

char filename[20];

printf("请输入所用的文件名:");

scanf("%s",filename);

if((fp=fopen(filename,"ab+"))==NULL)

{

printf("无法打开此文件!\n");

exit(0);

}

else

{ fp=fopen(filename,"wb+"); }

ch=getchar();

while(1)

{

printf("\n******************欢迎使用学生信息管理系统********************\n");

printf("\n******************** 1. 个人信息的录入 ********************\n");

printf("\n******************** 2. 个人信息的输出 ********************\n");

printf("\n******************** 3. 计算平均成绩 ********************\n");

printf("\n******************** 4. 成绩的查询 ********************\n");

printf("\n******************** 5. 成绩的输出 ********************\n");

printf("\n******************** 6. 退出程序 ********************\n");

printf("\n************ 请选择上述选项执行相应的操作 ************\n");

printf("************** 你选择执行的选项是: ");

ch=getchar();

switch (ch)

{

case '1':personal_information_input(fp);break;

case '2':personal_information_print(fp);break;

case '3':average(fp);break;

case '4':score_search(fp);break;

case '5':score_output(fp);break;

case '6':exit(0);

default: break;

}

getchar();

}

}

c语言文件名错误的是,C语言程序错误,不能正常读写文件,求解啊相关推荐

  1. c语言fputc输入字符串,C语言fgetc和fputc函数用法详解(以字符形式读写文件)

    C语言fgetc和fputc函数用法详解(以字符形式读写文件),文件,字符,指针,函数,字节 C语言fgetc和fputc函数用法详解(以字符形式读写文件) 易采站长站,站长之家为您整理了C语言fge ...

  2. c语言中应用程序错误,应用程序错误0xc0000022 浅析win10应用程序错误0xc0000022的应对办法...

    今天小编给大家浅析win10应用程序错误0xc0000022的应对办法,其实出现应用程序错误0xc0000022是因为win10缺少了系统所需要的某种组件功能的原因,遇到此问题的用户,可参照以下的方法 ...

  3. c语言fseek128字节,C语言rewind和fseek函数的用法详解(随机读写文件)

    前面介绍的文件读写函数都是顺序读写,即读写文件只能从头开始,依次读写各个数据.但在实际开发中经常需要读写文件的中间部分,要解决这个问题,就得先移动文件内部的位置指针,再进行读写.这种读写方式称为随机读 ...

  4. C语言rewind函数返回值为空,C语言rewind和fseek函数的用法详解(随机读写文件)...

    前面介绍的文件读写函数都是顺序读写,即读写文件只能从头开始,依次读写各个数据.但在实际开发中经常需要读写文件的中间部分,要解决这个问题,就得先移动文件内部的位置指针,再进行读写.这种读写方式称为随机读 ...

  5. python rewind_C语言rewind和fseek函数的用法详解(随机读写文件)

    前面介绍的文件读写函数都是顺序读写,即读写文件只能从头开始,依次读写各个数据.但在实际开发中经常需要读写文件的中间部分,要解决这个问题,就得先移动文件内部的位置指针,再进行读写.这种读写方式称为随机读 ...

  6. java关于资源的描述错误的是_在Java中,下列关于读写文件的描述错误的是

    摘要: 新方主要的创法是,下列指2技术纪6今的现代阶段是代至0年创新方法发展0世.读写的描本环过程节是的基思维.制让觉控当视动觉位于时控制,文件误技能动作处于说明.... 新方主要的创法是,下列指2技 ...

  7. traybox错误怎么办_safeboxtray.exe---应用程序错误是怎么回事?

    出现这个现象有方面的,一是硬件,即内存方面有问题,二是软件,这就有多方面的问题了. 一:先说说硬件: 一般来说,电脑硬件是很不容易坏的.内存出现问题的可能性并不大(除非你的内存真的是杂牌的一塌徒地), ...

  8. 电脑关机显示应用程序无法正常启动(0Xc0000142)错误,taskist.exe应用程序错误

    之前电脑每一次关机都显示应用程序无法正常启动(0Xc0000142)错误,试了很多种方法,差点要重装系统了,但是太麻烦,卸载了电脑上一个叫星速的软件,这个问题就好了,如果你电脑也有这个问题,看看有没有 ...

  9. c语言程序中的错误可分为,C语言程序常见错误与调试方法(1)

    <C语言程序常见错误与调试方法(1)>由会员分享,可在线阅读,更多相关<C语言程序常见错误与调试方法(1)(17页珍藏版)>请在人人文库网上搜索. 1.C语言程序常见错误与调试 ...

  10. ‘svchost.exe-应用程序错误 0xc0000409’客户端无法登陆终端服务器之解决方法

    'svchost.exe-应用程序错误 0xc0000409'客户端无法登陆终端服务器之解决方法! 昨天上午10点左右,公司突然停电,同事们都在不断的抱怨自己的文档没有保存.在此提醒大家编辑文档的时候 ...

最新文章

  1. Gym 101845(2018 ACM-ICPC, Universidad Nacional de Colombia Programming Contest)
  2. Java开发面试问题,牛逼轰轰!
  3. Docker快速安装与快速入门
  4. 测试计划(GB8567——88)
  5. jmap, jhat, jvisualvm:java堆内存对象分析利器
  6. MySQL官方备份_Mysqlbackup 备份详解(mysql官方备份工具)
  7. Jmeter文章索引贴
  8. 电子称测试软件,GS/AJ系列电子秤测量自动记录系统
  9. HTML+CSS简易淘宝页面
  10. 3D数学基础(二)| 向量
  11. 华为OJ 扑克牌大小
  12. 显示器尺寸对照表_电脑液晶屏尺寸如何计算,液晶屏尺寸对照表
  13. 大学生计算机竞赛试题,大学生计算机基础知识竞赛题库_大学生计算机基础知识竞赛试题附答案.docx...
  14. linux执行脚本中方法,Linux中执行shell脚本命令的4种方法总结
  15. Sexagenary Cycle(干支纪年)
  16. 机器学习因子:在线性因子模型中捕捉非线性
  17. VR系列--VR介绍
  18. 做好公司各部门数据报表支撑的几个简单思维
  19. IT外包公司的运作模式如何,他们的赚钱之道何在
  20. 2022年计算机考研408考点清单(1.0版本已更完——欢迎指正)

热门文章

  1. N皇后问题——DFS+回溯剪枝
  2. word 代码块_Python+Excel+Word一秒制作百份合同
  3. python程序设计第二版课后答案江红_Python核心编程第二版 第十三章课后答案
  4. python贴吧顶贴_python模拟登录百度贴吧
  5. 计算机重新如何连接网络打印机,电脑怎样连接打印机,小编教你电脑如何连接网络打印机...
  6. android 编译api,Android逆向利器,直接将apk转换为可二次开发Android工程,提供So hook Api,......
  7. 产生1000w不重复的数字
  8. VTK(一)---VTK简单示例
  9. OpenCV(二)---朴素贝叶斯分类器 NormalBayesClassifier
  10. 超轻薄笔记本电脑软件测试,一口气测了三款轻薄本 这三个核心问题有答案了...