社区车辆信息管理系统

本文介绍了社区车辆信息管理系统的详细设计要求,包括车辆信息的各个字段,如编号、名称、厂家、牌号等。系统具备创建、增加、删除、修改车辆信息的功能,并能按不同条件进行查询和统计,如车辆牌号、车主姓名、车辆类型、车位号等。此外,还涵盖了对车辆类型、价位、厂家的统计分析。
摘要由CSDN通过智能技术生成

社区车辆信息管理系统

设计要求

车辆包含以下信息项:车辆编号、车辆名称、车辆厂家名称、车辆牌号、车主姓名、车主电话、车辆类型、车辆价值、车位号。
系统的主要功能包括:
(1)创建车辆信息文件,根据提示输入车辆的各项信息,按车辆编号对车辆信息进行排序,并将排序后的车辆信息存储到一个二进制文件中。
(2)增加车辆信息,在原有车辆信息文件的基础上增加新的车辆信息,要求:增加后的车辆信息仍按编号排序,并继续保存至文件。
(3)删除车辆信息,提示用户输入要进行删除操作的车辆编号,如果在文件中有该信息存在,则将该编号所对应的车辆信息删除,否则输出提示信息。并提示用户选择是否继续进行删除操作。
(4)修改车辆信息,提示用户输入要进行修改操作的车辆编号,如果在文件中有该息存在,则将提示用户输入该编号对应的要修改的选项,结果保存至原文件,并提示用户选择是否继续进行修改操作。
(5)按不同条件对车辆信息进行查询操作,输出满足条件的车辆信息。
①按车辆牌号查询,输入一个编号,输出对应的车辆信息。
②按车主姓名查询,包括精确查询(输入全名),模糊查询(输入姓)。
③按车辆名称查询,输入车辆名称,输出该类车辆的全部信息。
④按车位号查询,输入车位号,输出相应车辆的信息。
(6)按不同条件对车辆信息进行统计工作。
①统计各车辆类型的个数及所占比例。
②统计各价位的车辆的个数及所占比例。
③统计各车辆厂家的车辆的个数及所占比例。

代码

#include <stdio.h>
#include <stdlib.h>
#include <string.h> 
#define N 1000
#define OUT "%d\t%s\t%s\t%s\t%s\t%s\t%s\t%d\t%d\n"
#define AI  c[i].id, c[i].car , c[i].cname , c[i].num , c[i].name, c[i].tel, c[i].lei, c[i].mon, c[i].cw
#define AJ  &c[j].id, &c[j].car , &c[j].cname , &c[j].num , &c[j].name, &c[j].tel, &c[j].lei, &c[j].mon, &c[j].cw
#define AK  &c[k].id, &c[k].car , &c[k].cname , &c[k].num , &c[k].name, &c[k].tel, &c[k].lei, &c[k].mon, &c[k].cw
#define head1 printf("------------------------------------------------------------------------------------------------------\n");
#define head2 printf("|车辆编号|车辆名称|车辆厂家名称|  车辆牌号  |车主姓名|   车主电话   | 车辆类型 | 车辆价值 |  车位号  |\n");
#define P  "| %7d| %7s| %11s| %11s| %7s| %13s| %9s| %8d | %8d |\n"
#define BJ  c[j].id, c[j].car , c[j].cname , c[j].num , c[j].name, c[j].tel, c[j].lei, c[j].mon, c[j].cw
int len = 0;

typedef struct contral
{
   
    int id; 	//车辆编号
    char car[20];	// 车辆名称
    char cname[20];	//车辆厂家名称
    char num[10];	//车辆牌号
    char name[20];	//车主姓名
    char tel[20];	//车主电话
    char lei[10];	//车辆类型
    int mon;	//车辆价值
    int cw; 	//车位号
}CON;


void menu(); 	//显示菜单
void creat(CON c[]);	 //创建文件
void add(CON c[]);	 //增加信息
void del (CON c[]);	 //删除信息
void display(CON c[]);	//查找信息 
void xiugai(CON c[]);	//修改信息 
void seek(CON c[]); //显示信息 
 void tj(CON c[]);

int main()
{
   
    CON c[N];
    while(1)
    {
   
        int select; 
        menu();
        printf("请选择服务(0-6):");
        scanf("%d",&select);
        switch(select)
        {
   
            case 1:creat(c);break;
            case 2:add(c);break;
            case 3:del(c);break;
            case 4:xiugai(c);break;
            case 5:display(c);break;
            case 6:tj(c);break;
            case 7:seek(c);break;
            case 0:exit(0);break;
            default:printf("输入的数据有误,请重新输入\n");break;
        }
    }
    return 0;
}
void menu() //c创建菜单
{
   
    printf("\t\t\t\t---------------------------------------\n");
	printf("\t\t\t\t|1.创建车辆信息文件|2.增加车辆信息    |\n");
	printf("\t\t\t\t---------------------------------------\n");
    printf("\t\t\t\t|3.删除车辆信息    |4.修改车辆信息    |\n");
    printf("\t\t\t\t---------------------------------------\n");
    printf("\t\t\t\t|5.查询车辆信息    |6.统计车辆信息    |\n");
    printf("\t\t\t\t---------------------------------------\n");
    printf("\t\t\t\t|7.显示车辆信息    |0.退出系统        |\n");
    printf("\t\t\t\t---------------------------------------\n");
}
void creat(CON c[]) //创建文件
{
   
    FILE *fp;
	fp = fopen("社区车辆管理系统.txt","w"); 
    int i,selcet;
    for(i=len;;i++)
    {
   
        printf("请输入车辆编号:");
        scanf("%d",&c[i].id);
        printf("\n请输入车辆名称:");
        scanf("%s",c[i].car);

        printf("\n请输入车辆厂家名称:");
        scanf("%s",c[i].cname);

        printf("\n请输入车辆牌号:");
        scanf("%s",c[i].num);
        printf("\n请输入车主姓名:");
        scanf("%s",c[i].name);

        printf("\n请输入车主电话:");
        scanf("%s",c[i].tel);
        printf("\n请输入车辆类型:");
        scanf("%s",c[i].lei);
        printf("\n请输入车辆价值:");
        scanf("%d",&c[i].mon);
        printf("\n请输入车位号:");
        scanf("%d",&c[i].cw);
        len++;
        printf("\n是否继续输入数据?0不再输入数据:\n");
        scanf("%d",&selcet);
        if(!selcet)
            break;
    }
    CON t;
    int j;
    for(i = 0;i<len-1;i++) //冒泡排序法将数据按车辆编号排序 
    {
   
    	for(j = i+1;j<len;j++)
    	{
   
    		if(c[i].id>c[j].id)
    		{
   
    			t = c[i];
    			c[i] = c[j];
    			c[j] = t;
			}
		}
	}
	for(i = 0;i<len;i++) //将排序后的数据写入二进制文件中 
	{
   
		fprintf(fp,OUT,AI);
	}
    printf("
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值