源文件内容:

黄少天 通信 100 85 100
喻文州 通信 100 95 88
郑轩 通信 85 85 85
徐景熙 通信 89 66 82
卢瀚文 通信 61 92 98
宋晓 通信 88 97 68
叶修 物联网 100 100 100
魏琛 物联网 25 95 98
唐柔 物联网 100 98 96
安文逸 物联网 98 76 85
包子 物联网 22 78 65
罗辑 物联网 86 100 100
陈果 物联网 85 86 75
苏沐橙 物联网 98 86 98
周泽楷 网络 100 100 100
江波涛 网络 98 76 85
孙翔 网络 56 85 98
杜明 网络 76 85 78
方明华 网络 89 98 52
吕泊远 网络 85 28 78
吴启 网络 76 89 85

代码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define judgecom(str) (strcmp(str,"通信"))
#define judgeint(str) (strcmp(str,"网络"))
#define judgenet(str) (strcmp(str,"物联网"))
int ReadStudentInfo(const char*filename,struct student**pStudents);
void Count(struct student pStudents[],int num);
int comper=0,comav,comsum=0;
int intper=0,intav,intsum=0;
int netper=0,netav,netsum=0;
struct student
{char name[20];char major[20];int eng_sco;int xd_sco;int c_sco;int sum;
};
int main()
{int zongshu;int a;struct student *list;zongshu=ReadStudentInfo("C:\\Users\\pc\\Desktop\\Stuinfor.txt",&list);printf("学生信息:\n");printf("-------------------------------------------------------\n");printf("序号 姓名 专业名称 英语成绩 线性代数成绩 c语言成绩 总成绩\n");for(a=1;a<=zongshu;a++){printf("%4d %6s  %6s      %4d       %4d         %4d     %4d\n",a,(list+a-1)->name,(list+a-1)->major,(list+a-1)->eng_sco,(list+a-1)->xd_sco,(list+a-1)->c_sco,(list+a-1)->sum);}Count(list,zongshu);printf("统计信息:\n");printf("-------------------------------------------------------\n");printf("序号  专业名称  学生人数  平均成绩\n");printf(" 1      通信      %d        %d\n",comper,comav);printf(" 2      网络      %d        %d\n",intper,intav);printf(" 3     物联网     %d        %d\n",netper,netav);return 0;
}
int ReadStudentInfo(const char*filename,struct student**pStudents)
{FILE *fp;char ch;int stu_num=1,i;fp=fopen(filename,"r");if(fp==NULL){printf("cann't open the file");exit(-1);}ch=fgetc(fp);while(ch!=EOF){if(ch=='\n'){stu_num++;}ch=fgetc(fp);}*pStudents=(struct student*)malloc(sizeof(**pStudents)*stu_num);fseek(fp,0,SEEK_SET);for(i=0;i<stu_num;i++){fscanf(fp,"%s %s %d %d %d",(*pStudents+i)->name,(*pStudents+i)->major,&(*pStudents+i)->eng_sco,&(*pStudents+i)->xd_sco,&(*pStudents+i)->c_sco);(*pStudents+i)->sum=((*pStudents+i)->eng_sco+(*pStudents+i)->xd_sco+(*pStudents+i)->c_sco);}fclose(fp);return stu_num;
}
void Count(struct student pStudents[],int num)
{int j;for(j=0;j<num;j++){if(judgecom((pStudents+j)->major)==0){comper++;comsum+=(pStudents+j)->sum;comav=comsum/comper;}if(judgeint((pStudents+j)->major)==0){intper++;intsum+=(pStudents+j)->sum;intav=intsum/intper;}if(judgenet((pStudents+j)->major)==0){netper++;netsum+=(pStudents+j)->sum;netav=netsum/netper;}}free(pStudents);
}

高级语言程序设计 实验报告一:数据文件的读出和数据统计相关推荐

  1. python上机实验报告读取文件_Python程序设计实验报告八 : 文件

    安徽工程大学 Python程序设计 实验报告 班级 物流192 姓名凌剑涛 学号 3190505233成绩 日期2020.6.3 指导老师 修宇 实验八 文件 [实验目的] 掌握读写文本文件或CSV文 ...

  2. 基于python物流管理系统毕业设计-Python程序设计实验报告八:文件

    安徽工程大学 Python程序设计 实验报告 .班级 物流192 姓名张羽学号3190505221成绩 日期2020.6.3指导老师修宇 实验八 文件 [实验目的] 掌握读写文本文件或 CSV 文件, ...

  3. 高级语言程序设计 实验报告二:使用质数表进行因式分解和求10000内完美数

    1.因式分解 #include<stdio.h> #include<string.h> int Prime(int x,int prime[]); int IsPrime(in ...

  4. python上机实验报告读取文件_Python程序设计实验报告:实验八 文件

    安徽工程大学 Python程序设计 实验报告 班级 物流192姓名陶俊 学号3190505235 成绩 日期 2020.6.3 指导老师修宇 实验八 文件 [实验目的] 掌握读写文本文件或 CSV 文 ...

  5. 计算机测绘程序设计实验报告,测绘程序设计(VS2008)实验报告--文件操作.docx

    测绘程序设计(VS2008)实验报告--文件操作.docx 上传人:B****s 文档编号:18365883 上传时间:2019-04-28 格式:DOCX 页数:9 大小:102.93KB 下载提示 ...

  6. c语言程序设计实验报告2,C语言程序设计实验报告2.docx

    C语言程序设计实验报告2.docx 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3.该 ...

  7. c语言实验转换字母顺序结构,实验1顺序结构的程序设计-实验报告.doc

    实验1顺序结构的程序设计-实验报告 实验1 顺序结构的程序设计 每人在D盘建立自己的文件夹(学号+姓名)如D:\00001王菲,所编写的程序文件和实验报告就放在这个文件夹里,成果提交时将文件夹压缩传到 ...

  8. c语言选择循环实验报告,C语言程序设计实验报告选择与循环结构程序设计.doc

    C语言程序设计实验报告选择与循环结构程序设计.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的 ...

  9. c语言的简单程序设计实验报告,工程学院C语言程序设计实验报告

    <工程学院C语言程序设计实验报告>由会员分享,可在线阅读,更多相关<工程学院C语言程序设计实验报告(5页珍藏版)>请在人人文库网上搜索. 1.南京工程学院实验报告课程名称C 语 ...

最新文章

  1. 关于文献中二代测序数据下载(NCBI)的问题
  2. 决策树剪枝的方法与必要性
  3. struts2 标签的使用之二 s:iterator
  4. 手术步骤_做过 激光手术 恢复视力 的人们,后面怎么样呢?
  5. 事态升级是什么意思_第602期搞笑gif动图:不好意思,腿太长了,来个歪打正着...
  6. html图像特征提取,图像识别之图像特征提取
  7. windows键盘在mac上怎么识别_Mac电脑怎么使用pc键盘?
  8. windows7系统适合哪个python_Python3.6.4在Windows7系统下安装配置教程
  9. 计算机应用常用的30个函数,Excel中常用函数的使用
  10. sql优化学习(一)
  11. Nginx 404 500
  12. 树的非递归前中后序遍历
  13. 四叶草clover配置工具Clover Configurator 5.4.4.0汉化版
  14. 常用来进行钢结构节点输出的软件是什么_【经验分享】钢结构深化设计BIM应用方法总结...
  15. 系统盘清理,便携小助手一键清理系统垃圾
  16. VMware ESXi支持配置最大值
  17. Jieyue捷阅网购物商城项目介绍说明
  18. sass入门_Sass入门
  19. 模仿是学习的最佳途径
  20. h5首页加载慢_为什么你做的H5开屏那么慢?H5首屏秒开方案探讨

热门文章

  1. ifconfig eth0 down禁用网卡操作致使ssh连接不上,ping不通机器
  2. 2019.04.20【NOIP提高组】模拟 B 组 观察题目+堆(?)+最大匹配+贪心、DP
  3. 6a标准 api_API6A标识规范(最新)
  4. C++到底还能做什么? ----感觉说的还是很有道理的,共勉!
  5. 操作系统教程(第5版)习题解答
  6. 【长按图片保存到相册】Vue移动端H5页面实现长按图片保存到手机功能
  7. POJ1753 flip Game翻转棋盘
  8. Workflow Engine for .Net Core ENTERPRISE v4.0.10-SEO-狼术
  9. 一套开源快速开发平台--若依(ruoyi)
  10. 忘记各种电脑密码的解决办法