• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

C语言实现车辆出租管理系统

c语言 搞代码 4年前 (2022-01-06) 75次浏览 已收录 0个评论

这篇文章主要为大家详细介绍了C语言实现车辆出租管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

这个项目是我今年的C语言课设。做这个项目一个人大概用了一天的时间来完成,整体将近700行,量不是很多,所以也没用多文件什么的,当然也是采用了模块化设计的思路,在代码中写了几个函数来实现特定的功能。

以下是这个项目的一些要求和全部源码。

一、软件开发目的

该软件主要是使用C语言设计开发一个简单的车辆租赁管理系统,实现租赁信息的查询、修改、删除、添加以及订单的查询等功能。

二、数据结构

程序中采用结构体数组存储租赁信息。租赁结构体成员包括:订单号、身份证号、车牌号、费用。数组的长度不超过100。

三、软件功能说明

1.租赁信息的录入和保存:

输入租赁信息包括:订单号、身份证号、车牌号、费用。还车前费用为0。在录入数据的同时,系统将对信息的合法性进行检验,若录入了不合法的数据系统应作出提示,并且要求重新输入。

2.显示单条租赁信息:

将租赁信息在屏幕上列表输出。要求先显示提示信息“订单号、身份证号、车牌号、费用”,然后再显示租赁信息,每行显示一条租赁信息。

3.查询单条租赁信息

输入身份证号进行查询,输出符合条件的租赁信息,输出订单号、身份证号、车牌号、费用。

4.查询每辆车的租赁费用:

输入车牌号进行查询,输出该车所有租赁的总费用。输出车牌号、总费用。

5.添加租赁信息

输入新的租赁信息,将新的信息插入原租赁信息清单中,并将新的列表输出,以方便用户确认。

6.修改、删除租赁信息

通过身份证号对某条租赁信息进行进行修改和删除,并将租赁信息列表输出,以方便用户确认。

7.统计:

(1)统计输出当月订单总金额
(2)统计输出订单金额最高的车牌号

8.退出系统,结束任务。

以下是该程序的全部代码

 #include #include #include #include #include HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); int loop = 0; int menu(); int menu_2(); int menu_3(); void gotoxy(); void HideCursor(); void InsertInformation(); void PrintInformation(); void IdSearch(); void PlateNumber(); void ExitSystem(); void ReviseInformation(); void DeleteInformation(); void AddInformation(); void MoneySum(); void ChampionCar(); struct information{ int theOrderNumber; char IdNumber[20]; char PlateNumber[10]; double Cost; }car[999999]; int key; int main(){ HideCursor(); menu(); key = menu(); switch(key){ case 1: InsertInformation(); break; case 2: PrintInformation(); break; case 3: menu_2(); switch(menu_2()){ case 1: MoneySum(); break; case 2: ChampionCar(); break; case 3: system("cls"); main(); break; case 4: ExitSystem(); break; } break; case 4: ReviseInformation(); break; case 5: DeleteInformation(); break; case 6: AddInformation(); break; case 7: menu_3(); switch(menu_3()){ case 1: MoneySum(); break; case 2: ChampionCar(); break; case 3: system("cls"); main(); break; case 4: ExitSystem(); break; } break; case 8: ExitSystem(); break; } return 0; } void gotoxy(short x, short y) { COORD coord = { x,y };/*定义结构体变量coord*/ SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord); } void HideCursor() { CONSOLE_CURSOR_INFO cursor_info = { 1,0 }; SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info); } int menu(void){ int i,choose; gotoxy(50,5); for(i = 0;i <20 ; i++){ printf("-"); } for(i=0;i <5; gotoxy(49 - 2 * i,6 + i); printf(" "); 0;i < 50;i++){ gotoxy(25+i,10); 5;i++){ gotoxy(25,11+i); printf("|"); gotoxy(35,13); printf("欢迎使用汽车租赁管理系统"); gotoxy(40,15); printf("[1]信息录入"); gotoxy(40,16); printf("[2]信息显示"); gotoxy(40,17); printf("[3]查询信息"); gotoxy(40,18); printf("[4]修改信息"); gotoxy(40,19); printf("[5]删除信息"); gotoxy(40,20); printf("[6]追加信息"); gotoxy(40,21); printf("[7]统计信息"); gotoxy(40,22); printf("[8]退出"); gotoxy(40,26); printf("zenith 版权所有"); gotoxy(40,23); printf("请选择(1-8):"); scanf("%d",&choose); while(choose8){ printf("请输入范围为1-8的整数"); gotoxy(40,23); printf("请选择(1-8):"); scanf("%d",&choose); } return choose; } int menu_2(void){ system("cls"); int i,choose; gotoxy(50,5); for(i = 0;i <20 ; i++){ printf("-"); } for(i=0;i <5; gotoxy(49 - 2 * i,6 + i); printf(" "); 0;i < 50;i++){ gotoxy(25+i,10); 5;i++){ gotoxy(25,11+i); printf("|"); gotoxy(35,13); printf("欢迎使用汽车租赁管理系统"); gotoxy(40,15); printf("[1]按照身份证号检索"); gotoxy(40,16); printf("[2]按照车牌号检索"); gotoxy(40,17); printf("[3]返回主菜单"); gotoxy(40,18); printf("[4]退出系统"); gotoxy(40,26); printf("zenith 版权所有"); gotoxy(40,23); printf("请选择(1-4):"); scanf("%d",&choose); while(choose8){ printf("请输入范围为1-4的整数"); gotoxy(40,23); printf("请选择(1-4):"); scanf("%d",&choose); } return choose; } int menu_3(void){ system("cls"); int i,choose; gotoxy(50,5); for(i = 0;i <20 ; i++){ printf("-"); } for(i=0;i <5; gotoxy(49 - 2 * i,6 + i); printf(" "); 0;i < 50;i++){ gotoxy(25+i,10); 5;i++){ gotoxy(25,11+i); printf("|"); gotoxy(35,13); printf("欢迎使用汽车租赁管理系统"); gotoxy(40,15); printf("[1]查看车辆总收入"); gotoxy(40,16); printf("[2]查看盈利冠军车辆"); gotoxy(40,17); printf("[3]返回主菜单"); gotoxy(40,18); printf("[4]退出系统"); gotoxy(40,26); printf("zenith 版权所有"); gotoxy(40,23); printf("请选择(1-4):"); scanf("%d",&choose); while(choose8){ printf("请输入范围为1-4的整数"); gotoxy(40,23); printf("请选择(1-4):"); scanf("%d",&choose); } return choose; } void InsertInformation(){ system("cls"); int a,k,j,x,one; double cost; int i = 0; do{ printf("\n----------------------------------------------------\n"); printf("\t ―――信息录入―――\n\n"); fflush(stdin);     //清空缓冲区 printf("请输入订单号(1-999999):"); scanf("%d", &x); while( x100){ printf("订单号范围为1~100:"); scanf("%d", &x); } one=0; for(j=0;j <loop;j++){ if(x==car[j].theOrderNumber){ one=1; printf("\n记录中已有!不得重复添加..."); getch(); system("cls"); menu(); } } if(one==0){ car[loop].theOrderNumber = x; } printf("请输入身份证号:"); getchar(); gets(car[loop].IdNumber); printf("请输入车牌号:"); scanf("%s",&car[loop].PlateNumber); printf("请输入费用:"); scanf("%lf", &cost); car[loop].Cost = cost; loop++; printf("\n添加完毕! 目前共有%d辆车!\n按1回到主界面!按2继续添加信息!按其他键退出程序! ",loop); scanf("%d", &a); }while(a==2); if (a == 1){ system("cls"); main(); } if (a != 1){ ExitSystem(); } } void PrintInformation(){ system("cls"); int a,j; printf("\n----------------------------------------------------\n"); printf("\t ―――信息显示―――\n\n"); if(loop == 0){ printf("Error,无数据,请添加数据后再试\n"); } else{ gotoxy(3,5); printf("订单号"); gotoxy(10,5); printf("身份证号"); gotoxy(32,5); printf("车牌号"); gotoxy(45,5); printf("费用"); for(j = 0;j <loop;j++ ){ gotoxy(3,7+j); printf("%d",car[j].theOrderNumber); gotoxy(10,7+j); printf("%s",car[j].IdNumber); gotoxy(32,7+j); printf("%s",car[j].PlateNumber); gotoxy(45,7+j); printf("%f",car[j].Cost); } } printf("\n显示完毕! 目前共有%d辆车!\n按1回到主界面!按其他键退出程序! ",loop); scanf("%d", &a); if (a == 1){ system("cls"); main(); } if (a != 1){ ExitSystem(); } } void IdSearch(){ char idnumber[20]; int i,j,a; do{ system("cls"); printf("\n----------------------------------------------------\n"); printf("\t ―――查询(按照身份证号)―――\n\n"); if(loop == 0){ gotoxy(3,5); printf("无数据,请录入数据后查询,输入任意键返回主菜单"); getch(); system("cls"); main(); } gotoxy(3,5); printf("请输入需要查询的身份证号:"); scanf("%s",&idnumber); j = 0; for(i=0;i <loop;i++){ if(strcmp(idnumber,car[i].IdNumber) == 0){ j=1; gotoxy(3,7); printf("订单号"); gotoxy(10,7); printf("身份证号"); gotoxy(32,7); printf("车牌号"); gotoxy(45,7); printf("费用"); gotoxy(3,9); printf("%d",car[i].theOrderNumber); gotoxy(10,9); printf("%s",car[i].IdNumber); gotoxy(32,9); printf("%s",car[i].PlateNumber); gotoxy(45,9); printf("%f",car[i].Cost); break; } if(j == 0){ gotoxy(3,7); printf("对不起,未查询到您输入的身份证号,请核实后重新输入"); break; } } gotoxy(3,11); printf("查询完成,输入1继续查询,输入2返回主菜单,按其他键退出程序!"); scanf("%d",&a); }while(a == 1); if (a == 2){ system("cls"); main(); } if (a != 1){ ExitSystem(); } } void PlateNumber(){ char platenumber[10]; int i,j,a; do{ system("cls"); printf("\n-------------------<i style="color:transparent">来源gaodai$ma#com搞$$代**码)网</i>---------------------------------\n"); printf("\t ―――查询(按照车牌号)―――\n\n"); if(loop == 0){ gotoxy(3,5); printf("无数据,请录入数据后查询,输入任意键返回主菜单"); getch(); system("cls"); main(); } gotoxy(3,5); printf("请输入需要查询的车牌号:"); scanf("%s",&platenumber); j = 0; for(i=0;i <loop;i++){ if(strcmp(platenumber,car[i].PlateNumber) == 0){ j=1; gotoxy(3,7); printf("订单号"); gotoxy(10,7); printf("身份证号"); gotoxy(32,7); printf("车牌号"); gotoxy(45,7); printf("费用"); gotoxy(3,9); printf("%d",car[i].theOrderNumber); gotoxy(10,9); printf("%s",car[i].IdNumber); gotoxy(32,9); printf("%s",car[i].PlateNumber); gotoxy(45,9); printf("%f",car[i].Cost); break; } if(j == 0){ gotoxy(3,7); printf("对不起,未查询到您输入的车牌号,请核实后重新输入"); break; } } gotoxy(3,11); printf("查询完成,输入1继续查询,输入2返回主菜单,按其他键退出程序!"); scanf("%d",&a); }while(a == 1); if (a == 2){ system("cls"); main(); } if (a != 1){ ExitSystem(); } } void ReviseInformation(){ char idnumber[20]; int i,j,a,b,c,cost; do{ system("cls"); printf("\n----------------------------------------------------\n"); printf("\t ―――信息修改―――\n\n"); if(loop == 0){ gotoxy(3,5); printf("无数据,请录入数据后查询,输入任意键返回主菜单"); getch(); system("cls"); main(); } gotoxy(3,5); printf("请输入需要修改的信息的身份证号:"); scanf("%s",&idnumber); j = 0; for(i=0;i <loop;i++){ if(strcmp(idnumber,car[i].IdNumber) == 0){ j=1; do{ system("cls"); printf("\n----------------------------------------------------\n"); gotoxy(3,6); printf("您想要修改的条目如下"); gotoxy(3,7); printf("订单号"); gotoxy(10,7); printf("身份证号"); gotoxy(32,7); printf("车牌号"); gotoxy(45,7); printf("费用"); gotoxy(3,9); printf("%d",car[i].theOrderNumber); gotoxy(10,9); printf("%s",car[i].IdNumber); gotoxy(32,9); printf("%s",car[i].PlateNumber); gotoxy(45,9); printf("%f",car[i].Cost); printf("\n\n\t ―――信息修改―――\n\n"); printf("请选择需要修改的项目\n"); printf("\t[1]身份证号\n"); printf("\t[2]车牌号\n"); printf("\t[3]费用\n"); scanf("%d",&b); switch(b){ case 1: printf("\n请输入身份证号:"); getchar(); gets(car[i].IdNumber); break; case 2: printf("\n请输入车牌号:"); scanf("%s",&car[i].PlateNumber); break; case 3: printf("请输入费用:"); scanf("%lf", &cost); car[i].Cost = cost; break; } printf("修改完成,输入1继续修改,输入其他键结束对此条目的修改"); scanf("%d",&c); }while(c == 1); break; } if(j == 0){ gotoxy(3,7); printf("对不起,未查询到您输入的身份证号,请核实后重新输入"); break; } } gotoxy(3,15); printf("输入1继续修改其他条目,输入2返回主菜单,按其他键退出程序!"); scanf("%d",&a); }while(a == 1); if (a == 2){ system("cls"); main(); } if (a != 1){ ExitSystem(); } } void DeleteInformation(){ int j,x,k; char idnumber[20]; system("cls"); printf("\n----------------------------------------------------\n"); printf("\t ―――信息删除―――\n\n"); printf("\t 请输入需要删除的条目的身份证号:"); scanf("%s",idnumber); k=0; for(j=0;j <= loop;j++){ if(strcmp(idnumber,car[j].IdNumber)==0){ k=1; for( x = j; x= loop){ do{ printf("输入的行数必须小于已有的条目数!请重新输入:"); scanf("%d",&row); }while(row= row;i--){ car[i] = car[i - 1]; } printf("请输入订单号(1-100):"); scanf("%d", &x); while( x100){ printf("订单号范围为1~100:"); scanf("%d", &x); } one=0; for(j=0;j <loop;j++){ if(x==car[j].theOrderNumber){ one=1; printf("\n记录中已有!不得重复添加..."); getch(); system("cls"); main(); } } if(one==0){ car[row].theOrderNumber = x; } printf("请输入身份证号:"); getchar(); gets(car[row].IdNumber); printf("请输入车牌号:"); scanf("%s",&car[row].PlateNumber); printf("请输入费用:"); scanf("%lf", &cost); car[row].Cost = cost; printf("\n\t追加完成,请按任意键返回主菜单"); getch(); system("cls"); main(); } void MoneySum(){ int i; double sum = 0; system("cls"); printf("\n----------------------------------------------------\n"); printf("\t ―――信息统计(车辆总收入)―――\n\n"); for(i = 0;i <= loop ; i++){ sum = sum + car[i].Cost; } gotoxy(3,5); printf("截至目前所有车辆总收入为%lf",sum); gotoxy(3,6); printf("按任意键返回主菜单"); getch(); system("cls"); main(); } void ChampionCar(){ int i,j; double high = 0; system("cls"); printf("\n----------------------------------------------------\n"); printf("\t ―――信息统计(盈利冠军车辆)―――\n\n"); for(i = 0;i = high){ high = car[i].Cost; j = i; } } gotoxy(3,5); printf("截止目前盈利冠军车辆为收入%lf元的%s",high,car[j].PlateNumber); gotoxy(3,6); printf("按任意键返回主菜单"); getch(); system("cls"); main(); } void ExitSystem(){ system("cls"); printf("\n退出系统中..."); Sleep(1000); exit(0); } 

以上就是C语言实现车辆出租管理系统的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:C语言实现车辆出租管理系统

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址