扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
刚写完,好累.还有很多bug,你看看会不会改,不行的话我有时间再帮你改.各位有什么意见的也可以告诉我
10年积累的成都网站制作、做网站、外贸营销网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先制作网站后付款的网站建设流程,更有太和免费网站建设让你可以放心的选择与我们合作。
编译器是VC6
#includestdio.h
#includestdlib.h
#includestring.h
#define MaxNum 20
typedef struct A{
int No; /*车辆编号*/
char Type; /*车类型*/
int Payment;/*租费*/
int fine; /*罚金*/
struct A *next;/*指向下一个结点*/
} car;
typedef struct B{
int No; /*顾客编号*/
char Name[20]; /*顾客姓名*/
char License; /*执照类别*/
int carNo; /*租凭的车辆编号*/
int Day; /*租的天数*/
int DelayDay;/*延迟的天数*/
struct B *next;
} client;
struct C{/*这个结构体是车辆链表的头结点,A,B,C每种类型有一种*/
char Type;/*车辆型号*/
int avl; /*可用数*/
car *head;/*指向车辆结点*/
} headNode[3]={{'A',MaxNum,NULL},{'B',MaxNum,NULL},{'C',MaxNum,NULL}} ;
client *allClien=NULL;
int pay[3]={400,300,200},fine[3]={600,500,400};
void init();/*初始化*/
int menu();/*简单菜单界面*/
void search();/*查询*/
void carSc(); /*查询车辆*/
void clientSc();/*查询顾客*/
void rent(); /*租车*/
void giveback();/*还车*/
void addCli(client *cli);/*向顾客链表增加顾客*/
client* delCli(int clientNo);/*从顾客链表删除一个顾客*/
void addCar();/*向车辆链表归还车辆*/
car* delCar();/*从车辆链表拿出一辆车*/
void Exit();/*退出*/
void main()
{
init();
while(1)
{
switch(menu())
{
case 1:search();break;
case 2:rent();break;
case 3:giveback();break;
case 4:Exit();
default:;
}
}
}
void init()
{
int i;
car *ptr,*pa=headNode[0].head,*pb=headNode[1].head,*pc=headNode[2].head;
for(i=1;i=MaxNum;i++)
{
ptr=(car *)malloc(sizeof(car));
ptr-No=100+i;
ptr-Type='A';
ptr-Payment=400;
ptr-fine=600;
pa=ptr;
pa=ptr-next;
ptr=ptr=(car *)malloc(sizeof(car));
ptr-No=200+i;
ptr-Type='B';
ptr-Payment=300;
ptr-fine=500;
pb=ptr;
pb=ptr-next;
ptr=(car *)malloc(sizeof(car));
ptr-No=300+i;
ptr-Type='C';
ptr-Payment=200;
ptr-fine=400;
pc=ptr;
pc=ptr-next;
}
pa=NULL;pb=NULL;pc=NULL;
}
int menu()
{
int choice;
printf("\n\n\n选择服务:1.查询 2.租车 3.归还 4.退出\n");
scanf("%d",choice);
while(choice!=1choice!=2choice!=3choice!=4)
{
printf("\n输入有误,重新输入:");
scanf("%d",choice);
}
return choice;
}
void search()
{
int choice;
printf("\n你想查询:1.汽车 2.顾客 3.返回 \n");
scanf("%d",choice);
while(choice!=1choice!=2choice!=3)
{
printf("\n输入有误,重新输入:");
scanf("%d",choice);
}
switch(choice)
{
case 1:carSc(); break;
case 2:clientSc(); break;
case 3: ;
default:;
}
}
void carSc()
{
printf("\n\n所有汽车信息:\n");
printf("\nA类汽车还剩%d辆.\nB类汽车还剩%d辆.\nC类汽车还剩%d辆.",
headNode[0].avl,headNode[1].avl,headNode[2].avl);
}
void clientSc()
{
client *ptr=allClien;
printf("\n\n所有顾客信息:\n");
while(ptr!=NULL)
{ printf("\n\n顾客编号:%d",ptr-No);
printf("\n顾客姓名:%s",ptr-Name);
printf("\n驾照类型:%c",ptr-License);
printf("\n租赁车号:%d",ptr-carNo);
printf("\n租赁天数:%d",ptr-Day);
printf("\n延迟天数:%d",ptr-DelayDay);
ptr=ptr-next;
}
}
void addCli(client *cli)
{
if(allClien)
allClien=cli;
else
{
cli-next=allClien-next;
allClien=cli;
}
}
client* delCli(int clientNo)
{
client *ptr,*prePtr
ptr=allClien;
while(ptr!=NULLptr-No!=clientNo)
{ prePtr=ptr;
ptr=ptr-next;
}
if(ptr!=NULL)
{
if(ptr==allClien)
{
allClien=NULL;
}
else
{
prePtr-next=ptr-next;
}
}
return ptr;
}
void rent()
{
char name[20],type,Yes_No;
int num,day,No;
car *carPtr;
client *cli;
printf("\n\n输入执照类型(A/B/C):");
scanf("%c",type);
while(type!='A'type!='B'type!='C')
{
printf("输入有误,重新输入:");
scanf("%c",type);
}
if(type=='A')
num=headNode[0].avl;
else if(type=='B')
num=headNode[1].avl;
else
num=headNode[2].avl;
printf("\n%c类汽车还剩%d辆,是否要租凭(Y/N):",type,num);
scanf("%c",Yes_No);
while(Yes_No!='Y'Yes_No!='N'Yes_No!='y'Yes_No!='n')
{
printf("Y或N:");
scanf("%c",Yes_No);
}
/*增加顾客*/
if(Yes_No=='Y'||Yes_No=='y')
{
printf("\n输入你的名字:");
scanf("%s",name);
printf("\n输入你的租赁天数:");
scanf("%d",day);
}
No=rand()%60+200;
carPtr=delCar(type);
cli=(client *)malloc(sizeof(client));
cli-No=No;
strcpy(cli-Name,name);
cli-License=type;
cli-carNo=carPtr-No;
cli-Day=day;
cli-DelayDay=0;
cli-next=NULL;
addCli(cli);
/*移出一辆车*/
printf("\n你的顾客编号是:%d",No);
printf("\n你所租赁的汽车是%c类车,车号是:%d",type,carPtr-No);
printf("\n你的租赁天数是%d天.",day);
}
void giveback()
{
int No;
long int payment;
client *ptr;
printf("\n\n顾客编号:");
scanf("%d",No);
if((ptr=delCli(No))==NULL)
printf("\n该顾客不存在,无法归还!");
else
{
switch(ptr-License)
{
case 1:payment=ptr-Day*400+ptr-DelayDay*600;break;
case 2:payment=ptr-Day*300+ptr-DelayDay*500;break;
case 3:payment=ptr-Day*200+ptr-DelayDay*400;break;
default:;
}
printf("\n\n顾客姓名:%s",ptr-Name);
printf("\n驾照类型:%c",ptr-License);
printf("\n租赁车号:%d",ptr-carNo);
printf("\n租赁天数:%d",ptr-Day);
printf("\n延迟天数:%d",ptr-DelayDay);
printf("\n\n所需费用:%ld",payment);
addCar(ptr-License,ptr-carNo);
free(ptr);
}
}
void addCar(char carType,int carNo)
{
car *ptr;
int index=carType-65;
ptr=headNode[index].head;
if(ptr==NULL)
{ptr=(car *)malloc(sizeof(car));
headNode[index].head=ptr;
}
else
{while(ptr-next)
ptr=ptr-next;
ptr-next=(car *)malloc(sizeof(car));
ptr=ptr-next;
}
ptr-No=carNo;
ptr-Type=carType;
ptr-Payment= pay[index];
ptr-fine=fine[index];
ptr-next=NULL;
}
car* delCar(char type)
{
car *rentcar;
switch(type)
{
case 'A':rentcar=headNode[0].head;
headNode[0].head=rentcar-next;
break;
case 'B':rentcar=headNode[1].head;
headNode[1].head=rentcar-next;
break;
case 'C':rentcar=headNode[2].head;
headNode[2].head=rentcar-next;
break;
default:;
}
return rentcar;
}
void Exit()
{
printf("\n欢迎使用.....888888888886666....");
exit(0);
}
汽车租赁系统是基于Internet互联网、ERP、GPS及数据库技术开发的软件,实现汽车租赁行业全业务流程的信息化,像迪蒙汽车租赁系统通过先进的移动互联网技术,对传统汽车租赁系统进行了互联网化改造,还可通过 PC 网站、APP 等渠道开展全新的线上租赁业务,提高汽车使用效率、提升用户体验。
首先,你要根据你这个租赁管理系统进行分析,写出基本的框架,然后再根据这个框架设计出数据库,最后写代码。这样就做好了啊,不过前期分析写出框架是最难的,迪蒙汽车租赁解决方案是由迪蒙自主设计研发的一套多网融合汽车租赁管理整体解决方案。
用java开发的汽车租赁管理系统优势:
1、业务类型全覆盖
长租、短租、代驾、接送机、以租代售、分时租赁、公车租赁等租赁业务全覆盖
2、全方位监控
实现订单、车辆、合同、客户的全程跟踪,实时监控,平台业务一手掌控
3、灵活的租金设置
针对不同车辆可设置不同的租金和优惠活动,经营多样化
4、高性能稳定架构
采用先进技术架构,基于分布式结构部署,支持大并发量数据的处理和存储
该方案融合了共享经济理念,通过先进的移动互联网技术,对传统汽车租赁系统进行了互联网化改造,不仅覆盖了传统租赁业务模式,还拓展了多元化的线上汽车租赁业务。通过系统,客户不仅可以高效开展和管理线下业务,还可通过 PC 网站、APP 等渠道开展全新的线上租赁业务。最大化优化配置时间与空间,提高汽车使用效率、提升用户体验、降低企业管理运营成本,助力企业“互联网 +”升级转型。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流