数据结构 c语言,客房管理系统

数据结构 c语言,客房管理系统中 查找某一房间类型的所有信息 系统运行后,为什么有时候可以显示结果,有时候不行,为什么呢

p=p->next; 这句放错了地方,修改如下,供参考:

void czmy(LinkList L)//查找某一房间类型的所有房间信息
{
        int a;
        LinkList p=L->next;
        int i=0;
        printf("\t\t======================================================\n");
        printf("\t\t|| ※欢迎进入计算各类客房收入系统※ ||\n");
        printf("\t\t|| 1.计算单人房间类型的所有房间信息 ||\n");
        printf("\t\t|| 2.计算双人房间类型的所有房间信息 ||\n");
        printf("\t\t|| 3.计算三人房间类型的所有房间信息 ||\n");
        printf("\t\t|| 4.计算四人房间类型的所有房间信息 ||\n");
        printf("\t\t======================================================\n");
        printf("\t\t>>>请选择1--4:");
        scanf("%d", &a);
        switch (a){
                  case 1://1.计算单人房间类型的所有房间信息
                        {
                           while(p) {
                                    if (strcmp("单",p->data.type)==0) {
                                        printf("单人房间类型的所有房间信息:");
                                        printf("\t\t房间号码 房间类型 是否入住 房间价格\n");
                                        printf("%22s%17s%13d%17d\n",p->data.num,p->data.type,p->data.flag,p->data.money);//printf("\n");
                                    }
                                    p=p->next;
                           }
                        }
                        break;
                  case 2://2.计算双人房间类型的所有房间信息
                        {
                           while(p) {
                                    if (strcmp("双",p->data.type)==0) {
                                        printf("双人房间类型的所有房间信息:");
                                        printf("\t\t房间号码 房间类型 是否入住 房间价格\n");
                                        printf("%22s%17s%13d%17d\n",p->data.num,p->data.type,p->data.flag,p->data.money);//printf("\n");
                                    }
                                    p=p->next;
                           }
                        }
                        break;
                  case 3://3.计算三人房间类型的所有房间信息
                        {
                           while(p) {
                                    if (strcmp("三",p->data.type)==0) {
                                        printf("三人房间类型的所有房间信息:");
                                        printf("\t\t房间号码 房间类型 是否入住 房间价格\n");
                                        printf("%22s%17s%13d%17d\n",p->data.num,p->data.type,p->data.flag,p->data.money);// printf("\n");
                                    }
                                    p=p->next;
                           }
                        }
                        break;
                  case 4://3.计算四人房间类型的所有房间信息
                        {
                           while(p) {
                                    if (strcmp("四",p->data.type)==0) {
                                        printf("四人房间类型的所有房间信息:");
                                        printf("\t\t房间号码 房间类型 是否入住 房间价格\n");
                                        printf("%22s%17s%13d%17d\n",p->data.num,p->data.type,p->data.flag,p->data.money);// printf("\n");
                                    }
                                    p=p->next;
                           }
                        }
                        break;
        }
}

 

没有代码,没法分析,猜测是查找的函数里有漏洞造成。

你可以参考我的这个《C程序设计学生管理系统》,哪里看不懂,私信我https://blog.csdn.net/m0_46323635/article/details/118027918?utm_source=app&app_version=4.9.1&code=app_1562916241&uLinkId=usr1mkqgl919blen