iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >如何使用C语言实现车辆信息管理系统
  • 433
分享到

如何使用C语言实现车辆信息管理系统

2023-06-29 12:06:01 433人浏览 八月长安
摘要

小编给大家分享一下如何使用C语言实现车辆信息管理系统,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体内容如下车辆信息管理系统问题描述:建立车辆信息管理系统,实现

小编给大家分享一下如何使用C语言实现车辆信息管理系统,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

具体内容如下

车辆信息管理系统

问题描述:建立车辆信息管理系统,实现车辆信息的添加和维护管理。

系统存储数据要求:每台车辆至少需要包含以下属性,系统中保存多台车辆的信息:

  • 车辆型号(如思域、卡罗拉、天籁等)

  • 厂商(如广汽本田、一汽大众、东风日产等)

  • 车型级别(如紧凑型车、中型车、SUV等)

  • 座位数(如5座、7座等)

  • 排量(如1.2T、1.4T、1.5T、1.6T等)

  • 变速箱(如手动、手自一体、无级变速等)

  • 车身颜色(白色、黑色等)

  • 车辆价格(单位为万)

程序基本要求:

要有系统菜单,选择不同选项执行不同功能。每个功能执行结束后,需返回到系统菜单,继续进行功能选择操作。

系统需要完成以下基本功能,每个功能的代码封装在单独的函数里:

(1) 系统初始化时,至少要有10条车辆记录信息。

(2) 录入车辆信息:录入某台车辆的基本信息,为新记录自动生成一个记录号。输入数据时要有提示语,录入结束后在屏幕上输出新增的车辆信息。

车辆信息输出格式如下:

车辆型号 厂商 车型级别 座位数 排量 变速箱 车身颜色 车辆价格
雅阁 本田 中型车 5座 1.5T 无级变速 白色 19.98万

(3) 浏览所有车辆信息:统计共有多少台车辆,并在屏幕中显示所有车辆信息。

(4) 按不同字段查询车辆信息,包括按照厂商、车型级别、车辆价格范围(输入最低价格、最高价格)

(5) 修改车辆信息:对车辆的基本信息进行修改,要求提供菜单选择某一项参数信息进行修改,而不是重新覆盖录入整条信息。

(6) 删除车辆信息:将满足条件的车辆信息删除,包括按型号、厂商删除。要求删除前,先按照型号或者厂商查找需要删除的车辆信息,如果找不到则给出对应的提示信息。

扩展要求:

(1) 实现排序功能。例如按车辆价格、座位数、排量等对车辆信息进行排序。

(2) 所有车辆信息存储在文件中。

(3) 每次打开程序,把文件中的信息导入到程序中。

(4) 可自己定义其他功能需求,并编码实现。

#include<stdio.h>#include<stdlib.h>#include<string.h>#include <coNIO.h>    typedef struct car Car,*cheliang;    struct car    {    char brand[20];//型号    char manufacturar[15];//产商    char degree[15];//等级    int seats;//座位数    float displacement;//排量    char biansuxiang[20];//变速箱     char color[20];//颜色    char price[30];//价格    cheliang next;    };cheliang head,tail;void read_cars(); void write_cars();void add_car();//没问题void display_cars();//没问题void change();void find();void find_brand();void find_manufacturar();//没问题void find_degree();void find_price();void delete_car();void delete_car_brand();void delete_car_manufacturar();int main(){    read_cars();//读取文件    int i;    while(1)    {        while(1)        {            printf("请选择相关操作:\n1.增加车辆信息\n2.浏览车辆信息\n");            printf("3.查询车辆信息\n4.修改车辆信息\n5.删除车辆信息\n6.保存数据并退出管理系统\n");            printf("请输入数字选择要实现的功能:\n");            scanf("%d",&i);            if(i>=1&&i<=6)            {                break;            }            else            {                printf("数字错误,请重新输入");            }        }        switch(i)        {        case 1: add_car();break;        case 2: display_cars();break;        case 3: find();break;        case 4: change();break;        case 5: delete_car();break;        case 6: write_cars();//把数据信息保存到文件里            printf("谢谢使用!\n");            exit(0);        }    }    return 0;}void read_cars(){    FILE *fp;    if (0 != fopen_s(&fp, "data.dat", "a+b"))//fopen_s方法返回值是0或非0,0代表打开成功,非0代表打开失败    {        perror("打开文件失败,原因是");//perror(s) 用来将上一个函数发生错误的原因输出到标准设备(stderr)        getch();        exit(1);    }    cheliang car;    head = (cheliang)malloc(sizeof(Car));    if (NULL == head)    {        printf("内存分配失败!\n");        exit(EXIT_FAILURE);    }    head->next = NULL;    tail = head;    while (1)    {        car = (cheliang)malloc(sizeof(Car));        if (fread(car, sizeof(Car), 1, fp) == 0)        {            free(car);            break;        }        car->next = NULL;        tail->next = car;        tail = car;    }    fclose(fp);}void write_cars(){    FILE *fp;    if (0 != fopen_s(&fp, "data.dat", "w+"))//打开文件    {        perror("打开文件失败,原因是");        _getch();        return;    }    cheliang car = head->next;    while (car != NULL)    {        fwrite(car, sizeof(Car), 1, fp);        car = car->next;    }    fclose(fp);//关闭文件}void add_car(){    cheliang p,temp;    p=(cheliang)malloc(sizeof(Car));    if(p==NULL)    {        printf("内存分配失败");        exit(1);    }    printf("请输入车辆信息\n型号:");    scanf("%s",p->brand);    printf("商家:");    scanf("%s",p->manufacturar);    printf("等级:");    scanf("%s",p->degree);    printf("座位数:");    scanf("%d",&p->seats);    printf("排量:");    scanf("%f",&p->displacement);    printf("变速箱:");    scanf("%s",p->biansuxiang);    printf("颜色:");    scanf("%s",p->color);    printf("价格:");    scanf("%s",p->price);    if(NULL == head->next)    {    head->next = p;    p->next = NULL;    }    else    {    temp = head->next;//头插法    head->next = p;    p->next = temp;    }    printf("%-15s|%-15s|%-15s|%5s|%5s|%-15s|%-15s|%-5s\n",        "车辆型号", "厂商", "车型级别", "座位数", "排量(L)", "变速箱", "车身颜色", "车辆价格(万)");    printf("%-16s%-16s%-16s%-7d%-8.1f%-16s%-16s%-5s\n",p->brand,p->manufacturar,p->degree,p->seats,p->displacement,p->biansuxiang,p->color,p->price);    }void display_cars(){    int a=0;    cheliang p=head->next;    if(NULL == head->next)    {    printf("无车辆信息\n");    return ;    }    printf("%-15s|%-15s|%-15s|%5s|%5s|%-15s|%-15s|%-5s\n",        "车辆型号", "厂商", "车型级别", "座位数", "排量(L)", "变速箱", "车身颜色", "车辆价格(万)");    for(;p!=NULL;p=p->next)    {        a++;        printf("%-16s%-16s%-16s%-7d%-8.1f%-16s%-16s%-5s\n",p->brand,p->manufacturar,p->degree,p->seats,p->displacement,p->biansuxiang,p->color,p->price);            }    printf("一共有%d台车辆信息",a);}void find(){    int k;    while(1)    {        printf("请选择查找方式:1.按照型号查找 2.按照产商查找 3.按照等级查找 4.按照价格查找");        printf("请选择:");        scanf("%d",&k);        if(k>=1&&k<=4){            break;        }        else{            printf("数字错误,请重新输入");        }    }    switch(k)    {    case 1: find_brand();break;    case 2: find_manufacturar();break;    case 3: find_degree();break;    case 4:find_price();break;    }}void find_brand(){    cheliang p;    p=head->next;    printf("请输入要查找的型号:");    char brand[20];    scanf("%s",brand);    int j=0;    printf("您要找的资料是:\n");    printf("%-15s|%-15s|%-15s|%5s|%5s|%-15s|%-15s|%-5s\n",        "车辆型号", "厂商", "车型级别", "座位数", "排量(L)", "变速箱", "车身颜色", "车辆价格(万)");    while(p!=NULL)    {        if(strcmp(p->brand,brand)==0)        {            printf("%-16s%-16s%-16s%-7d%-8.1f%-16s%-16s%-5s\n",p->brand,p->manufacturar,p->degree,p->seats,p->displacement,p->biansuxiang,p->color,p->price);            p=p->next;            j++;        }        else         p=p->next;    }        if(j==0)        {            printf("该系统无该产商的车辆信息");        }}void find_manufacturar(){    cheliang p;    p=head->next;    printf("请输入要查找的产商:");    char manufacturar[15];    int j=0;    scanf("%s",manufacturar);     fflush(stdin);    printf("您要找的资料是:\n");    printf("%-15s|%-15s|%-15s|%5s|%5s|%-15s|%-15s|%-5s\n",        "车辆型号", "厂商", "车型级别", "座位数", "排量(L)", "变速箱", "车身颜色", "车辆价格(万)");    while(p!=NULL)    {        if(strcmp(p->manufacturar,manufacturar)==0)        {            printf("%-16s%-16s%-16s%-7d%-8.1f%-16s%-16s%-5s\n",p->brand,p->manufacturar,p->degree,p->seats,p->displacement,p->biansuxiang,p->color,p->price);            p=p->next;            j++;        }        else         p=p->next;    }        if(j==0)        {            printf("该系统无该产商的车辆信息");        }}void find_degree(){    cheliang p;    p=head->next;    printf("请输入找要寻找的等级:");    char degree[15];    int j=0;    scanf("%s",degree);    printf("您要找的资料是:\n");     fflush(stdin);    printf("%-15s|%-15s|%-15s|%5s|%5s|%-15s|%-15s|%-5s\n",        "车辆型号", "厂商", "车型级别", "座位数", "排量(L)", "变速箱", "车身颜色", "车辆价格(万)");    while(p!=NULL)    {        if(strcmp(p->degree,degree)==0)        {            printf("%-16s%-16s%-16s%-7d%-8.1f%-16s%-16s%-5s\n",p->brand,p->manufacturar,p->degree,p->seats,p->displacement,p->biansuxiang,p->color,p->price);            p=p->next;            j++;        }        else            p=p->next;    }        if(j==0)        {            printf("该系统无该等级的车辆信息");        }}void find_price(){    cheliang p;    p=head->next;    //char price_max[30],price_min[30];    int price_max,price_min;    int j=0;    printf("请输入价格的最大值:");    scanf("%d",&price_max);     fflush(stdin);    printf("请输入价格的最小值:");    scanf("%d",&price_min);     fflush(stdin);    printf("您要找的资料是:\n");    printf("%-15s|%-15s|%-15s|%5s|%5s|%-15s|%-15s|%-5s\n",        "车辆型号", "厂商", "车型级别", "座位数", "排量(L)", "变速箱", "车身颜色", "车辆价格(万)");    while(p!=NULL)    {        if(atoi(p->price)>price_min && atoi(p->price)<price_max)        {            printf("%-16s%-16s%-16s%-7d%-8.1f%-16s%-16s%-5s\n",p->brand,p->manufacturar,p->degree,p->seats,p->displacement,p->biansuxiang,p->color,p->price);            j++;        }            p=p->next;    }    if(j==0)    {        printf("该系统无该价格范围的车辆信息");    }}void change(){    cheliang q;    int i;    q=head->next;    int j=0;    printf("请输入要修改车辆的型号:\n");    char brand[20];    scanf("%s",brand);     fflush(stdin);    printf("%-15s|%-15s|%-15s|%5s|%5s|%-15s|%-15s|%-5s\n",        "车辆型号", "厂商", "车型级别", "座位数", "排量(L)", "变速箱", "车身颜色", "车辆价格(万)");    while(q!=NULL)    {        if(strcmp(q->brand,brand)==0)        {            printf("%-16s%-16s%-16s%-7d%-8.1f%-16s%-16s%-5s\n",q->brand,q->manufacturar,q->degree,q->seats,q->displacement,q->biansuxiang,q->color,q->price);            j++;            while(1){                printf("1.改变型号 2.改变产商 3.改变等级 4.改变座位数 5.改变排量 6.改变变速箱 7.改变颜色 8.改变价格");                printf("请输入要修改的车辆信息的类型:");                scanf("%d",&i);                if(i>=1&&i<=8){                    break;                }                else{                    printf("请输入正确的数字");                }            }              switch(i)              {              case 1:                   printf("型号:");                   char str1[20];                   scanf("%s",str1);                   strcpy(q->brand,str1);break;              case 2:                   printf("产商:");                   char str2[15];                   scanf("%s",str2);                   strcpy(q->manufacturar,str2);break;              case 3:                     printf("等级:");                    char str3[15];                    scanf("%s",str3);                   strcpy(q->degree,str3);break;              case 4:                    printf("座位数:");                    int str4;                    scanf("%d",&str4);                   q->seats=str4;break;              case 5:                    printf("排量:");                    float str5;                    scanf("%f",&str5);                    q->displacement=str5;break;              case 6:                    printf("变速箱:");                    char str6[20];                    scanf("%s",str6);                   strcpy(q->biansuxiang,str6);break;              case 7:                    printf("颜色:");                    char str7[20];                    scanf("%s",str7);                   strcpy(q->color,str7);break;              case 8:                    printf("价格:");                    char str8[30];                    scanf("%s",str8);                   strcpy(q->price,str8);break;              }            printf("修改成功\n");            printf("%-16s%-16s%-16s%-7d%-8.1f%-16s%-16s%-5s\n",q->brand,q->manufacturar,q->degree,q->seats,q->displacement,q->biansuxiang,q->color,q->price);            q=q->next;            break;        }                else        {            q=q->next;        }    }    if(j==0)    {         printf("没找到你要的型号");    }}void delete_car(){    int i;    while(true){        printf("按什么的方式寻找车辆:1.型号 2.产商\n");        scanf("%d",&i);        if(i>=1&&i<=2){           break;        }        else{            printf("数字错误,请重新输入");        }    }    switch(i)    {    case 1: delete_car_brand();break;    case 2: delete_car_manufacturar();break;    }}void delete_car_brand(){    cheliang p,q;    int j=0;    char brand[20];    printf("请输入要删除的车辆的型号:");    scanf("%s",brand);     fflush(stdin);    //p=head;    q=head;    printf("%-15s|%-15s|%-15s|%5s|%5s|%-15s|%-15s|%-5s\n",        "车辆型号", "厂商", "车型级别", "座位数", "排量(L)", "变速箱", "车身颜色", "车辆价格(万)");    while(q->next!=NULL)    {        if(strcmp(q->next->brand,brand)==0)        {            printf("%-16s%-16s%-16s%-7d%-8.1f%-16s%-16s%-5s\n",q->next->brand,q->next->manufacturar,q->next->degree,q->next->seats,q->next->displacement,q->next->biansuxiang,q->next->color,q->next->price);            j++;            p=q->next;            q->next = q->next->next;            printf("数据删除成功!\n");            free(p);            break;        }        else         q=q->next;    }    if(j==0)    {        printf("该系统无你所要删除的车辆信息!\n");    }}void delete_car_manufacturar(){    cheliang p,q;    int j=0;    char manufacturar[15];    printf("请输入要删除的车辆的产商:");    scanf("%s",manufacturar);     fflush(stdin);    q=head;    printf("%-15s|%-15s|%-15s|%5s|%5s|%-15s|%-15s|%-5s\n",        "车辆型号", "厂商", "车型级别", "座位数", "排量(L)", "变速箱", "车身颜色", "车辆价格(万)");    while(q->next!=NULL)    {        if(strcmp(q->next->manufacturar,manufacturar)==0)        {            printf("%-16s%-16s%-16s%-7d%-8.1f%-16s%-16s%-5s\n",q->next->brand,q->next->manufacturar,q->next->degree,q->next->seats,q->next->displacement,q->next->biansuxiang,q->next->color,q->next->price);            j++;            p=q->next;            q->next = q->next->next;            printf("数据删除成功!\n");            free(p);            break;        }        else         q=q->next;    }    if(j==0)    {        printf("该系统无你所要删除的车辆信息!\n");            exit(0);    }}

以上是“如何使用C语言实现车辆信息管理系统”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网其他教程频道!

--结束END--

本文标题: 如何使用C语言实现车辆信息管理系统

本文链接: https://www.lsjlt.com/news/324786.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用C语言实现车辆信息管理系统
    小编给大家分享一下如何使用C语言实现车辆信息管理系统,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体内容如下车辆信息管理系统问题描述:建立车辆信息管理系统,实现...
    99+
    2023-06-29
  • C语言实现车辆信息管理系统
    本文实例为大家分享了C语言实现车辆信息管理系统的具体代码,供大家参考,具体内容如下 车辆信息管理系统 问题描述:建立车辆信息管理系统,实现车辆信息的添加和维护管理。 系统存储数据要求...
    99+
    2024-04-02
  • C语言如何实现单位车辆调度管理
    本篇内容主要讲解“C语言如何实现单位车辆调度管理”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言如何实现单位车辆调度管理”吧!单位车辆信息包括:车牌号、车型、载重(客)量,车牌,生产厂家,出...
    99+
    2023-06-29
  • 如何使用C语言实现超市信息管理系统
    这篇文章主要介绍了如何使用C语言实现超市信息管理系统,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下设计要求:设计一个超市信息管理系统,利用结构体存储货物信息和所购...
    99+
    2023-06-29
  • C语言如何实现车票管理系统
    今天小编给大家分享一下C语言如何实现车票管理系统的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、项目简介设计一个车票管理系...
    99+
    2023-06-30
  • C语言实现单位车辆调度管理
    本文实例为大家分享了C语言实现单位车辆调度管理的具体代码,供大家参考,具体内容如下 单位车辆信息包括:车牌号、车型、载重(客)量,车牌,生产厂家,出厂日期,购买日期,购买单价等;车辆...
    99+
    2024-04-02
  • 如何使用C++实现信息管理系统
    小编给大家分享一下如何使用C++实现信息管理系统,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体内容如下有一个信息管理系统,要求检查每一个登录系统的用户(Use...
    99+
    2023-06-29
  • C语言实现停车管理系统
    本题为大家分享了C语言实现停车管理系统的具体代码,供大家参考,具体内容如下 设计题目 设停车场是一个可以停放n辆汽车的南北方向的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按...
    99+
    2024-04-02
  • C语言实现车票管理系统
    本文实例为大家分享了C语言实现车票管理系统的具体代码,供大家参考,具体内容如下 一、项目简介 设计一个车票管理系统实现录入、查看班次信息,售票,退票等基本功能。设计中要求综合运用所学...
    99+
    2024-04-02
  • C语言实现超市信息管理系统
    本文实例为大家分享了C语言实现超市信息管理系统的具体代码,供大家参考,具体内容如下 设计要求:设计一个超市信息管理系统,利用结构体存储货物信息和所购买商品的信息,并使用链表保存购物车...
    99+
    2024-04-02
  • C语言实现学籍信息管理系统
    本文实例为大家分享了C语言实现学籍信息管理系统的具体代码,供大家参考,具体内容如下 系统功能:录入、修改、添加、删除、查找、读取、删除数据系统主要技术:基本就是函数的调用,只用到结构...
    99+
    2024-04-02
  • C语言实现学生信息管理系统
    本文实例为大家分享了C语言实现学生信息管理系统的具体代码,供大家参考,具体内容如下 #define _CRT_SECURE_NO_WARNINGS #include <stdi...
    99+
    2024-04-02
  • C语言如何使用单链表实现学生信息管理系统
    这篇文章主要介绍了C语言如何使用单链表实现学生信息管理系统,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。运行结果如图:1.运行界面2.录入学生信息3.按照总分进行排序代码如下...
    99+
    2023-06-25
  • C语言如何实现学生宿舍信息管理系统
    这篇文章主要讲解了“C语言如何实现学生宿舍信息管理系统”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言如何实现学生宿舍信息管理系统”吧!功能描述该学生宿舍信息管理系统主要实现的功能有:创...
    99+
    2023-06-29
  • C语言实现火车票管理系统
    本文为大家分享了C语言实现火车票管理系统课程设计的具体代码,供大家参考,具体内容如下 1、前言 这是大一刚学C语言一个学期完成的课设项目,里面的功能还可以进一步的完善,仅供分享、参考...
    99+
    2024-04-02
  • C语言实现自行车管理系统
    在大家学完C语言后,经常会被学校要求做很多管理系统,主流做法当选链表,但是很多问题就来了,在学习阶段写过最多基本上就是50行代码左右了,一下子做个小型管理系统问题就比较多。小编当然也...
    99+
    2024-04-02
  • C语言使用单链表实现学生信息管理系统
    本文实例为大家分享了C语言使用单链表实现学生信息管理系统,供大家参考,具体内容如下 初学数据结构,记录一下学习过程。 运行结果如图: 1.运行界面 2.录入学生信息 3.按照总分...
    99+
    2024-04-02
  • 如何使用C++实现图书信息管理系统
    小编给大家分享一下如何使用C++实现图书信息管理系统,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体内容如下1.题目:类型有:编号:ISBN书名:name价格:price完成如下的功能:①录入:从键盘输入(或从文件读入)...
    99+
    2023-06-29
  • C语言实现学生信息管理系统开发
    本文实例为大家分享了C语言实现学生信息管理系统的具体代码,供大家参考,具体内容如下 程序介绍 运行程序时,首先进入到菜单部分,菜单部分提供了菜单显示和输入功能部分。其运行效果如图所示...
    99+
    2022-11-13
    C语言学生信息系统 C语言学生管理系统 C语言信息管理系统
  • C语言实现简单学生信息管理系统
    学生信息管理系统的功能有,也可以自己增加或者改进一些函数功能。 在main函数里调用这8个函数 学生信息包含姓名、年龄、学号、成绩,需要定义一个结构体(结构体是全局变量,所以需要全...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作