宿舍管理查询系统课程设计Word文档格式.docx

上传人:b****1 文档编号:13815127 上传时间:2022-10-13 格式:DOCX 页数:18 大小:20.47KB
下载 相关 举报
宿舍管理查询系统课程设计Word文档格式.docx_第1页
第1页 / 共18页
宿舍管理查询系统课程设计Word文档格式.docx_第2页
第2页 / 共18页
宿舍管理查询系统课程设计Word文档格式.docx_第3页
第3页 / 共18页
宿舍管理查询系统课程设计Word文档格式.docx_第4页
第4页 / 共18页
宿舍管理查询系统课程设计Word文档格式.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

宿舍管理查询系统课程设计Word文档格式.docx

《宿舍管理查询系统课程设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《宿舍管理查询系统课程设计Word文档格式.docx(18页珍藏版)》请在冰豆网上搜索。

宿舍管理查询系统课程设计Word文档格式.docx

A.按姓名查询

B.按学号查询

C.按房号查询

2.2基本要求:

1)系统功能的完善;

2)代码中有必要的注释。

…………………………

3.概要设计

1>

1)需要定义一个结构体:

typedefstructpnode//结构体定义用于存放学生信息的节点

{

charname[8];

//姓名

charxh[16];

//学号

charfh[30];

//房号

}personnode;

用来存储学生的信息。

2)create()

 //初始条件:

必须保证原有记录是空时方可建立

操作结果:

建立一个新的数据文件

3)readfile()

//初始条件:

数据文件已经建立

获取次文件的信息

4)serch1()按姓名查找

serch2()按学号查找

serch3()按宿舍号查找

初始条件:

数据文件中含有纪录

操作结果:

不支持模糊查询必须查询项和关键字吻合情况下才可查询。

调用按不同关键字查询的子函数

若存在相应的查询结果则显示在屏幕上,若查找的纪录不存在则提示该纪录不存在,请建立相应的数据纪

5)insert()

//添加数据纪录的函数

必须已经建立了数据文件

在数据文件中添加新的纪录

若没有建立数据文件则添加失败。

6)delete()

//删除数据纪录的函数

必须建立了数据库并且数据文件中含有数据纪录

删除输入学号的学生的一切相关纪录

7)updata()

//修改数据纪录的函数

修改输入的学号相对应的学生的一切信息。

如不存在相应的纪录则提示不存在

8)output()

//输出函数

初始条件:

数据文件已经建立

起泡法排序按学号顺序输出记录

2>

本程序包含10个函数:

1.主函数main()

2.新建数据文件create()

3.查询函数serch1()

4.查询函数serch2()

5.查询函数serch3()

6.加数据纪录函数insert()

7.删除数据纪录函数delete()

8.修改数据纪录函数updata()

9.数据文件读取函数readfile()

10.查询当前所有纪录冰按学号升序输出的函数output()

<

各函数间关系:

利用主函数调用其他的各个函数,新建数据文件函数create()是其它各个函数的基础,有了它其它函数才能够使用。

查询函数()修改数据纪录函数updata()这些函数都是在同一等级上的函数,是平行关系。

查询当前所有纪录的函数output()以学号为关键字查询函数serch1()以姓名为关键字查询函数serch2()以床号为关键字查询函数serch3()以宿舍号)这些函数都是查询函数中的子函数,他们之间是平行的关系。

4.功能模块详细设计

通过swich分支构建图形用户界面一次调用其他模块完成总体功能;

2新建数据文件create()

2.1为节点分配内存

2.2创建二进制文件用于存储学生信息

2.3通过一个循环一次录入学生信息

2.4关闭文件

3.1打开文件

3.2遍历整个文件找到与指定姓名匹配的信息

3.3输出查询到的信息

3.4关闭文件

4.1打开文件

4.2遍历整个文件找到与制定学号匹配的信息

4.3输出查询到的信息

5.4关闭文件

5.1打开文件

5.2遍历整个文件找到与制定床号匹配的信息

5.3输出查询到的信息

6.加数据纪录函数insert()

6.1打开文件

6.2将制定记录插入到文件的末尾

6.3关闭文件

7.删除数据纪录函数delete()

7.1打开文件

7.2遍历文件找到与制定姓名匹配的记录并删除

7.3关闭文件

8.1打开文件

8.2遍历整个文件找到与制定姓名匹配的记录并修改

8.3关闭文件

9.1打开文件

9.2读取文件

9.3关闭文件

10.查询当前所有纪录冰按学号升序输出的函数output()

10.1打开文件

10.2遍历文件(嵌套遍历)依次比较学号大小用起泡法进行排序

10.3遍历文件依次输出文件中的记录

4.1详细设计思想

采用模块化编程思想,将程序划分为11个模块,在逐个模块细化编程,最后再将个个模块组装成软件。

……………………….

4.2源代码

#include<

stdio.h>

stdlib.h>

string.h>

charfilename[20];

//文件名

FILE*fp;

//指向文件的指针

voidcreat()//创建新数据文件的函数创建一个二进制文件用于存放学生数据

personnode*person;

person=(personnode*)malloc(sizeof(personnode));

//为节点分配内存

printf("

\npleaseenterthefilename:

\n"

);

scanf("

%s"

filename);

if((fp=fopen(filename,"

w+"

))==NULL)

{

\nyouhavenoenterthefilename,cannotfontthefile"

exit(0);

}

\npleaseenterthename,studentnumbeer(thesamelength)androomnumber,sparewithspace,endwith#\n"

person->

name);

while(strcmp(person->

name,"

#"

))//该循环用于控制学生信息的录入当输入#时学生信息录入完毕

%s%s"

xh,person->

fh);

fprintf(fp,"

%-10s%-20s%-50s\n"

name,person->

fclose(fp);

}

voidreadfile()//文件读取函数用于打开已有的二进制数据文件

{printf("

\npleaseenterthefileroad:

//此处输入为文件的路径如c:

\zhang

if((fp=fopen(filename,"

r+"

))==NULL)

\ncan'

topenthefile:

voidoutput()//输出函数用于输出文件的全部信息

longoffset1,offset2;

charname1[8],name2[8],name3[8];

charxh1[16],xh2[16],xh3[16];

charfh1[30],fh2[30],fh3[30];

r"

topenthefile"

while(!

feof(fp))//此循环用于对文件数据中关键字学号进行从小到大冒泡排序

inta,b,c,d;

//a为循环结束判定变量b,c,d用于起泡排序时学号交换的替换

feof(fp))//从文件头开始遍历

feof(fp))//对两组数据进行排序

offset1=ftell(fp);

//获取文件内部当前指针位置

fscanf(fp,"

%s%s%s\n"

strcpy(name1,person->

strcpy(xh1,person->

xh);

strcpy(fh1,person->

if(feof(fp))break;

//文件结束跳出循环

offset2=ftell(fp);

//获取文件内部下一指针位置

strcpy(name2,person->

strcpy(xh2,person->

strcpy(fh2,person->

b=strlen(xh1);

c=strlen(xh2);

d=strcmp(xh1,xh2);

if(b==c&

&

d>

0)//如果学号1大于等于学号2怎交换全部数据

strcpy(name3,name1);

strcpy(name1,name2);

strcpy(name2,name3);

strcpy(xh3,xh1);

strcpy(xh1,xh2);

strcpy(xh2,xh3);

strcpy(fh3,fh1);

strcpy(fh1,fh2);

strcpy(fh2,fh3);

fseek(fp,offset1,SEEK_SET);

//将文件指针移动offset1个字节

strcpy(person->

name,name1);

strcpy(perso

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 营销活动策划

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

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