宿舍管理系统c语言设计

上传人:沈*** 文档编号:87819711 上传时间:2022-05-10 格式:DOC 页数:40 大小:266KB
收藏 版权申诉 举报 下载
宿舍管理系统c语言设计_第1页
第1页 / 共40页
宿舍管理系统c语言设计_第2页
第2页 / 共40页
宿舍管理系统c语言设计_第3页
第3页 / 共40页
资源描述:

《宿舍管理系统c语言设计》由会员分享,可在线阅读,更多相关《宿舍管理系统c语言设计(40页珍藏版)》请在装配图网上搜索。

1、word河 南 工 程 学 院数据结构课程设计成果报告姓 名 学 号 学 院 计算机学院 专业班级 计算机科学与技术 1521 专业课程 数据结构 指导教师 芳 2016年6月20日36 / 40工程学院计算机学院课程设计报告书课程设计题目:课程设计时间: 6月20日6月24日 课程设计地点: 计算机学院1201 课程设计单位: 计算机学院 指导教师: 芳 学院院长: 曲宏山 本组组长夏少峰本组成员夏少峰、丁宏阁、曲宣榕设计题目宿舍管理查询系统本人分工资料查询,设计思路、算法设计、局部代码编制、代码调试考核项目考核容得分平时考核30分出勤情况、态度、效率、协作精神;知识掌握情况、根本操作技能、

2、知识应用能力、获取知识能力设计思想20分需求分析能力,算法分析设计能力编码、调试分析30分编制代码能力,调试分析能力文档资料20分表达能力、文档写作能力和文档的规性总评成绩指导教师评语:等 级: 评阅人: 职称: 副教授 年 月 日目 录目录1 设计目标12 课题分析1需求分析12.2 存储结构设计22.3 算法设计与其分析2程序流程图113程序清单124系统测试30测试数据30测试结果315总结33收获33不足33算法改良分析331 设计目标随着计算机技术的开展以与网络的开展,对学生宿舍的管理与控制越来越实用并且得到管理者的证实,无论是查询还是修改都有很方便,查询的信息一目了然。 这个程序包

3、含了学生宿舍信息的录入、修改,学生楼栋信息的录入、毕业生的退舍、智能分配宿舍等功能,但不能进展删除的操作,总体来说使用简单方便。这个程序应该满足以下几个要求:(1) 信息的输入:需要建立起完整的宿舍信息数据库,从而实现通过输入学生入住的楼栋号、宿舍号,该宿舍入住的人数以与入住的学生的信息包括学生的、学号和系别,来添加学生信息,实现信息录入。(2) 信息的修改:进展信息输入后,过一段时间后,想要对里面的信息进展修改,可以通过学号等关键字对其进展修改。(3) 信息的查询:这个程序应该可以实现通过按学号或房号进展查找的过程。在此使用的是折半法,查找过程是:先确定待查记录所在的围区间,然后逐步缩小围直

4、到找到或找不到该记录为止。这样可以缩短查找时间,同时还可以减少查找的次数。(4) 退出程序:当完成了所有的操作之后就要进展退出操作了。2 课题分析学生宿舍管理是一个很大的项目,在早期,还没有利用计算机管理时,一切都是利用人工进展管理的,这样管理起来既烦琐又复杂,资料也很容易被丢失,而且耗时、耗资金。而利用本系统,可以高效地对学生宿舍进展统一管理与控制,资料也不容易被丢失,这样大大节省了人力与资源,提高了管理效率,给管理人员带来很多方便,基于以上分析有如下分析:(1) 要实现交互工作方式,各项操作完毕后均应返回主菜单。(2) 系统本无任何信息数据,要建立数据文件,需要开发一个信息录入功能,即首先

5、创建一个学员线性表,同时我们可以将数据暂时保存在存中,所以我们开发信息存盘功能;(3) 信息录入后都要保存在存中,用户看不到,需要设计一个信息显示功能,信息的显示应该便于查询,所以需要具备按各种关键字显示的功能;(4) 由于有些新同学入校,所以设计了插入功能;(5) 当用户操作完毕需要退出时,提供了退出选项,便于使用者退出交互式工作系统2.2 存储结构设计本系定义的存储结构为顺序存储结构,结构体为typedef structchar ID20; /学号char name20; /char gender10; /性别char dormitory4; /宿舍号Student;typedef str

6、uctchar ID4; /宿舍号int max_num; /可容纳人数int current_num; /已入住人数char gender10; /男舍或女舍2.3 算法设计与其分析在此系统中,根据对查阅资料的了解,我们对宿舍人员的信息以与各种函数进展了定义,具体如下:1将宿舍人员信息定义为一个名字为typedef struct的结构体,其中包括char ID20,char name20,cahr gender10,char dormitory4分别表示学号、性别和宿舍号,将宿舍信息定义为一个名字为typedef struct的结构体,其中包括char ID4,char max_num,ch

7、ar current_num,char gender10,分别是宿舍号、可容纳人数、已入住人数、男舍或者女舍。2功能函数加上主函数一共有十二个,功能函数包括create(),open(),insert_dorm(),insert_stu(),dormnumsearch(),change(),namesearch(),check_out(),numsearch(),exchange(),display(),main(),分别用新增楼栋,新增宿舍信息,新增学生入住宿舍信息,毕业生退舍,互换宿舍,查询,学号查询,宿舍号查询,互换宿舍,调换宿舍,职能分配宿舍,退出本系统的功能。3在主函数中,使用一个w

8、hile语句来选择调用主菜单中的各个功能函数。由于本人负责新增宿舍楼栋,新增宿舍信息,新增学生宿舍信息的功能,所以操作如下:单击数字键“0如此为新增楼栋信息单击数字键“1如此为新增宿舍信息单击数字键“2如此为新增学生宿舍信息在每次操作前都要输入相应的编号。各功能函数的具体实现如下:void create()printf(n请输入新增楼栋名称:n);scanf(%s, filename);_fp = fopen(filename, rb+);if (_fp = NULL) /如果文件不存在如此建立文件否如此提示文件已存在_fp = fopen(filename, wb+);fp = fopen(

9、strcat(filename, 学生), wb+);if (fp = NULL | _fp = NULL)printf(File not open!n);exit(-1);elseprintf(文件已存在!n);fclose(fp);fclose(_fp);void open()printf(请输入学生宿舍所在楼栋:n);scanf(%s, filename);_fp = fopen(filename, rb+);fp = fopen(strcat(filename, 学生), rb+);if (fp = NULL | _fp = NULL)printf(File not open!n);e

10、xit(-1);void insert_dorm()Dormitory * d = (Dormitory*)malloc(sizeof(Dormitory);open();printf(n请输入宿舍号,可容纳学生数,已容纳学生数,男舍/女舍(空格隔开,#完毕):n);scanf(%s, d-ID);while (strcmp(d-ID, #)scanf(%d %d %s, &d-max_num, &d-current_num, d-gender);fwrite(d, sizeof(Dormitory), 1, _fp);scanf(%s, d-ID);fclose(_fp);fclose(fp

11、);void insert_stu()long locate, pre_locate;int flag = 0;Student *s = (Student*)malloc(sizeof(Student);Dormitory * d = (Dormitory*)malloc(sizeof(Dormitory);open();printf(n请输入学号、性别、宿舍号(空格隔开,#完毕):n);scanf(%s, s-ID);while (strcmp(s-ID, #) /不相等继续读取,相等为0便退出循环不再读取数据scanf(%s %s %s, s-name, s-gender, s-dormi

12、tory);locate = ftell(_fp);while (fread(d, sizeof(Dormitory), 1, _fp)if (!strcmp(d-ID, s-dormitory) /每增加一个学生,相应寝室的实际人数应当增加一个fseek(_fp, locate, SEEK_SET);d-current_num+;fwrite(d, sizeof(Dormitory), 1, _fp);flag = 1;break;locate = ftell(_fp);if (flag = 0)printf(不存在该宿舍!n);exit(-1);fwrite(s, sizeof(Stude

13、nt), 1, fp);rewind(_fp);scanf(%s, s-ID);fclose(_fp);fclose(fp);void change()int flag = 0, tag = 0;long locate, locate_b, locate_c;char input_stunum20;char input_dormnum4;char previous_dormnum4;Student *s = (Student*)malloc(sizeof(Student);Dormitory * d = (Dormitory*)malloc(sizeof(Dormitory);open();p

14、rintf(n请输入需要调换宿舍学生学号:n);scanf(%s, input_stunum);locate = ftell(fp);while (fread(s, sizeof(Student), 1, fp)if (!strcmp(input_stunum, s-ID)flag = 1;printf(该学生信息如下:n%-20s%-20s%-20s%-20sn, 学号, , 性别, 宿舍号);printf(%-20s%-20s%-20s%-20sn, s-ID, s-name, s-gender, s-dormitory);strcmp(previous_dormnum, s-dormit

15、ory);printf(n请输入新宿舍的宿舍号:n);scanf(%s, input_dormnum);locate_b = ftell(_fp);while (fread(d, sizeof(Dormitory), 1, _fp)if (!strcmp(input_dormnum, d-ID)tag = 1;if (d-current_num = d-max_num)printf(该宿舍已满员!);else/更换学生宿舍信息fseek(fp, locate, SEEK_SET);strcpy(s-dormitory, input_dormnum);fwrite(s, sizeof(Stude

16、nt), 1, fp);/更换新宿舍信息fseek(_fp, locate_b, SEEK_SET);d-current_num+;fwrite(d, sizeof(Dormitory), 1, _fp);rewind(_fp);/更换旧宿舍信息locate_c = ftell(_fp);while (fread(d, sizeof(Dormitory), 1, _fp)if (!strcmp(previous_dormnum, d-ID)fseek(_fp, locate_c, SEEK_SET);d-current_num-;fwrite(d, sizeof(Dormitory), 1,

17、_fp);break;locate_c = ftell(_fp);break;locate_b = ftell(_fp);if (tag = 0)printf(不存在该宿舍!);exit(-1);break;locate = ftell(fp);if (flag = 0)printf(n不存在该学生!n);fclose(_fp);fclose(fp);void namesearch()int flag = 0, tag = 0;long locate;char input_name20;char dor_num4;char ID20;Student *s = (Student*)malloc(

18、sizeof(Student);Dormitory * d = (Dormitory*)malloc(sizeof(Dormitory);open();printf(n请输入需要搜索的:n);scanf(%s, input_name);while (fread(s, sizeof(Student), 1, fp)locate = ftell(fp); /记录下按名字搜索到达的位置if (!strcmp(input_name, s-name)flag = 1;printf(n学生信息如下:n%-20s%-20s%-20s%-20sn, 学号, , 性别, 宿舍号);printf(%-20s%-2

19、0s%-20s%-20sn, s-ID, s-name, s-gender, s-dormitory);strcpy(dor_num, s-dormitory);strcpy(ID, s-ID);rewind(fp); /指针重置于文件头,查找室友printf(n其室友信息如下:n%-20s%-20s%-20s%-20sn, 学号, , 性别, 宿舍号);while (fread(s, sizeof(Student), 1, fp) /室友宿舍号一样,学号不同if (!strcmp(dor_num, s-dormitory) & (strcmp(s-ID, ID)printf(%-20s%-2

20、0s%-20s%-20sn, s-ID, s-name, s-gender, s-dormitory);tag = 1;if (tag = 0)printf(n没有室友!n);tag = 0;while (fread(d, sizeof(Dormitory), 1, _fp)if (!strcmp(dor_num, d-ID)printf(n该学生所在寝室信息如下:n%-20s%-20s%-20s%-20sn, 宿舍号, 可容纳学生数, 已容纳学生数, 男舍/女舍);printf(%-20s%-20d%-20d%-20sn, d-ID, d-max_num, d-current_num, d-

21、gender);break;/break;/同名情况if (flag)fseek(fp, locate, SEEK_SET);if (flag = 0)printf(n没有符合条件的学生的记录!n);fclose(_fp);fclose(fp);void check_out()char stu_num20;char dorm_num20;long locate, locate_b;Student *s = (Student*)malloc(sizeof(Student);Dormitory * d = (Dormitory*)malloc(sizeof(Dormitory);open();pr

22、intf(n请输入退宿学生学号:n);scanf(%s, stu_num);locate = ftell(fp);while (fread(s, sizeof(Student), 1, fp)/ locate=ftell(fp);if (!strcmp(s-ID, stu_num)strcpy(dorm_num, s-dormitory);fseek(fp, locate, SEEK_SET);memset(s, 0, sizeof(Student);fwrite(s, sizeof(Student), 1, fp); 宿舍管理查询系统的设计功能选择宿舍号查询某某查询学号查询调换宿舍毕业生退舍

23、新增学生宿舍信息新增楼栋退出系统3程序清单#define _CRT_SECURE_NO_WARNINGS#include#include#includetypedef structchar ID20; /学号char name20; /char gender10; /性别char dormitory4; /宿舍号Student;typedef structchar ID4; /宿舍号int max_num; /可容纳人数int current_num; /已入住人数char gender10; /男舍或女舍Dormitory;char filename20;FILE *fp; /学生信息文件指

24、针FILE *_fp; /宿舍信息文件指针void create()printf(n请输入新增楼栋名称:n);scanf(%s, filename);_fp = fopen(filename, rb+);if (_fp = NULL) /如果文件不存在如此建立文件否如此提示文件已存在_fp = fopen(filename, wb+);fp = fopen(strcat(filename, 学生), wb+);if (fp = NULL | _fp = NULL)printf(File not open!n);exit(-1);elseprintf(文件已存在!n);fclose(fp);fc

25、lose(_fp);void open()printf(请输入学生宿舍所在楼栋:n);scanf(%s, filename);_fp = fopen(filename, rb+);fp = fopen(strcat(filename, 学生), rb+);if (fp = NULL | _fp = NULL)printf(File not open!n);exit(-1);void insert_dorm()Dormitory * d = (Dormitory*)malloc(sizeof(Dormitory);open();printf(n请输入宿舍号,可容纳学生数,已容纳学生数,男舍/女舍

26、(空格隔开,#完毕):n);scanf(%s, d-ID);while (strcmp(d-ID, #)scanf(%d %d %s, &d-max_num, &d-current_num, d-gender);fwrite(d, sizeof(Dormitory), 1, _fp);scanf(%s, d-ID);fclose(_fp);fclose(fp);void insert_stu()long locate, pre_locate;int flag = 0;Student *s = (Student*)malloc(sizeof(Student);Dormitory * d = (D

27、ormitory*)malloc(sizeof(Dormitory);open();printf(n请输入学号、性别、宿舍号(空格隔开,#完毕):n);scanf(%s, s-ID);while (strcmp(s-ID, #) /不相等继续读取,相等为0便退出循环不再读取数据scanf(%s %s %s, s-name, s-gender, s-dormitory);locate = ftell(_fp);while (fread(d, sizeof(Dormitory), 1, _fp)if (!strcmp(d-ID, s-dormitory) /每增加一个学生,相应寝室的实际人数应当增

28、加一个fseek(_fp, locate, SEEK_SET);d-current_num+;fwrite(d, sizeof(Dormitory), 1, _fp);flag = 1;break;locate = ftell(_fp);if (flag = 0)printf(不存在该宿舍!n);exit(-1);fwrite(s, sizeof(Student), 1, fp);rewind(_fp);scanf(%s, s-ID);fclose(_fp);fclose(fp);void dormnumsearch()int flag = 0, tag = 0;char input_dorm

29、num4;Student *s = (Student*)malloc(sizeof(Student);Dormitory * d = (Dormitory*)malloc(sizeof(Dormitory);open();printf(请输入需要搜索的宿舍号:n);scanf(%s, input_dormnum);while (fread(d, sizeof(Dormitory), 1, _fp)if (!strcmp(input_dormnum, d-ID)flag = 1;printf(n寝室信息如下:n%-20s%-20s%-20s%-20sn, 宿舍号, 可容纳学生数, 已容纳学生数,

30、 男舍/女舍);printf(%-20s%-20d%-20d%-20sn, d-ID, d-max_num, d-current_num, d-gender);break;if (flag)printf(该宿舍学生信息如下:n%-20s%-20s%-20s%-20sn, 学号, , 性别, 宿舍号);while (fread(s, sizeof(Student), 1, fp)if (!strcmp(input_dormnum, s-dormitory)tag = 1;printf(%-20s%-20s%-20s%-20sn, s-ID, s-name, s-gender, s-dormito

31、ry);if (tag = 0)printf(n该宿舍没有学生入住!n);elseprintf(不存在该宿舍记录!n);fclose(_fp);fclose(fp);void change()int flag = 0, tag = 0;long locate, locate_b, locate_c;char input_stunum20;char input_dormnum4;char previous_dormnum4;Student *s = (Student*)malloc(sizeof(Student);Dormitory * d = (Dormitory*)malloc(sizeof

32、(Dormitory);open();printf(n请输入需要调换宿舍学生学号:n);scanf(%s, input_stunum);locate = ftell(fp);while (fread(s, sizeof(Student), 1, fp)if (!strcmp(input_stunum, s-ID)flag = 1;printf(该学生信息如下:n%-20s%-20s%-20s%-20sn, 学号, , 性别, 宿舍号);printf(%-20s%-20s%-20s%-20sn, s-ID, s-name, s-gender, s-dormitory);strcmp(previo

33、us_dormnum, s-dormitory);printf(n请输入新宿舍的宿舍号:n);scanf(%s, input_dormnum);locate_b = ftell(_fp);while (fread(d, sizeof(Dormitory), 1, _fp)if (!strcmp(input_dormnum, d-ID)tag = 1;if (d-current_num = d-max_num)printf(该宿舍已满员!);else/更换学生宿舍信息fseek(fp, locate, SEEK_SET);strcpy(s-dormitory, input_dormnum);fw

34、rite(s, sizeof(Student), 1, fp);/更换新宿舍信息fseek(_fp, locate_b, SEEK_SET);d-current_num+;fwrite(d, sizeof(Dormitory), 1, _fp);rewind(_fp);/更换旧宿舍信息locate_c = ftell(_fp);while (fread(d, sizeof(Dormitory), 1, _fp)if (!strcmp(previous_dormnum, d-ID)fseek(_fp, locate_c, SEEK_SET);d-current_num-;fwrite(d, si

35、zeof(Dormitory), 1, _fp);break;locate_c = ftell(_fp);break;locate_b = ftell(_fp);if (tag = 0)printf(不存在该宿舍!);exit(-1);break;locate = ftell(fp);if (flag = 0)printf(n不存在该学生!n);fclose(_fp);fclose(fp);void namesearch()int flag = 0, tag = 0;long locate;char input_name20;char dor_num4;char ID20;Student *s

36、 = (Student*)malloc(sizeof(Student);Dormitory * d = (Dormitory*)malloc(sizeof(Dormitory);open();printf(n请输入需要搜索的:n);scanf(%s, input_name);while (fread(s, sizeof(Student), 1, fp)locate = ftell(fp); /记录下按名字搜索到达的位置if (!strcmp(input_name, s-name)flag = 1;printf(n学生信息如下:n%-20s%-20s%-20s%-20sn, 学号, , 性别,

37、宿舍号);printf(%-20s%-20s%-20s%-20sn, s-ID, s-name, s-gender, s-dormitory);strcpy(dor_num, s-dormitory);strcpy(ID, s-ID);rewind(fp); /指针重置于文件头,查找室友printf(n其室友信息如下:n%-20s%-20s%-20s%-20sn, 学号, , 性别, 宿舍号);while (fread(s, sizeof(Student), 1, fp) /室友宿舍号一样,学号不同if (!strcmp(dor_num, s-dormitory) & (strcmp(s-ID

38、, ID)printf(%-20s%-20s%-20s%-20sn, s-ID, s-name, s-gender, s-dormitory);tag = 1;if (tag = 0)printf(n没有室友!n);tag = 0;while (fread(d, sizeof(Dormitory), 1, _fp)if (!strcmp(dor_num, d-ID)printf(n该学生所在寝室信息如下:n%-20s%-20s%-20s%-20sn, 宿舍号, 可容纳学生数, 已容纳学生数, 男舍/女舍);printf(%-20s%-20d%-20d%-20sn, d-ID, d-max_nu

39、m, d-current_num, d-gender);break;/break;/同名情况if (flag)fseek(fp, locate, SEEK_SET);if (flag = 0)printf(n没有符合条件的学生的记录!n);fclose(_fp);fclose(fp);void check_out()char stu_num20;char dorm_num20;long locate, locate_b;Student *s = (Student*)malloc(sizeof(Student);Dormitory * d = (Dormitory*)malloc(sizeof(

40、Dormitory);open();printf(n请输入退宿学生学号:n);scanf(%s, stu_num);locate = ftell(fp);while (fread(s, sizeof(Student), 1, fp)/ locate=ftell(fp);if (!strcmp(s-ID, stu_num)strcpy(dorm_num, s-dormitory);fseek(fp, locate, SEEK_SET);memset(s, 0, sizeof(Student);fwrite(s, sizeof(Student), 1, fp);break;locate = fte

41、ll(fp);locate_b = ftell(_fp);while (fread(d, sizeof(Dormitory), 1, _fp)if (!strcmp(d-ID, dorm_num)fseek(_fp, locate_b, SEEK_SET);d-current_num-;/printf(111n);/printf(%dn,d-current_num);fwrite(d, sizeof(Dormitory), 1, _fp);printf(删除成功!n);break;locate_b = ftell(_fp);fclose(_fp);fclose(fp);void numsear

42、ch()int flag = 0, tag = 0;char input_num20;char dor_num4;Student *s = (Student*)malloc(sizeof(Student);Dormitory * d = (Dormitory*)malloc(sizeof(Dormitory);open();printf(n请输入需要搜索的学号:n);scanf(%s, input_num);while (fread(s, sizeof(Student), 1, fp)if (!strcmp(input_num, s-ID)flag = 1;printf(n该学生信息如下:n%

43、-20s%-20s%-20s%-20sn, 学号, , 性别, 宿舍号);printf(%-20s%-20s%-20s%-20sn, s-ID, s-name, s-gender, s-dormitory);break;strcpy(dor_num, s-dormitory);if (flag)rewind(fp);printf(n室友信息如下:n%-20s%-20s%-20s%-20sn, 学号, , 性别, 宿舍号);while (fread(s, sizeof(Student), 1, fp)if (!strcmp(dor_num, s-dormitory) & strcmp(input

44、_num, s-ID)printf(%-20s%-20s%-20s%-20sn, s-ID, s-name, s-gender, s-dormitory);tag = 1;if (tag = 0)printf(n没有室友!n);while (fread(d, sizeof(Dormitory), 1, _fp)if (!strcmp(dor_num, d-ID)printf(n该学生所在寝室信息如下:n%-20s%-20s%-20s%-20sn, 宿舍号, 可容纳学生数, 已容纳学生数, 男舍/女舍);printf(%-20s%-20d%-20d%-20sn, d-ID, d-max_num,

45、 d-current_num, d-gender);break;elseprintf(n没有该学生的记录!n);fclose(_fp);fclose(fp);void exchange()int flag = 0, tag = 0;long locate_a, locate_b;char input_ID_a20;char input_ID_b20;char dor_num4;Student *s = (Student*)malloc(sizeof(Student);Student *_s = (Student*)malloc(sizeof(Student);open();printf(n请输

46、入需要互换宿舍学生A的学号:n);scanf(%s, input_ID_a);printf(n请输入需要互换宿舍学生B的学号:n);scanf(%s, input_ID_b);locate_a = ftell(fp);while (fread(s, sizeof(Student), 1, fp)if (!strcmp(input_ID_a, s-ID)printf(n学生A信息如下:n%-20s%-20s%-20s%-20sn, 学号, , 性别, 宿舍号);printf(%-20s%-20s%-20s%-20sn, s-ID, s-name, s-gender, s-dormitory);f

47、lag = 1;break;locate_a = ftell(fp);rewind(fp);locate_b = ftell(fp);while (fread(_s, sizeof(Student), 1, fp)if (!strcmp(input_ID_b, _s-ID)printf(n学生B信息如下:n%-20s%-20s%-20s%-20sn, 学号, , 性别, 宿舍号);printf(%-20s%-20s%-20s%-20sn, _s-ID, _s-name, _s-gender, _s-dormitory);tag = 1;break;locate_b = ftell(fp);if

48、 (flag = 0 | tag = 0)printf(不存在A同学或B同学记录!);exit(-1);elsestrcpy(dor_num, s-dormitory);strcpy(s-dormitory, _s-dormitory);strcpy(_s-dormitory, dor_num);/locate_a=locate_a-sizeof(Student);fseek(fp, locate_a, 0);fwrite(s, sizeof(Student), 1, fp);/ locate_b=locate_b-sizeof(Student);fseek(fp, locate_b, 0);

49、fwrite(_s, sizeof(Student), 1, fp);printf(更换宿舍后:n);rewind(fp);locate_a = ftell(fp);while (fread(s, sizeof(Student), 1, fp)if (!strcmp(input_ID_a, s-ID)printf(n学生A信息如下:n%-20s%-20s%-20s%-20sn, 学号, , 性别, 宿舍号);printf(%-20s%-20s%-20s%-20sn, s-ID, s-name, s-gender, s-dormitory);break;locate_a = ftell(fp);

50、locate_b = ftell(fp);while (fread(_s, sizeof(Student), 1, fp)if (!strcmp(input_ID_b, _s-ID)printf(n学生B信息如下:n%-20s%-20s%-20s%-20sn, 学号, , 性别, 宿舍号);printf(%-20s%-20s%-20s%-20sn, _s-ID, _s-name, _s-gender, _s-dormitory);break;locate_b = ftell(fp);fclose(_fp);fclose(fp);void display()long locate;Student

51、 *s = (Student*)malloc(sizeof(Student);Dormitory * d = (Dormitory*)malloc(sizeof(Dormitory);open();printf(n请输入学号、性别:n);scanf(%s %s %s, s-ID, s-name, s-gender);locate = ftell(_fp);while (fread(d, sizeof(Dormitory), 1, _fp)if (d-max_num = d-current_num)strcpy(s-dormitory, d-ID);fwrite(s, sizeof(Student), 1, fp);fseek(_fp, locate, 0);d-current_num+;fwrite(d, sizeof(Dormitory), 1, _fp);printf(分配的宿舍是:);printf(%sn, s-dormitory);break;locate = ftell(fp);fclose(_fp);fclose(fp);int main()int select, flag = 1; /flag为0如此退出程序while (flag)printf(tt-

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!