亲测可以运行 自己的课程设计 搞得很累 代码如下我的课程设计 汽车租赁系统c语言
#include<stdio.h>#include<stdlib.h>
#include<string.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(char carType,int carNo)
car* delCar(char type)
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=0
car *ptr,*pa,*pb,*pc
headNode[0].head=NULL,headNode[1].head=NULL,headNode[2].head=NULL
ptr=(car *)malloc(sizeof(car))
ptr->辩李No=100
ptr->Type='A'
ptr->Payment=400
ptr->fine=600
headNode[0].head=ptr
pa=ptr
pa->next=NULL
for( i=1i<20i++){
ptr=(car *)malloc(sizeof(car))
ptr->No=100+i
ptr->Type='A'
ptr->Payment=400
ptr->fine=600
pa->next=ptr
pa=ptr
渗灶备 pa->next=NULL
}
丛毁 free(ptr)
ptr=(car *)malloc(sizeof(car))
ptr->No=200
ptr->Type='B'
ptr->Payment=300
ptr->fine=500
headNode[1].head=ptr
pb=ptr
pb->next=NULL
for( i=1i<20i++){
ptr=(car *)malloc(sizeof(car))
ptr->No=200+i
ptr->Type='A'
ptr->Payment=400
ptr->fine=600
pb->next=ptr
pb=ptr
pb->next=NULL
}
free(ptr)
ptr=(car *)malloc(sizeof(car))
ptr->No=300
ptr->Type='C'
ptr->Payment=200
ptr->fine=400
headNode[2].head=ptr
pc=ptr
pc->next=NULL
for( i=1i<20i++){
ptr=(car *)malloc(sizeof(car))
ptr->No=300+i
ptr->Type='A'
ptr->Payment=400
ptr->fine=600
pc->next=ptr
pc=ptr
pc->next=NULL
}
free(ptr)
}
int menu()
{
int choice
printf("\n\n\n选择服务:1.查询 2.租车 3.归还 4.退出\n")
scanf("%d",&choice)
while(choice!=1&&choice!=2&&choice!=3&&choice!=4)
{
printf("\n输入有误,重新输入:")
scanf("%d",&choice)
}
return choice
}
void search()
{
int choice
printf("\n你想查询:1.汽车 2.顾客 3.返回 \n")
scanf("%d",&choice)
while(choice!=1&&choice!=2&&choice!=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==NULL)
allClien=cli
else
{
cli->next=allClien
allClien=cli
}
}
client* delCli(int clientNo)
{
client *ptr,*prePtr
ptr=allClien
while(ptr!=NULL&&ptr->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*600break
case 2:payment=ptr->Day*300+ptr->DelayDay*500break
case 3:payment=ptr->Day*200+ptr->DelayDay*400break
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
headNode[index].avl++
}
else
{while(ptr->next)
ptr=ptr->next
ptr->next=(car *)malloc(sizeof(car))
ptr=ptr->next
headNode[index].avl++
}
ptr->No=carNo
ptr->Type=carType
ptr->Payment= pay[index]
ptr->fine=fine[index]
ptr->next=NULL
}
car* delCar(char type)
{
car *rentcar
car *pp
switch(type)
{
case 'A':
rentcar=headNode[0].head
headNode[0].head=rentcar->next
headNode[0].avl--
break
case 'B':rentcar=headNode[1].head
headNode[1].head=rentcar->next
headNode[1].avl--
break
case 'C':rentcar=headNode[2].head
headNode[2].head=rentcar->next
headNode[2].avl--
break
default:
}
return rentcar
}
void Exit()
{
printf("\n欢迎使用.....888888888886666....")
exit(0)
}
汽车租赁系统是汽车租赁公司的办公系统,包括从车辆的购置预算,审核购置,车辆预定,合同签订,车辆交接,收款结算,车辆维修,保险,违章车辆处置等业务。汽车租答信拿赁系统是基于Internet互联网、ERP、
GPS及数据库技术开发的软件,实现汽车租赁行业全业务流程的信息化。
商灵清搭通汽车租赁系统软件后台由车辆信息管理、租赁业务管理、车辆服务管理、财务管理、客户管理、统
计管理、线下门店管理和系统管理八大模块组成。
1)车辆信息管理
系统业务模块,包括车辆管理、租金设置、车辆调度和车辆优惠管理四大模块。
2)租赁业务管理
系统业务模块,包括汽车租赁业务设置、订单管理、车辆预定管理、订单变更管理、车辆续租管理、出/还
车管理、押金管理、合同管理等各种业务管理功能。
汽车租赁系统后台功能有哪些?
3)车辆服务管理
车辆服务业务模块,包括保险管理、事故管理、违章管理、维修管理、保养管理、加油卡管理,这些主要
是租赁汽车的服务工坦御作。
4)财务管理
对汽车租赁业务的辅助管理模块,也是不可缺少的模块,包括账单管理、发票管理、调账管理和资金明细
等功能。
5)客户管理
主要是针对客户信息的管理,包括个人客户管理、企业客户管理、黑名单管理、积分设置等功能。
6)统计管理
统计管理是统计站内的数据,包括用户统计、订单统计、成本统计、资金统计和车辆统计等。
7)线下门店管理
汽车租赁公司的另一辅助模快,包括系统用户管理、门店设置和员工管理。
8)系统管理
系统管理维护模块,包括站点管理、APP管理、基础设置、提醒管理。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)