首页 > 作文

C语言实现车辆信息管理系统

更新时间:2023-04-06 03:52:44 阅读: 评论:0

本文实例为大家分享了c语言实现车辆信息管理系统的具体代码,供大家参考,具体内容如下

车辆信息管理系统

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

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

车辆型号(如思域、卡罗拉、天籁等)厂商(如广汽本田、一汽大众、东风日产等)车型级别(如紧凑型车、中型车、suv等)座位数(如5座、7座等)排量(如1.2t、1.4t、1.5t、1.6t等)变速箱(如手动、手自一体、无级变速等)车身颜色(白色、黑色等)车辆价格(单位为万)

程序基本要求:

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

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

(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 ats;//座位数 float displacement;//排量 char biansuxiang[20];//变速箱 char color[20];//颜色 char price[30];//价格 cheliang next; };cheliang head,tail;/************************************************************************ 说明: 从data.dat中读取车辆信息保存为单链表***********************************************************************/void read_cars();/************************************************************************ 说明: 把车辆信息写入data.dat中***********************************************************************/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;   }   el   {    printf("数字错误,请重新输入");    }  }  switch(i)  {  ca 1: add_car();break;  ca 2: display_cars();break;  ca 3: find();break;  ca 4: change();break;  ca 5: delete_car();break;  ca 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; } fclo(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; } fclo(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->ats); 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;  } el  {  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->ats,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->ats,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;  }  el{   printf("数字错误,请重新输入");  } } switch(k) { ca 1: find_brand();break; ca 2: find_manufacturar();break; ca 3: find_degree();break; ca 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->ats,p->displacement,p->biansuxiang,p->color,p->price);   p=p->next;   j++;  }  el   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->ats,p->displacement,p->biansuxiang,p->color,p->price);   p=p->next;   j++;  }  el   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->ats,p->displacement,p->biansuxiang,p->color,p->price);   p=p->next;   j++;  }  el   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->ats,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->ats,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;    }    el{     printf("请输入正确的数字");    }   }       switch(i)    {    ca 1:         printf("型号:");      char str1[20];      scanf("%s",str1);      strcpy(q->brand,str1);break;    ca 2: 自学室内设计     printf("产商:");      char str2[15];      scanf("%s",str2);      strcpy(q->manufacturar,str2);break;    ca 3:         printf("等级:");     char str3[15];     scanf("%s",str3);      strcpy(q->degree,str3);break;    ca 4:         printf("座位数:");     int str4;     scanf("%d",&str4);      q->ats=str4;break;    ca 5:         printf("排量:");     float str5;     scanf("%f",&str5);     q->displacement=str5;break;    ca 6:         printf("变速箱:");     char str6[20];     scanf("%s",str6);      strcpy(q->biansuxiang,str6);break;    ca 7:         printf("颜色:");     char str7[20];     scanf("%s",str7);      strcpy(q->color,str7);break;    ca 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->ats,q->displacement,q->biansuxiang,q->color,q->price);    q=q->next;   break;  }    el  {   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;  }  el{   printf("数字错误,请重新输入");  } } switch(i) { ca 1: delete_car_brand();break; ca 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->ats,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;  }  el   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->ats,q->next->displacement,q->next->biansuxiang,q->next->color,q->next->pri有什么好的戒烟方法ce);   j++;   p=q->next;      q->next = q->next->next;   printf("数据删除成功!\n");   free(p);   break;  }  el   q=q->next; } if(j==0) {  printf("该系统无你所要删除的车辆信息!\n");   exit(0); }}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持www.887551.com。

本文发布于:2023-04-06 03:52:42,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/f734d10284cc13499c93d3a77bd95f7b.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:C语言实现车辆信息管理系统.doc

本文 PDF 下载地址:C语言实现车辆信息管理系统.pdf

标签:车辆   信息   型号   变速箱
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图