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

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
学生管理系统实验报告 实验目的 上学期学习了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[]))这对于查询、删除、修改中非常重要。 输入密码开始操作 输入密码开始 操作 学生信息显示学生成绩统计学生信息的排序学生信息的查询学生信息的修改学生信息的输入 学生信息显示 学生成绩统计 学生信息的排序 学生信息的查询 学生信息的修改 学生信息的输入 学生信息的保存学生信息的删除 学生信息的保存 学生信息的删除 0返回菜单,选择操作 0返回菜单,选择操作 主要算法的设计 主函数的算法设计 首先,进入设定密码(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,fi

文档评论(0)

小教资源库 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档