基于C#实现的车辆信息管理系统

目录
一、题目:车辆信息管理系统 1
二、内容: 1
(1)概述或引言 1
(2)程序概要设计 1
(3)程序详细设计 2
(4)程序使用说明 4
(5)总结 8
三、参考文献 10
一、题目:车辆信息管理系统
二、内容:
(1)概述或引言
本程序使用Visual C++ 2010进行编写,是一个车辆信息管理系统,可实现车辆信息的添加和维护管理。
拥有7大功能,包括:
1、录入车辆信息:可将新的车辆信息录入系统并保存在系统中。
2、浏览车辆信息:可统计车辆总数并显示所有车辆信息。
3、查询车辆信息:可按照型号、厂商、车型、价格范围查询车辆。
4、修改车辆信息:可对某一辆车的某项参数进行修改。
5、删除车辆信息:可先按照型号、厂商查找车辆或查看全部车辆,再进行单一删除或全部删除。
6、排序车辆信息:可按价格、排量、座位数对车辆进行排序,排序后可浏览或保存。
7、初始化系统:可将系统初始化,将车辆信息还原至系统最初保存的信息。

(2)程序概要设计
运行程序进入欢迎界面,按1可进入系统菜单,按2可退出系统,系统菜单可选择包括以上介绍的7大功能及退出系统。
本程序共编写了14个函数,包括1个主函数和13个功能函数,详细如下:
1、main函数:用于实现欢迎界面及系统菜单的显示。
2、Input函数:用于实现录入车辆信息功能。
3、Browse函数:用于实现浏览车辆信息功能。
4、Query函数:用于实现查询车辆信息的界面显示及引导。
5、Chaxun1函数:用于实现按照型号、厂商、车型查询车辆。
6、Chaxun2函数:用于实现按照价格范围查询车辆。
7、Modify函数:用于实现修改车辆信息的界面显示及车辆选择。
8、Xiugai函数:用于实现对指定车辆的某一参数进行修改。
9、Delet函数:用于实现删除车辆信息的界面显示及引导。
10、Shanchu1函数:用于实现按型号、厂商查找车辆,再进行删除。
11、Shanchu2函数:用于实现查看全部车辆信息,再进行删除。
12、Sort函数:用于实现排序车辆信息的界面显示及引导。
13、Paixu函数:用于实现按价格、排量、座位数排序车辆。
14、Initialize函数:用于实现系统的初始化。

程序大概流程如下图:
在这里插入图片描述

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<Windows.h>
void Input(struct car *p,int n);//录入车辆信息函数
void Browse(struct car *p,int n);//浏览车辆信息函数
void Query(struct car *p,int n);//查询车辆信息函数
void Chaxun1(struct car *p,int n,int x);//查询车辆信息子函数1
void Chaxun2(struct car *p,int n);//查询车辆信息子函数2
void Modify(struct car *p,int n);//修改车辆信息函数
void Xiugai(struct car *p,int n,int x,int j);//修改车辆信息子函数
void Delet(struct car *p,int n);//删除车辆信息函数
void Shanchu1(struct car *p,int n,int x);//删除车辆信息子函数1
void Shanchu2(struct car *p,int n);//删除车辆信息子函数2
void Sort(struct car *p,int n);//排序车辆信息函数
void Paixu(struct car *p,int n,int x);//排序车辆信息子函数
void Initialize();//初始化系统函数
struct car
{
	int jlh;//记录号
	char xh[10];//型号
	char cs[10];//厂商
	char cx[10];//车型
	int zws;//座位数
	float pl;//排量
	char bsx[20];//变速箱
	char ys[10];//颜色
	float jg;//价格
}che[50];
int main()
{
	FILE *fp;
	int i,n;
	do{
	system("cls");
	printf("\t\t\t                         *车辆信息管理系统*\n");
	printf("\t\t\t====================================================================\n\n");
	printf("\t\t\t                      欢迎使用车辆信息管理系统\n\n");
	printf("\t\t\t                          按1进入系统菜单\n\n");
	printf("\t\t\t                            按2退出系统\n\n");
	scanf("%d",&i);
	if(i==1)
		break;
	else if(i==2)
		exit(0);
	}while(1);
	do{
	if((fp=fopen("车辆信息.txt","rb"))==NULL)
	{
		printf("无法打开文件\n");
		exit(0);
	}
	n=fread(che,sizeof(struct car),50,fp);
	fclose(fp);
	system("cls");
	printf("\t\t\t                         *车辆信息管理系统*\n");
	printf("\t\t\t====================================================================\n\n");
	printf("\t\t\t                         请选择要进行的操作\n");
	printf("\t\t\t                         ------------------\n");
	printf("\t\t\t                           1.录入车辆信息\n");
	printf("\t\t\t                         ------------------\n");
	printf("\t\t\t                           2.浏览车辆信息\n");
	printf("\t\t\t                         ------------------\n");
	printf("\t\t\t                           3.查询车辆信息\n");
	printf("\t\t\t                         ------------------\n");
	printf("\t\t\t                           4.修改车辆信息\n");
	printf("\t\t\t                         ------------------\n");
	printf("\t\t\t                           5.删除车辆信息\n");
	printf("\t\t\t                         ------------------\n");
	printf("\t\t\t                           6.排序车辆信息\n");
	printf("\t\t\t                         ------------------\n");
	printf("\t\t\t                           7.初始化系统\n");
	printf("\t\t\t                         ------------------\n");
	printf("\t\t\t                           8.退出系统\n");
	printf("\t\t\t                         ------------------\n\n");
	scanf("%d",&i);
	switch(i)
	{
	case 1:system("cls");Input(che,n);break;//录入车辆信息
	case 2:system("cls");Browse(che,n);break;//浏览车辆信息
	case 3:system("cls");Query(che,n);break;//查询车辆信息
	case 4:system("cls");Modify(che,n);break;//修改车辆信息
	case 5:system("cls");Delet(che,n);break;//删除车辆信息
	case 6:system("cls");Sort(che,n);break;//排序车辆信息
	case 7:system("cls");Initialize();break;//初始化系统
	case 8:exit(0);//退出系统
	}
	}while(1);
	return 0;
}
//系统菜单
void Input(struct car *p,int n)
{
	FILE *fp;
	int i,x;
	printf("\t\t\t                         *车辆信息管理系统*\n");
	printf("\t\t\t====================================================================\n\n");
	printf("\t\t\t                            录入车辆信息\n");
	printf("\t\t\t                         ------------------\n");
	do{
	n++;
	i=n-1;
	(p+i)->jlh=n;
	printf("\t\t\t请输入记录号%d车辆的型号:",n);
	scanf("%s",(p+i)->xh);
	printf("\t\t\t请输入记录号%d车辆的厂商:",n);
	scanf("%s",(p+i)->cs);
	printf("\t\t\t请输入记录号%d车辆的车型:",n);
	scanf("%s",(p+i)->cx);
	printf("\t\t\t请输入记录号%d车辆的座位数:",n);
	scanf("%d",&(p+i)->zws);
	printf("\t\t\t请输入记录号%d车辆的排量(单位:T):",n);
	scanf("%f",&(p+i)->pl);
	printf("\t\t\t请输入记录号%d车辆的变速箱:",n);
	scanf("%s",(p+i)->bsx);
	printf("\t\t\t请输入记录号%d车辆的颜色:",n);
	scanf("%s",(p+i)->ys);
	printf("\t\t\t请输入记录号%d车辆的价格(单位:万):",n);
	scanf("%f",&(p+i)->jg);
	if((fp=fopen("车辆信息.txt","ab"))==NULL)
	{
		printf("无法打开文件\n");
		exit(0);
	}
	if(fwrite(&che[i],sizeof(struct car),1,fp)!=1)
		printf("文件写入失败\n");
	fclose(fp);
	printf("\n\n记录号    车辆型号     厂商        车型级别    座位数    排量    变速箱     车身颜色    车辆价格");
	printf("\n\n  %-8d%-13s%-12s%-12s%d座       %-0.1fT    %-11s%-12s%-0.2f万\n\n",(p+i)->jlh,(p+i)->xh,(p+i)->cs,(p+i)->cx,(p+i)->zws,(p+i)->pl,(p+i)->bsx,(p+i)->ys,(p+i)->jg);
	printf("记录号%d车辆信息录入完毕,信息如上,继续录入请按1,返回系统菜单请按其他键\n",n);
	scanf("%d",&x);
	if(x!=1)
		break;
	}while(1);
}
//录入车辆信息
void Browse(struct car *p,int n)
{
	int i;
	printf("\t\t\t                         *车辆信息管理系统*\n");
	printf("\t\t\t====================================================================\n\n");
	printf("\t\t\t                            浏览车辆信息\n");
	printf("\t\t\t                         ------------------\n");
	printf("系统共存有%d辆车的信息,具体如下:\n\n",n);
	printf("记录号    车辆型号     厂商        车型级别    座位数    排量    变速箱     车身颜色    车辆价格\n\n");
	for(i=0;i<n;i++)
		printf("  %-8d%-13s%-12s%-12s%d座       %-0.1fT    %-11s%-12s%-0.2f万\n",(p+i)->jlh,(p+i)->xh,(p+i)->cs,(p+i)->cx,(p+i)->zws,(p+i)->pl,(p+i)->bsx,(p+i)->ys,(p+i)->jg);
	printf("\n");
	system("pause");
}
//浏览车辆信息
void Query(struct car *p,int n)
{
	int x;
	do{
	system("cls");
	printf("\t\t\t                         *车辆信息管理系统*\n");
	printf("\t\t\t====================================================================\n\n");
	printf("\t\t\t                            查询车辆信息\n");
	printf("\t\t\t                         ------------------\n");
	printf("\t\t\t                          1.按[型号]查询\n");
	printf("\t\t\t                         ------------------\n");
	printf("\t\t\t                          2.按[厂商]查询\n");
	printf("\t\t\t                         ------------------\n");
	printf("\t\t\t                          3.按[车型]查询\n");
	printf("\t\t\t                         ------------------\n");
	printf("\t\t\t                          4.按[价格范围]查询\n");
	printf("\t\t\t                         ------------------\n");
	scanf("%d",&x);
	switch(x)
	{
	case 1:
	case 2:
	case 3:Chaxun1(p,n,x);break;
	case 4:Chaxun2(p,n);
	}
	if(x==1||x==2||x==3||x==4)
	{
		printf("\n");
		system("pause");
		break;
	}
	}while(1);
}
//查询车辆信息
void Chaxun1(struct car *p,int n,int x)
{
	int i=0,j;
	char a[5],b[10];
	if(x==1)
		strcpy(a,"型号");
	else if(x==2)
		strcpy(a,"厂商");
	else if(x==3)
		strcpy(a,"车型");
	system("cls");
	printf("\t\t\t                         *车辆信息管理系统*\n");
	printf("\t\t\t====================================================================\n\n");
	printf("\t\t\t                            查询车辆信息\n");
	printf("\t\t\t                         ------------------\n");
	printf("\t\t\t                          按[%s]查询车辆\n\n",a);
	printf("\t\t\t请输入%s,以查询相应车辆:",a);
	scanf("%s",b);
	if(x==1)
	{
		for(i=0,j=0;i<n;i++)
			if(strcmp((p+i)->xh,b)==0)
				j++;
	}
	else if(x==2)
	{
		for(i=0,j=0;i<n;i++)
			if(strcmp((p+i)->cs,b)==0)
				j++;
	}
	else if(x==3)
	{
		for(i=0,j=0;i<n;i++)
			if(strcmp((p+i)->cx,b)==0)
				j++;
	}
	if(j!=0)
	{
		printf("\n%s为[%s]的车辆共有%d辆,信息如下:\n\n",a,b,j);
		printf("记录号    车辆型号     厂商        车型级别    座位数    排量    变速箱     车身颜色    车辆价格\n\n");
	}
	else
		printf("\n\n\t\t\t                         无%s为[%s]的车辆\n\n",a,b);
	if(x==1)
	{
		for(i=0;i<n;i++)
			if(strcmp((p+i)->xh,b)==0)
				printf("  %-8d%-13s%-12s%-12s%d座       %-0.1fT    %-11s%-12s%-0.2f万\n",(p+i)->jlh,(p+i)->xh,(p+i)->cs,(p+i)->cx,(p+i)->zws,(p+i)->pl,(p+i)->bsx,(p+i)->ys,(p+i)->jg);
	}
	else if(x==2)
	{
		for(i=0;i<n;i++)
			if(strcmp((p+i)->cs,b)==0)
				printf("  %-8d%-13s%-12s%-12s%d座       %-0.1fT    %-11s%-12s%-0.2f万\n",(p+i)->jlh,(p+i)->xh,(p+i)->cs,(p+i)->cx,(p+i)->zws,(p+i)->pl,(p+i)->bsx,(p+i)->ys,(p+i)->jg);
	}
	else if(x==3)
	{
		for(i=0;i<n;i++)
			if(strcmp((p+i)->cx,b)==0)
				printf("  %-8d%-13s%-12s%-12s%d座       %-0.1fT    %-11s%-12s%-0.2f万\n",(p+i)->jlh,(p+i)->xh,(p+i)->cs,(p+i)->cx,(p+i)->zws,(p+i)->pl,(p+i)->bsx,(p+i)->ys,(p+i)->jg);
	}
}
//查询车辆信息子1
void Chaxun2(struct car *p,int n)
{
	int i,j;
	float a,b;
	do{
	system("cls");
	printf("\t\t\t                         *车辆信息管理系统*\n");
	printf("\t\t\t====================================================================\n\n");
	printf("\t\t\t                            查询车辆信息\n");
	printf("\t\t\t                         ------------------\n");
	printf("\t\t\t                        按[价格范围]查询车辆\n\n");
	printf("\t\t\t请分别输入最低价格与最高价格(单位:万),以查询相应车辆:");
	scanf("%f%f",&a,&b);
	if(a>b)
	{
		printf("\n\t\t\t                  价格范围输入错误,请3秒后重新输入!\n");
		Sleep(3000);
		continue;
	}
	else
	{
		for(i=0,j=0;i<n;i++)
			if(((p+i)->jg>=a)&&((p+i)->jg<=b))
				j++;
	}
	if(j!=0)
	{
		printf("\n价格范围为%.2f万~%.2f万的车辆共有%d辆,信息如下:\n\n",a,b,j);
		printf("记录号    车辆型号     厂商        车型级别    座位数    排量    变速箱     车身颜色    车辆价格\n\n");
		for(i=0;i<n;i++)
			if(((p+i)->jg>=a)&&((p+i)->jg<=b))
				printf("  %-8d%-13s%-12s%-12s%d座       %-0.1fT    %-11s%-12s%-0.2f万\n",(p+i)->jlh,(p+i)->xh,(p+i)->cs,(p+i)->cx,(p+i)->zws,(p+i)->pl,(p+i)->bsx,(p+i)->ys,(p+i)->jg);
	}
	else
		printf("\n\n\t\t\t                  无价格范围为%.2f万~%.2f万的车辆\n\n",a,b);
	break;
	}while(1);

}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/sheziqiong/article/details/129702659