C语言课程设计报告学生宿舍管理系统Word下载.docx

上传人:b****3 文档编号:8007989 上传时间:2023-05-09 格式:DOCX 页数:15 大小:67.08KB
下载 相关 举报
C语言课程设计报告学生宿舍管理系统Word下载.docx_第1页
第1页 / 共15页
C语言课程设计报告学生宿舍管理系统Word下载.docx_第2页
第2页 / 共15页
C语言课程设计报告学生宿舍管理系统Word下载.docx_第3页
第3页 / 共15页
C语言课程设计报告学生宿舍管理系统Word下载.docx_第4页
第4页 / 共15页
C语言课程设计报告学生宿舍管理系统Word下载.docx_第5页
第5页 / 共15页
C语言课程设计报告学生宿舍管理系统Word下载.docx_第6页
第6页 / 共15页
C语言课程设计报告学生宿舍管理系统Word下载.docx_第7页
第7页 / 共15页
C语言课程设计报告学生宿舍管理系统Word下载.docx_第8页
第8页 / 共15页
C语言课程设计报告学生宿舍管理系统Word下载.docx_第9页
第9页 / 共15页
C语言课程设计报告学生宿舍管理系统Word下载.docx_第10页
第10页 / 共15页
C语言课程设计报告学生宿舍管理系统Word下载.docx_第11页
第11页 / 共15页
C语言课程设计报告学生宿舍管理系统Word下载.docx_第12页
第12页 / 共15页
C语言课程设计报告学生宿舍管理系统Word下载.docx_第13页
第13页 / 共15页
C语言课程设计报告学生宿舍管理系统Word下载.docx_第14页
第14页 / 共15页
C语言课程设计报告学生宿舍管理系统Word下载.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言课程设计报告学生宿舍管理系统Word下载.docx

《C语言课程设计报告学生宿舍管理系统Word下载.docx》由会员分享,可在线阅读,更多相关《C语言课程设计报告学生宿舍管理系统Word下载.docx(15页珍藏版)》请在冰点文库上搜索。

C语言课程设计报告学生宿舍管理系统Word下载.docx

按房号修改以上信息

◎排序:

按已住人数排序信息

2.函数原型声明

structroom*add(structroom*head);

//添加函数

structroom*del(structroom*h);

//删除函数

voidshow(structroom*h);

//信息浏览函数

voidserh(structroom*h);

//查询与修改函数

structroom*sort(structroom*head);

//排序函数

voidcan();

//结束函数

二、用户使用说明

运行程序后即可按提示模仿以上操作进行。

1、菜单界面

2、入住登记界面

3、删除界面

4、浏览界面

5、查询修改

6、排序界面

7、退出

三、小结

通过编写该程序,熟悉了C语言的基本语法,选择,循环等结构,深入练习了函数的调用方法,和文件的读写方法,熟悉了结构体的使用,更加深化了面向过程语言思想,和一些基本算法。

通过对程序的后期调试,熟悉了C常见错误,锻炼了思维的严密性,和完备性。

通过对程序的注释和画流程图,形成了一套自己编程的风格,和清晰地思路,使思维更加条理化,清晰化。

四、参考文献

[1]谭浩强.C程序设计(第二版).北京:

清华大学出版社,1999

[2]邓文新.张宏烈.哈尔滨工业大学出版社

[3]XX.

五、附件源程序代码

#include<

stdio.h>

malloc.h>

string.h>

#include<

stdlib.h>

structroom

{

intLnum;

intFnum;

intsqua;

intmaxnum;

intinnum;

structroom*next;

};

//排序函数//修改点

voidmain()

structroom*head;

intx,y;

head=(structroom*)malloc(sizeof(structroom));

head->

next=NULL;

printf("

欢迎使用学生宿舍管理系统!

\n"

);

按回车键进入菜单界面\n"

getchar();

while

(1)

{

A:

printf("

[]--------------------------------------------[]\n"

||--------------------------------------------||\n"

||1.入住登记||\n"

||2.删除信息||\n"

||3.信息浏览||\n"

||4.查询修改||\n"

printf("

||5.按入住人数排序||\n"

||6.退出系统||\n"

请选择服务项目!

flushall();

scanf("

%d"

&

x);

//菜单选择

if(head->

next==NULL&

&

x!

=1&

=6)

{

printf("

系统中无入住信息,请先进行入房登记!

gotoA;

}

switch(x)

case1:

head=add(head);

system("

cls"

登记完毕!

continue;

case2:

head=del(head);

T:

scanf("

y);

while(y!

y!

=0)

{

printf("

输入错误!

请重新输入!

gotoT;

}

if(y==1)

{system("

continue;

}

else

can();

gotoN;

case3:

show(head);

是否返回菜单界面进行其他操作?

(1/0)\n"

J:

scanf("

gotoJ;

gotoN;

case4:

serh(head);

case5:

head=sort(head);

//修改点

while(y!

continue;

case6:

can();

gotoQ;

default:

N:

if(y==0)

break;

Q:

if(x==6)

}

structroom*add(structroom*head)//入住登记

structroom*h,*p;

inti=0,n;

h=head;

请输入要登记的入房数:

n);

请输入入住信息:

\n楼号房号面积最大入住人数已入住人数\n"

数据须按规定顺序输入,不同数据用空格分开。

for(i=0;

i<

n;

i++)

p=(structroom*)malloc(sizeof(structroom));

%d%d%d%d%d"

p->

Lnum,&

Fnum,&

squa,&

maxnum,&

innum);

p->

next=h->

next;

h->

next=p;

returnh;

structroom*del(structroom*h)//退房登记

intx;

structroom*p,*q;

p=h->

q=h;

请输入退房房号:

if(p==NULL)

不存在此入房登记!

\n是否返回菜单界面进行其他操作?

(1/0)"

else

while(p)

if(p->

Fnum==x)

q->

next=p->

free(p);

删除成功!

gotoK;

q=p;

p=p->

if(p==NULL)

K:

voidshow(structroom*h)

structroom*p;

if(p==NULL)

无信息可显示!

\n楼号房号面积所容纳人数已入住人数\n\n"

%-7d%-7d%-8d%-13d%-8d\n"

p->

Lnum,p->

Fnum,p->

squa,p->

maxnum,p->

p=p->

voidserh(structroom*h)//入住信息查询与修改

intx,y,z;

H:

请输入要查找的房号:

z);

while(p->

Fnum!

=z)

p=p->

您所查询的房间号无人入住!

是否继续查找?

Z:

while(x!

gotoZ;

if(x==1)

gotoH;

查询结果如下:

如需修改请选择1,按其他任意键返回菜单界面\n"

if(y==1)

请对入住信息进行修改(按顺序输入)\n"

修改成功!

修改结果如下:

structroom*sort(structroom*h)//修改点

structroom*p1,*p2,*t,*temp,*q;

/*定义临时指针*/

temp=h->

/*将原表的头指针所指的下一个结点作头指针*/

h->

/*第一个结点为新表的头结点*/

while(temp!

=NULL)/*当原表不为空时,进行排序*/

{

t=temp;

/*取原表的头结点*/

temp=temp->

/*原表头结点指针后移*/

p1=h;

/*设定移动指针p1,从头指针开始*/

p2=h;

/*设定移动指针p2做为p1的前驱,初值为头指针*/

while(t->

innum<

p1->

innum&

p1!

=NULL)/*作成绩平均分比较*/

{

p2=p1;

/*待排序点值小,则新表指针后移*/

p1=p1->

}

if(p1==p2)/*p1==p2,说明待排序点值大,应排在首位*/

t->

next=p1;

/*待排序点的后继为p*/

h=t;

/*新头结点为待排序点*/

else/*待排序点应插入在中间某个位置p2和p1之间,如p为空则是尾部*/

t->

/*t的后继是p1*/

p2->

next=t;

/*p2的后继是t*/

}

q=(structroom*)malloc(sizeof(structroom));

q->

next=h;

while(h->

next!

=NULL)

h->

Lnum,h->

Fnum,h->

squa,h->

maxnum,h->

h=h->

h=q;

voidcan()

欢迎再次使用学生宿舍管理系统!

再见~\n"

}

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

当前位置:首页 > 工作范文 > 其它

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

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