欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    C语言程序设计学生信息管理系统.docx

    • 资源ID:915280       资源大小:270.77KB        全文页数:19页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言程序设计学生信息管理系统.docx

    1、C语言程序设计学生信息管理系统Prepared on 21 November 2021C语言程序设计学生信息管理系统 C语言课程设计姓 名: 徐宗博 学 号: * 班 级: 061092 指导教师: 曹老师 2011 年 6 月 25 日 第一章:实习内容 实习内容简介(2) 程序代号说明(3)第二章:程序流程图第三章:函数模块介绍 读取文件、存储文件(6) 管理系统模块(8) 恢复区系统模块(12) 功能展示(12)第四章:实习总结(16)第五章:实习体会(17)附录:参考文献(19)源代码(19)第一章:实习内容实习内容简介题目:学生通讯录管理系统要求:1.可实现信息的添加、删除,可按学号

    2、、姓名查询; 2.学生信息必须包含学号、姓名、学院、专业、籍贯。地址、电话号码; 3.必须有注释。日期:2011年6月20日至27日,共8个半天。地点:信息楼301指导老师:曹雪莲完成情况:1.程序可完成信息的添加,可按学号、姓名分别查询;2.程序可按姓名、学号分别删除,并在删除前显示删除学生的全部信息;按姓名删除,若出现同名情况,会依次出现系统提示是否删除,可选择删除或跳过;3.在程序文件夹中有一“学生信息库”的txt文件,可查看学生系统里全部学生信息;4.设置有一个恢复区系统,可输出、查询删除的信息,并在可同文件夹中“删除信息库”的txt文件中查看删除信息;总体结构如下:程序代号说明代号说

    3、明结构体student结构体stu全局变量num学号inf学生信息,包含左结构体student全部信息n链表节点数量name姓名next本类型结构体指针rhead恢复区链表头指针academy学院searchnum目标个数major专业province省份address地址phone电话号码函数add增加delet删除(按姓名或学号)search查找search_num搜索学号search_name搜索姓名print输出链表上信息print1输出链表上单个节点的信息save以二进制格式储存数据txtsave以文本格式储存数据crete从二进制文件中读取信息,建立链表deletinput将删除信

    4、息导入恢复区链表system管理系统主要程序recover恢复区系统主要程序此外,局部变量的含义比较固定:head链表头指针,若与rhead一同出现则代表管理系统链表头指针select、input为选择的值filename文件名第二章:程序流程图程序流程图: 本次实习我的思路就是,先从二进制文件中读取信息,形成链表,对链表进行基本操作,如输出、添加、删除、查找。程序结束时将链表保存在二进制文件和文本文件中。管理系统流程图:运行管理系统部分时,先从文件“”中读取数据(若无该文件则创建文件),构建链表;后续操作都是对于链表进行操作,如添加、查找、删除、输出等;离开该部分时则保存链表里的信息到已存在

    5、的“”,并以ASCII形式存储至“学生信息库.txt”,方便检查。恢复区系统流程图:恢复区系统思路与管理系统思路类似,连函数调用都是一样的,二进制文件名为“”,文本文件名为“删除信息库.txt”。具体函数模块功能将在第三章中具体介绍。第三章:函数模块介绍程序分为管理系统和恢复区系统两部分和读取文件、存储文件四部分,以下分别介绍。读取文件、存储文件读取文件该函数模块(程序名为creat)于管理系统或恢复区系统运行前运行,目的是读取二进制文件信息,构建链表;若无目标文件,则创建文件。返回值为头指针。函数主体为:struct stu *p1,*p2;struct stu *head;while(fr

    6、ead(&(p1-inf),LEN,1,fp)um);ame); fprintf(fp,%10s,(p-inf).academy); fprintf(fp,%10s,(p-inf).majoy); fprintf(fp,%10s,(p-inf).province); fprintf(fp,%10s,(p-inf).address); fprintf(fp,%20sn,(p-inf).phone); p=p-next; 管理系统模块 管理系统(名为system)主要有四个函数功能部分,分别为添加、删除、查找、输出,以下依次介绍:添加该模块函数名为add,无返回值,参数为链表头指针,功能为向已建立

    7、的链表中从键盘上输入信息。函数主体为:struct stu *p1,*p2;um); printf(n姓名:);scanf(%s,(p1-inf).name); printf(n学院:);scanf(%s,(p1-inf).academy); printf(n专业:);scanf(%s,(p1-inf).majoy); printf(n省份:);scanf(%s,(p1-inf).province); printf(n地址:);scanf(%s,(p1-inf).address); printf(n电话号码:);scanf(%s,(p1-inf).phone); while(p2-next)!

    8、=NULL)学号查找的函数主体为:printf(请输入拟删除学生学号:n); long snum=0; scanf(%ld,&snum); struct stu *p1,*p2; p1=head; while(snum!=p1-&p1-next!=NULL)姓名查找(包含同名情况): int select=0,count=0;um); printf(n姓名 %s,(p-inf).name); printf(n学院 %s,(p-inf).academy); printf(n专业 %s,(p-inf).majoy); printf(n省份 %s,(p-inf).province); printf(

    9、n地址 %s,(p-inf).address); printf(n电话号码 %sn,(p-inf).phone); p=p-next; 恢复区系统模块恢复区系统(其名为recover)是为了显示被删除信息而建立的,在函数运行之初便建立了恢复区链表,头指针设为rhead,与管理系统头指针head相区别。并且,rhead被设为全局变量,方便被函数调用。恢复区系统主要有查找、输出功能,其功能模块基本调用管理系统的函数,所以不再赘述。而恢复区的输入函数,即管理区删除信息时将信息输入恢复区链表的函数,上文已提及,即deletinput,此为连接恢复区与管理系统的桥梁,只不过是单行的。函数为:void d

    10、eletinput(struct stu *p)序视图就是C语言的黑框,没有美观可言。C+的视图好一些,我也想过用C+编译一个窗口,然后在程序中调用。但是C+还没学会,而且在调试程序的过程中遇到一些困难让我遗忘了这个想法,曾看程序看到凌晨两点,所以想法没有实践。9.在软件技术普及的今天,做个数据库已是小菜一碟,很到软件可以使用,如Microsoft Office Access,并且功能极其强大,比我花了几天时间做出来的高级不知多少倍。与那些专业程序相比,我的这程序不值一提,也就是练习练习C语言而已。第五章:实习感受此次实习在一个凉爽的夏日开始,这在武汉极反常。因为我们考试基本考完了,只剩下一门

    11、英语了,所以实习时间比较充裕。实习的题目也不算太难,思路很清晰,总共三步走:1.读取文件;2.处理链表;3.保存文件。操作的主体是链表,原以为会很轻松,但还是遇到很多问题,以前上课时从未想到过。经历过基本一天都在看程序的时间,我发现我懂的太少,要学的太多。对文件的操作我一直都没注意,现在才发现其乐无穷;以前觉得链表很难,现在轻松写出程序。学习与实践果然是不可分割的。实习中,大家八仙过海各显神通,用链表是比较传统的,而且节省内存,有的用数组,这也可以理解,方便使用,排序便利;有的直接用文件C语句查询、删除,让我大开眼界,文件还能这么用!在写报告时看到一篇用指针数组做的程序,相当有意思。发现水平还

    12、是不够,同学可以用C语言编出一个比较漂亮的界面,还可以随意调用文件操作,实在让人赞叹不已。此次实习加强了我对链表的理解,很多以前迷糊的概念得到了明确,亦让我感到C语言强大之处,直接操作内存,实在很暴力。一句诗概括此次实习,“山重水复疑无路,柳暗花明又一村”;如今C语言实习已然结束,但是对于计算机语言的学习决不能放松,“雄关漫道真如铁, 而今迈步从头越”。现在的世界是信息化的,我们现在对于Matlab的要求也很大,C语言也是其基础。路漫漫其修远兮,吾将上下而求索。感谢曹老师抽出时间将C语言实习提前和这八天来的指导,同时亦感谢大家这些天来的支持与帮助,此外额外感谢武汉夏天罕见的凉爽天气,感谢生活。

    13、附录参考书目 1.谭浩强着 C语言程序设计 2005年7月第3版298-299、300、302-303、338页 2. 吴煌坚学长的实习报告源代码#include#include#include#define NULL 0#define LEN sizeof(struct student)#define LENS sizeof(struct stu)struct studentum);ame); fprintf(fp,%10s,(p-inf).academy); fprintf(fp,%10s,(p-inf).majoy); fprintf(fp,%10s,(p-inf).province);

    14、 fprintf(fp,%10s,(p-inf).address); fprintf(fp,%20sn,(p-inf).phone); p=p-next; void print1(struct stu *p)um); printf(n姓名 %s,(p-inf).name); printf(n学院 %s,(p-inf).academy); printf(n专业 %s,(p-inf).majoy); printf(n省份 %s,(p-inf).province); printf(n地址 %s,(p-inf).address); printf(n电话号码 %sn,(p-inf).phone);str

    15、uct stu *search_name(struct stu *p,char sname20)um); printf(n姓名:);scanf(%s,(head-inf).name); printf(n学院:);scanf(%s,(head-inf).academy); printf(n专业:);scanf(%s,(head-inf).majoy); printf(n省份:);scanf(%s,(head-inf).province); printf(n地址:);scanf(%s,(head-inf).address); printf(n电话号码:);scanf(%s,(head-inf).p

    16、hone); n+;p2-next=NULL;continue;um); printf(n姓名:);scanf(%s,(p1-inf).name); printf(n学院:);scanf(%s,(p1-inf).academy); printf(n专业:);scanf(%s,(p1-inf).majoy); printf(n省份:);scanf(%s,(p1-inf).province); printf(n地址:);scanf(%s,(p1-inf).address); printf(n电话号码:);scanf(%s,(p1-inf).phone); while(p2-next)!=NULL)

    17、um); printf(n姓名 %s,(p-inf).name); printf(n学院 %s,(p-inf).academy); printf(n专业 %s,(p-inf).majoy); printf(n省份 %s,(p-inf).province); printf(n地址 %s,(p-inf).address); printf(n电话号码 %sn,(p-inf).phone); p=p-next; void system() struct stu *head;xt;xt;加学生信息n2.查找学生信息n3.删除学生信息n4.输出全体学生信息n5.退出nnn);找学生信息n2.输出全体删除信

    18、息n3.退出nnn);/菜单 scanf(%d,&select); switch(select)/菜单选择进入相关子程序 case 1:search(rhead);break;/搜寻 case 2:print(rhead);break;/输出 case 3:break;/跳出菜单 default:printf(ERROR);/输入错误 while(select!=3); printf(欢迎闪人n); save(rhead-next,filename2);/存储文件void main() int select=1; while(select=1)|(select=2) printf( *n); printf( 进入管理系统,请按1n); printf( 进入恢复区,请按2n); printf( 其它键离开n); printf( *n); printf( 制作人:061092 徐宗博n); printf(请选择:); scanf(%d,&select); if(select=1) system();/进入管理系统 else if(select=2) recover();/进图恢复区


    注意事项

    本文(C语言程序设计学生信息管理系统.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开