C语言_学生信息管理系统实验报告.docVIP

C语言_学生信息管理系统实验报告.doc

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

学生管理系统实验报告 实验目的 上学期学习了C语言的内容,学生信息管理系统有助于对C语言的学习的进一步巩固,在本系统可以增强对指针、数组、文件、函数等基本知识的进一步理解。另外学生管理系统也是学校常用的基本系统之一,它有助于学校对学生的基本管理。 问题分析 学生信息管理系统是对学生信息的基本管理,它包括:学生信息的输入、学生信息的修改、学生信息的查询、学生信息的删除、学生成绩的排序、学生信息的输出。 使用模块化编程的方法每项功能有一个函数来完成,对应如下: 学生信息的输入===(void jia(Link i) 学生信息的修改==(void xiu(Link i) 学生信息的查询===(void cha(Link i) 学生信息的删除==(void shan(Link i) 学生信息的排序===(void pai(Link i) 学生信息的保存==(void bao(Link i) 为了避免指针的过于复杂使用typedef函数创建了一个struct的同义字程序如下: typedef struct node{ struct student data; struct node *next; }Node,*Link; 这是问题变得更易于描述、和程序的设计。另外本程序运用动态存储、二进制进行存贮。 为了使程序变得更加明了设计另外一个定位Node型的函数(Node *Locate(Link i,char find[],char nameornum[]))这对于查询、删除、修改中非常重要。 程序的设计流程如下: 主要算法的设计 主函数的算法设计 首先,进入设定密码(123456),进入菜单,然后选择操作(运用swith语句),调用各子函数,在退出程序时检验文件是否保存(设定全局变量wang若不改变或以保存则为0,否则为1)退出程序。在返回操作中运用while语句进行控制若选择0则返回菜单。 读入信息: while(!feof(fp)){ p=(Node*)malloc(sizeof(Node)); if(fread(p,sizeof(Node),1,fp))从二进制文件中读入信息 { p-next=NULL; r-next=p; r=p;// count++; } } fclose(fp); 控制保存信息: if(wang==1) { getchar(); printf(\n====提示:资料已经改动,是否将改动保存(y/n)\n); printf(请输入你的选择:); scanf(%c,ch); if(ch==y||ch==Y) bao(i); } printf(\n=====提示:你已经退出系统,再见!\n); break; } 各子函数的算法设计 一些显示操作 密码函数用递归的方法设计,其它显示操作均用输出相应的内容即可 递归的运用: void mima() { char mi[10]; printf(====请输入密码:); scanf(%s,mi); if(strcmp(mi,123456)==0) return; else printf(====没有记住密码!请重新输入……\n); mima(); } 定位操作函数 Node *Locate(Link i,char find[],char nameornum[])引入Link型I,字符型的find[],namenum[]运用strcmp进行比较返回其地址即可。 学生信息的输入函数 Void jia(Link i)首先,申请空间(p=(Node *)malloc(sizeof(Node));)输入学生信息,然后做总分计算和平均分的计算 p-data.zong=p-data.ying+p-data.shu+p-data.c; p-data.ping=p-data.zong/3; 4、 学生信息的修改 void xiu(Link i)首先选择修改信息,然后定位 (p=Locate(i,find,num);)输入修改信息;若成功则printf(====修改成功!\n);否则调用报错函数wrong(); 学生信息的查询 void cha(Link i)选择查询方式 printf(====1按学号查询\n====2按姓名查询\n); 然后定位,在调用输出函数;

文档评论(0)

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

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

1亿VIP精品文档

相关文档