C语言大作业学生成绩信息管理系统.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言大作业学生成绩信息管理系统

By DUT 电信1214《程序设计基础》---大程序作业报告题目:学生成绩信息管理系统姓名:刘阳学号:201281***Tel:188********email:139*******@1.开发工具:Visual C++ 6.02.对问题的理解:题目要求的这个系统应该包含两个部分,一个是文件管理,一个是数据处理。文件管理就是新建学生信息文件并保存、添加或修改学生记录,对原有学生信息文件进行读取。3.所用到的知识点:带参宏替换,全局变量与静态变量,基本语句(如if,for等),函数的定义与调用,各种指针做函数参数,结构体数组,结构体数组指针,返回指针值的函数,动态分配函数,文件的打开与关闭,文件的读写,文件的指针定位。4.所使用的数据结构和函数功能说明:一共有12个函数:①void sort_sex(struct student stu[],intn,char a)按性别筛选列表,形参stu[]为保存数据的结构体数组指针,形参n为学生数量,形参a为主函数中输入的想要筛选的性别。②void sort_average(struct student stu[],float x[],intn,int m)按平均分进行排序或者求平均分最高个人,形参m控制实现哪种功能,形参stu[]为保存数据的结构体数组指针,形参n为学生数量,形参x[]为保存有每个人平均分的数组指针。③float * average_subject(struct student *p,int n)按科目求平均分,形参stu[]为保存数据的结构体数组指针,形参n为学生数量。④float average_person(struct student *p)按指定个人求平均分,形参为指向保存数据的结构体指针。⑤void find_subject_max(struct student stu[],intn,int m)查找指定科目最高分,形参stu[]为保存数据的结构体数组指针,形参n为学生数量,形参m控制所要查询的科目。⑥void sort_higher(struct student stu[],float x[],intn,int m)按平均分高于指定个人筛选列表,形参stu[]为保存数据的结构体数组指针,形参x[]为保存有每个人平均分的数组指针,形参n为学生数量,形参m为作为标准的学生的序号。⑦void indata(struct student *p,int n)输入数据函数,形参*p为指向用来记录学生信息的结构体数组的指针,形参n为想要保存数据的学生的个数。⑧void savef(struct student *p,int n)保存数据函数,形参*p为指向用来记录学生信息的结构体数组的指针,形参n为想要保存数据的学生的个数。⑨void loadf(struct student *p,int n)读取数据函数,形参*p为指向用来记录读取的数据的结构体数组的指针,形参n为所读取的文件中含有学生记录个数。⑩void change(int n)修改学生记录函数,形参n为所要修改的文件中含有学生记录的个数。?void add()增加学生记录函数。?void quntity()求文件中所含学生记录个数函数。所使用数据结构主要有全局变量n,结构体数组stu[50],静态数组x[50],以及其他辅助变量。5.结合模块化代码(进行截图),进行算法描述:首先,先描述一下各个函数的算法,再结合main函数进行流程及主体算法描述。在编译预处理时进行带参宏替换,方便接下来输出学生信息。a代表所要筛选的性别,利用循环结构将与其相同的学生的信息输出。建立一个y[50]数组,当做平均分数组元素的下标,这样便可以对下标进行交换,这样就可以知道平均分数组的大小排序而不用交换其中的元素。同时利用m的值及if条件语句控制所用功能,m=1时按输出按平均分排序的列表,m=2时输出平均分最高个人信息。定义了一个储存各科平均分的数组,由于主函数中仍要调用该数组,所以定义为静态数组,返回一个指向该数组的指针。同时利用指针移动及循环结构将各科平均分存入静态数组中。求个人平均分。利用开关语句,通过形参m的值控制所求科目,还是通过建立一个y[50]数组,当做个人单科成绩的下标,通过循环结构及if函数找出最大值的下标,最后输出。利用循环语句,if函数将平均分高于标准的学生筛选出来,并输出他们的信息。利用循环语句,逐次输入各个学生的信息,注意事项:序号为避免麻烦我编程时写成自动赋值,number是学号!以写的方式打开二进制文件,对于构造类型,以数据块方式读写二进制文件,以一个记录为单位循环写入。以读的方式打开文件,写入结构体数组stu[50]。先利用动态分配函数申请空间,让p和head指向这一内存,head用于指针复位,以读的

文档评论(0)

kakaxi + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档