ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:55.81KB ,
资源ID:30606627      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/30606627.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(学生宿舍管理系统源代码.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

学生宿舍管理系统源代码.docx

1、学生宿舍管理系统源代码 数据结构 课程设计源代码 设计题目: 学生宿舍管理系统 院 系: 计算机学院 班 级: 软件1501 组 别: 六 组 长: 周佳理 组 员: 韩壮壮 陈义安 起止日期: 2016年12月20日2016年12月24日指导教师: 韩丽娜 源代码: #define _CRT_SECURE_NO_WARNINGS#include#include#includevoid AppendNode(long studentID, char studentName15, char roomNumber4, char bedNumber4);/向链表中添加数据void DisplayNo

2、de(struct link *head);/打印链表中数据void Display(struct link *head);/表头格式控制void DeleteMemory(struct link *head);/删除链表所占用的内存void Save();/保存数据void Open();/打开数据void FindID();/按学号查找学生void FindName();/按姓名查找学生void InsertNodeNumber(long studentID, char studentName15, char roomNumber4, char bedNumber4);/按学号从小到大排序

3、void NumberSorting();/排序void Menu();/菜单控制模块功能代码:/主函数int main() long studentID; char studentName15; char roomNumber4; char bedNumber4;/定义要输入学生信息的变量; char c; int menu;/保存要进行的选项; while (1) system(pause); Menu(); printf(请输入要进行的操作:); scanf(%d, &menu); switch (menu) case 0: exit(0); break; case 1: printf(

4、请输入Y或y来添加数据n); scanf( %c, &c); while (c = y | c = Y) printf(请输入学生学号:); scanf(%lld, &studentID); printf(请输入学生姓名:); scanf(%s, &studentName); printf(请输入房间号:); scanf(%s, &roomNumber); printf(请输入床位号:); scanf(%s, &bedNumber); AppendNode(studentID, studentName, roomNumber, bedNumber); printf(请输入Y或y来添加数据n);

5、 scanf( %c, &c); Display(head); break; case 2: FindID(); break; case 3: FindName(); break; case 4: Display(head);/显示信息 break; case 5: NumberSorting(); Display(head1);/排序后的学生信息 head1 = NULL; break; case 6: Save(); break; case 7: Open(); break; default: printf(输入有误!请重新输入); break; DeleteMemory(head); D

6、eleteMemory(head1); system(pause); return 0;/菜单void Menu() system(cls);/清屏操作; printf(nnnnn); printf(tt|.学生宿舍管理系统.|n); printf(tt|t 0.退出 |n); printf(tt|t 1.添加学生住宿信息 |n); printf(tt|t 2.查找学生(按学号)信息 |n); printf(tt|t 3.查找学生(按姓名)信息 |n); printf(tt|t 4.显示学生信息 |n); printf(tt|t 5.按学号排序 |n); printf(tt|t 6.保存信息

7、|n); printf(tt|t 7.打开信息 |n); printf(tt|.学生宿舍管理系统.|n);/表头格式控制void Display(struct link *head) printf(-n); printf( 学号 姓名 宿舍号 床号 n); printf(-n); DisplayNode(head);数据模块功能代码:/定义结构体typedef struct student long studentID; /学号 char studentName15;/姓名 char roomNumber4;/房间号 char bedNumber4;/床号STU;/初始化链表struct li

8、nk STU student; struct link *next;struct link *head = NULL;/保存输入的学生信息数据struct link *head1 = NULL;/保存排序后的学生信息数据/添加数据void AppendNode(long studentID, char studentName15, char roomNumber4, char bedNumber4) struct link *p = NULL, *pr = head; p = (struct link *) malloc(sizeof(struct link); if (p = NULL) p

9、rintf(申请内存失败); return; if (head = NULL) head = p; else while (pr-next != NULL) pr = pr-next; pr-next = p; p-student.studentID = studentID; strcpy(p-student.studentName, studentName); strcpy(p-student.roomNumber, roomNumber); strcpy(p-student.bedNumber,bedNumber); p-next = NULL; return;/打印数据void Disp

10、layNode(struct link *head) struct link *p = head; if (p = NULL) return; printf(%lld%15s%13s%13s,p-student.studentID,p-student.studentName,p-student.roomNumber, p-student.bedNumber); printf(n); p=p-next; DisplayNode(p);/保存链表中的数据void Save() FILE *fp; struct link *p = head; fp = fopen(demo.txt, w); if

11、(fp= NULL) printf(打开文件失败); return; while (p != NULL) fprintf(fp,%20lld%15s%5s%4s, p-student.studentID, p-student.studentName, p-student.roomNumber,p-student.bedNumber); p = p-next; fclose(fp); return;/将文件中获得的数据写入到链表中void Open() fflush(stdin); fflush(stdout); long studentID; char studentName15; char

12、roomNumber4; char bedNumber4; FILE *fp; char c; fp = fopen(demo.txt, a+); if (fp= NULL) printf(文件打开失败); return; while (c = fgetc(fp)!=EOF) fscanf(fp, %20lld, &studentID); fscanf(fp, %15s, studentName); fscanf(fp, %5s, roomNumber); fscanf(fp,%4s,bedNumber); AppendNode(studentID, studentName, roomNumb

13、er, bedNumber); fclose(fp);功能模块功能代码:/排序函数void NumberSorting() struct link *p = head; struct link *p1 = head1; int sum = 0; if(p = NULL) printf(没有数据,无法排序); return; while (p!=NULL) InsertNodeNumber(p-student.studentID,p-student.studentName,p-student.roomNumber, p-student.bedNumber);p = p-next; /按学号的从小

14、到大排序void InsertNodeNumber(long studentID, char studentName15, char roomNumber4, char bedNumber4) struct link *pr = head1, *p = head1, *temp = NULL; p = (struct link *)malloc(sizeof(struct link); if (p = NULL) printf(内存申请失败); return; p-next = NULL; p-student.studentID = studentID; strcpy(p-student.st

15、udentName, studentName); strcpy(p-student.roomNumber, roomNumber); strcpy(p-student.bedNumber,bedNumber); if (head1 = NULL) head1 = p; else while (pr-student.studentID next != NULL) temp = pr; pr = pr-next; if (pr-student.studentID = studentID) if (pr = head1) p-next = head1; head1 = p; else pr = te

16、mp; p-next = pr-next; pr-next = p; else pr-next = p; /删除链表所占用的内存void DeleteMemory(struct link *head) struct link *p = head, *pr = NULL; while (p != NULL) pr = p; p = p-next; free(pr); /按学号查找学生void FindID() struct link *p = head; long studentID=0; if (head = NULL) printf(没有数据查找); return; printf(请输入你要

17、查找的学生的学号:); scanf(%lld, &studentID); while (studentID != p-student.studentID&p-next != NULL) p = p-next; if (p-student.studentID = studentID) printf(-n); printf( 学号 姓名 宿舍号 床号 n); printf(-n); printf(%lld%15s%13s%13s, p-student.studentID, p-student.studentName, p-student.roomNumber, p-student.bedNumbe

18、r); else printf(没有你要查找的数据); return;/按姓名查找学生void FindName() struct link *p = head; char studentName15 = ; if (head = NULL) printf(没有数据查找); return; printf(请输入你要查找的学生的姓名:); scanf(%s, studentName); while (0!=strcmp(studentName,p-student.studentName)&p-next != NULL) p = p-next; if (0=strcmp(studentName,p-student.studentName) printf(-n); printf( 学号 姓名 宿舍号 床号 n); printf(-n); printf(%lld%15s%13s%13s,p-student.studentID,p-student.studentName,p-student.roomNumber, p-student.bedNumber); else printf(没有你要查找的数据); return;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1