回复 5楼 voidx
写到这么多,一直被
'parknumber' : undeclared identifier 困扰那~~~~~~想从外部或者main函数里加变量parknumber,一加好就出问题了。 提示是这么一堆乱码(?data_sort@@YAXQAUlist@@@Z) (?data_del@@YAXQAUlist@@@Z)
// 停车场管理系统
#include<stdio.h>
#include<string.h>
struct list {
int
parknumber;
/*车位号*/
char park[20];
/*是否泊车*/
char carnumber[20];
/*车牌号*/
char entertime[20];
/*进入时间*/
char leavetime[20];
/*离开时间*/
int fare;
/*收费金额*/
int enterdate;
/*进入日期*/
};
int Count=0;
/*定义全局变量Count,记录当前车辆总数*/
void add(struct list cars[] );
int
data_query( struct list cars[]);
void data_update( struct list cars[] );
void data_del( struct list cars[] );
void data_sort( struct list cars[] );
int main(void)
{
int choice;
struct list a,cars[20];
/*包含20辆车的停车场*/
FILE * fp;
//////// 读文件数据
fp = fopen( "list.txt","r" );
if( fp != NULL )
// 打开文件
{
while( !feof( fp ) )
{
int x = fscanf( fp,"%d %s %s %s %s %s %s",&a.parknumber,a.park,a.carnumber,a.entertime,a.leavetime,a.fare,a.enterdate );
if( x > 0 )
cars[ Count++ ]=a;
else break;
};
fclose( fp );
}
//////////////////
do{
printf("/***************************欢迎使用停车场管理系统*****************************/");
printf("\n\t\t\t <1>
---
添加>");
printf("\n\t\t\t <2>
---
查询>");
printf("\n\t\t\t <3>
---
修改>");
printf("\n\t\t\t <4>
---
删除>");
printf("\n\t\t\t <5>
---
排序>");
printf("\n\t\t\t <0>
---
退出>");
printf("\n\n\t\t\t现在请选择以上信息 :
");
scanf("%d",&choice);
switch(choice){
case 1:
add(cars);
break;
case 2:
printf("请输入要查询的车位号码:");
scanf("%d",parknumber);
break;
case 3:
data_update(cars);
break;
case 4:
data_del(cars);
break;
case 5:
data_sort(cars);
break;
case 0:
break;
}
}while(choice != 0 );
printf("谢谢使用停车场管理功能!\n");
return 0;
}
/*新进车辆*/
void
add(struct list cars[])
{
struct list a;
if(Count==20){
printf("停车场已满!\n");
return;
}
printf("Please type in park_number:");
scanf("%d",&a.parknumber);
printf("park or not:");
scanf("%s",a.park);
printf("Please type in car_number:");
scanf("%d",a.carnumber);
printf("Please type in enter_time:");
scanf("%d",a.entertime);
printf("Please type in leave_time:");
scanf("%s",a.leavetime);
printf("Please type in fare:");
scanf("%d",&a.fare);
printf("Please type in enter_date:");
scanf("%d",&a.enterdate);
cars[ Count ] = a;
Count++;
}
/*查询车辆信息*/
void data_query(struct list cars[],int parknumber)
{
int i,flag=0;
if(Count==0){
printf("停车场暂无停放车辆!\n");
return ;
}
for(i=0;i<Count;i++)
if(parknumber==cars[i].parknumber){
/*找到车辆*/
flag=1;
break;
}
if(flag){
printf("该车位的车辆信息:\n");
printf("车位号:
%d\n",cars[i].parknumber);
printf("是否泊车:%s\n",cars[i].park);
printf("车牌号:
%s\n",cars[i].carnumber);
printf("进入时间:%s\n",cars[i].entertime);
printf("离开时间:%s\n",cars[i].leavetime);
printf("收费金额:%d\n",cars[i].fare);
printf("进入日期:%d\n",cars[i].enterdate);
}
else
printf("无此车辆!");
return ;
}