基于 C++实现(控制台)车辆信息管理系统

♻️ 资源

大小: 16.2MB

➡️ 资源下载: https://download.csdn.net/download/s1t16/87454531

车辆信息管理系统

简介

此程序是本人大一时期的 C 语言大作业,初学 C 语言一学期后所编写的一个 C 程序,是一个车辆信息管理系统,可简单的实现车辆信息的增删改查和维护管理等,详细信息请见程序设计说明书和程序代码。

内容:

(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 函数:用于实现系统的初始化。

程序大概流程如下图:

(3)程序详细设计

关键代码分析:

1、 系统菜单

2、删除位置的记录

3、指定的单个删除

4、指定的全部删除

5、删除全部车辆信息

6、 排序

7、 初始化系统

更多操作

(4)程序使用说明

主要功能运行情况展示:

1、 录入车辆信息

2、 更多操作

浏览车辆信息

3、 查询车辆信息(按车型)

4、 修改车辆信息

5、 删除车辆信息(按厂商)

6、 排序车辆信息(按价格)

7、 初始化系统

(5)总结

程序优点:

1、 界面整洁,信息排列整齐,能给人一种舒服感,强迫症患者可放心食用使用。

2、 操作引导具体清晰,初次使用者不用担心不会操作,人人都会使用。

3、 使用了特定结构代码,使用者乱选不存在的选项,将不会发生任何变化,需选择存在的选项才可实现特定功能,这样避免了使用者乱输入选项,而出现系统报错的或其他错误的情况。

4、 重大操作之前会有确定与取消选项,避免不小心操作失误而导致信息错误修改。

5、 操作某条车辆信息之前会显示该车辆信息,以便操作者了解确认该条车辆信息。

6、 输入错误信息时会有提示,并要求重新输入。

7、 删除车辆信息时,可单条删除亦可全部删除。

8、 排序车辆信息后,可仅查看不保存,亦可查看并保存。

............

程序不足:

没有不足,perfect

1、 记录号的处理方法可能不太恰当。

2、 某些程序代码不够简化。

3、 自己额外扩展的功能较少。

困难及其解决:

1、 如何执行完指定功能后返回系统菜单继续进行功能选择?用一个 do{...}while(1);的死循环来实现。

2、 如何知道已储存的车辆信息条数?用 fread 函数的返回值来获取。

3、 如何使操作等待几秒后再进行?用 Sleep 函数来延迟。

4、 如何执行完指定功能后,先不返回系统菜单,停留在当前界面?用代码 system("pause");。

5、 如何删除车辆信息?重新进行赋值,将要删除的那一个跳过即可。

6、 如何一次删除指定的多条车辆信息?用一个数组将其位置记录下来,后续重新赋值时跳过该信息即可。

7、 如何删除全部车辆信息?打开文件用"wb"方式即可。

8、 如何排序后可选择保存或不保存?保存的话,将信息写入文件;不保存的话,仅显示不写入文件。

9、 如何使系统的信息还原至最初系统保存的信息?写一个初始化系统的函数来实现系统初始化功能即可。

10、如何将系统初始化?建立一个保存有初始信息的文件,要初始化时将其信息复制过去即可。

............

收获总结:

在初学 C 语言一个学期后,我们每个人都需要在寒假期间完成一个大作业,尝试编写一个较为复杂的、具有多种功能的应用程序。在学校学习 C 语言期间,我们一直只是编写一些简单、功能单一的程序,当时的我并没有体会到 C 语言的强大之处,直到完成了此次大作业,我才发现了 C 语言的强大及其魅力,它还有很多我所不知道奥秘等着我去探索。在编写完大作业的代码并成功运行了程序之后,内心的自豪感及满足感油然而生,这也使得我更加爱上编写程序。

通过此次大作业,我懂得了程序结构化的重要性,每个功能用一个或多个函数编写,避免将多个功能挤在一个函数中,这样才能使程序代码更加清晰可读,自己的思路也将更加清晰。

通过此次大作业,我也学到了一些新的函数,如:Sleep 函数可使程序延时,system("cls")可以清屏,system("pause")可以暂停,等等。

通过此次大作业,我巩固了 C 语言知识,了解了程序设计过程,锻炼了实际应用能力,也锻炼了逻辑能力,知道了如何一步步的从零开始编写出一个完整的程序。

在开始做大作业前我先将整本课本重新复习及学习了一遍,在编写程序的过程中也不断地翻查课本及网上资料,在编写的过程中也遇到了许多困难,调试程序时也发现了许多 bug,种种困难在完成大作业的过程中不断地迎面而来,花了五天时间才将其代码全部写完并解决了全部难题,这个过程虽然有些艰苦,但我并不觉得烦躁,当你完成之后并成功地运行了自己所编写的程序时,你心中的自豪感及满足感会告诉你这一切都是值得的!!!

参考文献

[1]谭浩强.《C 程序设计(第五版)》 M.5 版.北京:清华大学出版社, 2017:0-370

[2]CSDN帖子https://www.csdn.net/,引用日期 2020.2.15

相关推荐
智塑未来19 分钟前
常用的在线ping测试工具有哪些
服务器·开发语言·php
Freak嵌入式43 分钟前
MicroPython+Pico 接收空闲中断和发送空闲中断全实战
java·开发语言·stm32·单片机·嵌入式硬件
重生之小比特44 分钟前
【初阶C++】string
开发语言·c++
Dream Cosmos1 小时前
C++继承详解(上):继承规则、父子类转换与作用域隐藏
c++
skr爱码士1 小时前
15_国际化和本地化:tr()、ts 文件、QM 文件、多语言切换
c++·qt·ui·客户端
小玮看世界1 小时前
[Python]动态规划三步走:从爬楼梯到打家劫舍,再到最大子数组和
开发语言·python·动态规划
AI视觉网奇1 小时前
3d子部件高亮选中
开发语言·javascript·3d
汉克老师1 小时前
CSP-J 初赛(以满分为目标):第二十一课 《树与二叉树基础—— 一棵树,为什么会成为计算机最重要的数据结构之一?》
c++·csp-j·小学生·学c++编程
zzzll11111 小时前
深入理解 Java HashMap:从原理到实战
java·开发语言·哈希算法