这个项目是我今年的C语言课设。做这个项目一个人大概用了一天的时间来完成,整体将近700行,量不是很多,所以也没用多文件什么的,当然也是采用了模块化设计的思路,在代码中写了几个函数来实现特定的功能。
以下是这个项目的一些要求和全部源码。
一、软件开发目的
该软件主要是使用C语言设计开发一个简单的车辆租赁管理系统,实现租赁信息的查询、修改、删除、添加以及订单的查询等功能。
二、数据结构
程序中采用结构体数组存储租赁信息。租赁结构体成员包括:订单号、身份证号、车牌号、费用。数组的长度不超过100。
三、软件功能说明
1.租赁信息的录入和保存:
输入租赁信息包括:订单号、身份证号、车牌号、费用。还车前费用为0。在录入数据的同时,系统将对信息的合法性进行检验,若录入了不合法的数据系统应作出提示,并且要求重新输入。
2.显示单条租赁信息:
将租赁信息在屏幕上列表输出。要求先显示提示信息“订单号、身份证号、车牌号、费用”,然后再显示租赁信息,每行显示一条租赁信息。
3.查询单条租赁信息
输入身份证号进行查询,输出符合条件的租赁信息,输出订单号、身份证号、车牌号、费用。
4.查询每辆车的租赁费用:
输入车牌号进行查询,输出该车所有租赁的总费用。输出车牌号、总费用。
5.添加租赁信息
输入新的租赁信息,将新的信息插入原租赁信息清单中,并将新的列表输出,以方便用户确认。
6.修改、删除租赁信息
通过身份证号对某条租赁信息进行进行修改和删除,并将租赁信息列表输出,以方便用户确认。
7.统计:
(1)统计输出当月订单总金额
(2)统计输出订单金额最高的车牌号
8.退出系统,结束任务。
以下是该程序的全部代码
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
#include<conio.h>
#include<string.h>
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; i++){
gotoxy(49 - 2 * i,6 + i);
printf("/");
}
for(i = 0;i < 50;i++){
gotoxy(25+i,10);
printf("-");
}
for(i = 0;i < 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(