求大神改一下错 在下实在不会了

[复制链接]
查看11 | 回复1 | 2021-1-27 06:26:13 | 显示全部楼层 |阅读模式
#include"stdio.h"
#include"stdlib.h"
structhome
{
charnember[20];
charname[20];
charsex[10];
charperson[10];
chartime[10];
charcontain[10];
charmoney[10];
structhome*next;
structhome*prior;
}list_entry;
structhome*start;
structhome*last;
voidmain()
{
charprompt;char*s;intcount=10;
voidmenu_select();
char*inputs(prompt,s);
voidalter();voidsearch();voidcost();voidtuichu();voidenter();
voidsearch1();
voidsearch2();
voidsearch3();
voidtongji();
voiddelet();
intb;inti=1;
structhome*info;
start=0;
while(i)
{
switch(menu_select())
{
case1:
enter();
break;case2:
alter();
break;
case3:
search();
break;
case4:
cost();
break;
case5:
delet();
break;
case6:
tongji();
break;
case7:
tuichu();}
}
voidmenu_select()
{
intc;
printf("\t\t=========================================================\n");
printf("\t\t=========================================================\n");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====5删除指定客房====\n");printf("\t\t====6统计客房情况====\n");printf("\t\t====7退出系统====\n");printf("\t\t=========================================================\n");printf("\t\t=========================================================\n");do{
printf("请按数字选择\n");scanf("%d",&c);getchar();
while(c10);returnc;
voidenter()
{structhome*info,*dls_store();chars[10];chara[10]="have";for(;;){
info=(sturcthome)malloc(1,sizeof(list_entry));if(info==0)
{printf("内存已用完\n");return;}
inputs("\t客房号码\n",info->nember);if(!info->nember[0])break;
inputs("\t能住的人数\n",info->contain);
inputs("\t有人输入have无人输入null\n",info->person);if(!strcmp(a,info->person)){
inputs("\t姓名:\n",info->name);inputs("\t姓别:\n",info->sex);
inputs("\t住入时间:\n",info->time);}
inputs("\t有人时输入时间无人输入\n",info->time);inputs("\t输入客房费用\n",info->money);start=dls_store(info,start);}}
char*inputs(prompt,s)
{
charp[255];
do{
printf(prompt);gets(p);
if(strlen(p)>count)printf("太长啦\n");}while(strlen(p)>count);strcpy(s,p);}
voidalter()
{
structhome*info,*find();
charroomNO[20];chara[10]="have";charc[10]="null";intb;
printf("\t如想查看客房情况输入1\n");printf("\t想修改输入2\n");printf("\t不想修改输入3\n");scanf("%d",&b);if(b==1)search();if(b==2){
printf("\t请输入要客房号码\n");scanf("%s",nember);getchar();
if(!(info=find(nember)))printf("\t没找到\n");else{
display(info);printf("\t下面是修改项目\n");if(!strcmp(a,info->person))
inputs("\t请输入null:\n",info->person,10);if(!strcmp(c,info->person)){
inputs("\t请输入名字\n",info->name,10);inputs("\t请输入性别\n",info->sex,10);inputs("\t请输入时间\n",info->time,10);}}}
if(b==3)return;}
structhome*find(nember)char*nember;
{structhome*info;info=start;while(info){
if(!strcmp(nember,info->nember))returninfo;info=info->next;}
printf("\t没找到\n");return(NULL);
}
display(info)
structhome*info;
{chara[10]="have";
printf("\t客房号码:%s\n",info->nember);printf("\t能住人数:%s\n",info->contain);
printf("\t无人住时显示null有人住时显示have:%s\n",info->person);if(!strcmp(a,info->person)){
printf("\t名字%s\n",info->name);printf("\t性别%s\n",info->sex);printf("\t时间%s\n",info->time);}
printf("\t客房每天费用:%s\n",info->money);printf("\n");}search(){
intb;
printf("\t查询只定客房输入1\n");printf("\t查询已住客房输入2\n");printf("\t查询未住客房输入3\n");printf("\t返回主菜单请输入4\n");do{
scanf("%d",&b);switch(b){
case1:search1();break;case2:search2();break;case3:search3();break;case4:return;}
}while(b5);}
voidsearch1()
{
charnember[10];
structhome*info,*find();
printf("\t输入房号码\n");
scanf("%s",nember);
getchar();
if(!(info=find(nember)))
printf("\t没找到\n");
elsedisplay(info);
}
voidsearch2()
{structhome*info;chara[10]="have";info=start;while(info){
if(!strcmp(info->person,a))display(info);printf("\n");info=info->next;}}voidsearch3()
{structhome*info;charb[10]="null";info=start;while(info){
if(!strcmp(b,info->person))display(info);printf("\n");info=info->next;}}voidsave(){
registerintt,size;structhome*info;char*p;FILE*fp;
if((fp=fopen("mlist","wb"))==0){printf("\t文件打不开\n");
exit(0);}
printf("\t正存入内存\n");size=sizeof(list_entry);info=start;while(info){p=(char*)info;for(t=0;tnext;}
putc(EOF,fp);fclose(fp);
printf("\t已存完\n");}cost(){
charnember[10];structhome*info;
printf("\t请输入客房号码\n");gets(nember);
if(!(info=find(nember)))printf("\t没找到\n");else{display(info);
printf("\t如果退房时间在12:00后按一天时间计算\n");}}
voiddelet()
{structhome*info,*find();charnember[10];
printf("\t请输入指定客房号码\n"
scanf("%s",&nember);info=find(nember);if(info){if(start==info){start=info->next;if(start)start->prior=0;}elselast=0;}else{
info->prior->next=info->next;if(info!=last)
info->next->prior=info->prior;else
last=info->prior;}
free(info);}tuichu(){intc;
printf("\t建议您最好存盘如果存盘输入1不存输入2\n");scanf("%d",&c);if(c==1)save();if(c==2){
printf("\t谢谢您使用本系统:\n");exit(0)
}}
voidtongji()
{
structhome*info;
chara[10]="have";
charb[10]="null";
intc,i=0;
printf("\t统计未住客房号码输入1已住客房号码输入2:\n");
scanf("%d",&c);
if(c==1)
{
info=start;
while(info)
{
if(!strcmp(a,info->person))
{
printf("客房号码:%s\n",info->nember);i++;
}
info=info->next;
}
printf("\t共有未住客房%d个\n",i);
}
if(c==2)
{
info=start;
while(info)
{
if(!strcmp(b,info->person))
{
printf("\t客房号码%s\n",info->nember);i++;
}
info=info->next;
}
printf("\t共有已住客房%d\n",i);
}
}

分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:26:13 | 显示全部楼层
这么长,也不贴进代码中,也不贴错误提示,没功夫看。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行