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

#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语言fscanf和fprintf函数的用法详解(格式化读写文件)

    fscanf() 和 fprintf() 函数与前面使用的 scanf() 和 printf() 功能相似,都是格式化读写函数,两者的区别在于 fscanf() 和 fprintf() 的读写对象不是 ...

  2. c语言调试时出现的三种错误,C语言课件 第十四章 常见错误和程序调试

    <C语言课件 第十四章 常见错误和程序调试>由会员分享,可在线阅读,更多相关<C语言课件 第十四章 常见错误和程序调试(36页珍藏版)>请在人人文库网上搜索. 1.第十四章常见 ...

  3. 如何定位逻辑错误C语言,如何调试C程序的语法错误和逻辑错误

    如何调试C程序的语法错误和逻辑错误 语法错误] 语法错误,这是C语言初学者出现最多的错误,比如,分号":"是每个C语句的结束的标志,在C语句后忘记写":"就是语 ...

  4. c语言中的语义错误和语法错误,C语言程序中对错误的调试

    程序调试 现在我们已经可以编写一个简单的 C语言程序了,但是你可能会犯一些简单的错误.程序的错误通常叫做 bug,而发现和修正这些错误的过程叫做调试.下面有一个带有一些错误的程序,看看你能找出多少. ...

  5. c语言conflicting types,gcc编译C程序出现”error conflicting types for function”编译错误的分析解决...

    今天使用gcc编译C语言程序时出现 "error conflicting types for function" 编译错误,这个错误的原因是什么?如何解决?以下看正文的讲解. 在使 ...

  6. 一个c语言程序只要编译和链接没有错误,一个 C 语言程序只要编译和链接没有错误,程序运行结果就肯定正确...

    一个 C 语言程序只要编译和链接没有错误,程序运行结果就肯定正确 更多相关问题 网页表单中不能插入表格.() 要想在一个网页中嵌套另外一个网页,一般可以使用页内框架.() 贸易也是一种特殊的技术.() ...

  7. c语言——程序出现C4996:scanf 等错误的解决方法

    c语言--程序出现C4996:scanf 等错误的解决方法(不用scanf_s替换解决) 问题实例 解决方法 方法1 方法2 在VS编译器下,编写的c语言程序在调试编译时可能会出现c4996警告或错误 ...

  8. 关于python中程序流程结构-Python语言程序设计(第4章:程序结构设计)

    4.1 算法 [1]计算机程序可视为数据结构和算法的集成,这种集成体现为以下两方面的内容:数据是程序实现的基础:算法要依靠程序来完成功能. [2]算法的特点:有穷性:确定性:零个或多个输入:一个或多个 ...

  9. python语言程序设计基础网课-Python语言程序设计基础答案

    [填空题]逻辑型数据在参与算术运算的过程中可以被当作整数进行操作,通常True的值对应整数1,False的值对应整数____________. [单选题]在Python中,不可以用来表示字符串的符号是 ...

  10. python语言程序设计基础网课-程序设计基础(Python语言)答案

    [单选题]下面代码的输出结果是 ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬ d = ...

最新文章

  1. 【知识强化】第一章 操作系统概述 1.1 操作系统的基本概念
  2. 转载:CSS垂直居中总结
  3. 数据算法之快速排序(quickSort)的Java实现
  4. redhat自带mysql_rhel4卸载系统自带的mysql4.1
  5. python第五章课后题答案_python程序设计基础(嵩天)第五章课后习题部分答案
  6. 蓝桥杯泊松分酒java_【蓝桥杯】泊松分酒
  7. PLSQL 缺少MSVCR120.dll
  8. UCOS操作系统——创建与删除任务(三)
  9. 卡巴斯基实验室2017年威胁预测
  10. https://www.cnblogs.com/skywang12345/category/455711.html
  11. linux 服务器搭建opvn
  12. 软件测试自学英语语法,5个能力一流的英语自学APP,赶紧盘它,让你告别零基础...
  13. TBB基础之parallel_for
  14. 将区块链带到第三世界:分布式电商BitCherry的格局与野心
  15. rundll32 常用命令
  16. java计算机毕业设计企业间信息交互系统源代码+数据库+系统+lw文档
  17. 获取管理员权限的相关命令
  18. Follow me 学习总结
  19. 基于Jfinal-Engine实现 word 文档的渲染导出功能,通过xml渲染后再转word
  20. 火山引擎入选国内首个《边缘计算产业全景图》

热门文章

  1. 评估服务基础性能应该参考那些指标?
  2. 5分钟快速接入钉钉实现钉钉考勤
  3. 开发人员如何学习 Kubernetes
  4. 五分钟了解Consul
  5. [原]排错实战——通过对比分析sysinternals事件修复程序功能异常
  6. 一个通用数据库操作组件DBUtil(c#)、支持SqlServer、Oracle、Mysql、postgres、SQLITE
  7. Blazor——Asp.net core的新前端框架
  8. 基于IdentityServer4 实现.NET Core的认证授权
  9. 业务流程、长周期服务和微服务
  10. [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了