刚学C语言,期末作业布置的程序,写的很粗糙,循环也有一点问题,大佬们多多见谅。主要还是希望能帮助到和我一样的初学者。
函数功能实现:
流程图
主要利用函数模块化的思路,将旅店管理系统的功能一一拆分开来,分别利用函数实现,在通过主函数控制整个程序。其中一些地方涉及到DOS命令和句柄的使用,相应函数可以直接套用,都是一些很方便的工具,可以自行在优快云上搜索详细知识。
全部代码,可直接运行
#include<stdio.h>
#include<windows.h>
int w=0,s=0;
struct//创建房间结构体,储存房间内的人数
{
int com_num=0;
}room[15];//上限15个房间
struct//房客结构体,储存名字,ID,房间号
{
char name[20];
char ID[20];
int room=0;
}com[100];//上限100位
void SetPos(int x,int y)//定位函数,定位在终端中的位置
{
COORD pos={
x,y};
HANDLE hout=GetStdHandle(STD_OUTPUT_HANDLE);//获取句柄
SetConsoleCursorPosition(hout,pos);
}
int color(int c)//颜色函数,更改字体颜色
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),c);
return 0;
}
void welcome()//欢迎界面
{
SetPos(35,9);//定位,下同
color(3);//更改字体颜色,下同
printf("您想要的服务我们都有!!!");
SetPos(35,12);
color(4);
printf("入住一晚只要¥98");
SetPos(35,14);
color(7);
printf("免费提供早晚餐(包括且仅限于馒头、馒头、馒头)");
SetPos(35,16);
color(2);
printf("更有您意想不到的特殊服务哦!!!(绿色健康小清新)");
SetPos(45,20);
printf("709旅馆信息管理程序\n");
SetPos(45,25);
system("pause");//DOS命令,按任意键继续
}
void information()//房间信息界面
{
system("cls");//DOS命令,清屏
int num=0;
for(int i=0;i<15;i++)
{
if(room[i].com_num!=0) num++;
}
SetPos(45,8);
color(15);
printf("已入住%d间 剩余房间数%d\n",num,15-num);
SetPos(45,10);
printf("剩余房间号为 :");
for(int i=0;i<15;i++)
{
if(room[i].com_num==0) printf("%d ",i+1);
}
SetPos(45,25);
system("pause");
}
void check_room()//查找房间
{
int n;
while(n)
{
color(15);
system("cls");
SetPos(45,25);
printf("请输入您想要查找的房间编号 :");
SetPos(45,27);
printf("输入'0'退出");
SetPos(73,25);
scanf("%d",&n);
SetPos(45,8)