C语言课程设计——学生宿舍管理系统.docx

C语言课程设计——学生宿舍管理系统.docx

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Word Word专业资料 C语言课程设计报告 题 目 学牛宿舍管理系统 系部名称: 专业名称: 班 级: 学 号: 学生姓名 指导教师: 时 间: 课程设计目的 设计一个ubuntu下的学生宿舍管理系统 掌握用C语言定义单链表结构,并实现其创建、插入、删除等基本操作。 、课程设计内容 用C语言编写“学生宿舍管理系统”,要求如下: 创建链表,录入数据。 数据的读写操作。 数据的更新操作。 数据的删除和插入。 请你要求对数据进行查找。 按要求排序。 设计总体菜单界面。 三、实验要求 1、 录入数据 学生的基本信息,包括学号、姓名、性别、年龄、专业、班级等。 宿舍楼的基本信息,包括宿舍楼号、学生所住的房间号和宿舍床位号等。 2、 数据存储 信息的录入要求用链表,把输入的信息要求存储到指定文件夹中,以便随 时查看,也可供程序调用,方便操作人员不用重复输入数据。 3、数据的更新 更新包括插入、删除、修改。 删除分根据学号删除和根据学生的楼层信息删除。 5、 数据的查询 查询可以根据学号和宿舍信息不同方面进行查询,方便操作者使用 6、 数据的排序 操作者可以使所输入的信息按学号排序。 7、 数据的统计 按整体统计,统计所有学生人数,男生人数和女生人数。 四、概要设计 1 ?系统结构图(功能模块图) 2.功能模块说明: .数据录入:创建单链表,调用Initnode()函数申请头结点,在调用append(), 在调用Write_to_File()函数将信息写入文件中, 插入模块:先将文件信息读出,再调用 息。 插入模块:先将文件信息读出,再调用 需要的信息删除。 修改模块:先将文件信息读出,再调用 修改。 查询模块:先将文件信息读出,再调用 insert()函数,可以向文件中插入信 del()函数,可以将输入错误或者 modify()函数,将输入错误的信息 insert()函数,可以向文件中插入信 del()函数,可以将输入错误或者 modify()函数,将输入错误的信息 search(),在search()中有调用两个 ⑹排序模块:先将文件信息读出,再调用 sort (),按照学生学号排序,拍完续 没有直接写入文件,如果要直接写入调用文件读入函数 Write_to_File(). ⑺统计模块:先将文件信息读出,再调用 tongji()函数,统计了女生人数和男 生人数,还统计了总人数. 五?详细过程和运行结果: 删除模块 插入模块 开始 头插入学生信息 输入插入的学生信息 将其入栈,即将插入的学 生信息插到了最前面 查找模块 「开始 修改模块 组织循环,扫描存储学 生信息的链表表 修改学生信息 排序模块 匚 开始 组织循环,扫描存 储学生信息的链表 选出学号最小的学生,与第 学生交换存储位置 在余下的学生中选出学号最小的学生与 第二个学生交换存储位置 以此类推,直至排序完成 统计模块 开始 组织循环,扫描存储学 生信息的链表表 结束 六.参考文献: 《C语言程序设计》: 王曙燕 七.源代码 #i nclude stdio.h #i nclude stdlib.h #in elude stri ng.h 〃#in elude coni o.h typedef struct Stude nt int num; /*学号*/ char n ame[15]; /*姓名*/ char se x; /*性别*/ char zhua nye[20]; /*专业*/ int lounum; /*楼号*/ int sushenum; /*宿舍号*/ int chuangnum; /*床号*/ struct Stude nt *n ext; }Stu; void Write_to_File(Stu *L) { FILE *fp; Stu *p; /*将信息写入文件*/ fp=fope n(sushe.txt,w); if(fp==NULL) { printf(打开失败!); getchar(); getchar(); exit(0); } p=L-n ext; while(p) { fprin tf(fp,%d %s %c %s %d %d %d\n,p- num,p- name,p-sex, p-zhua nye,p-l ounu m,p-sushe nu m,p-chua ngnu m); p=p-n ext; } fclose(fp); } void InitStu(Stu **h) /* 创建头结点 */ { (*h)=(Stu *)malloc(sizeof(Stu)); if(h==NULL) { printf(创建失败!!); getchar(); getchar(); exit(0); } (*h)- next=NULL; } /*录入学

文档评论(0)

laugh + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档