高速公路收费系统C语言课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言程序设计
课程设计报告
设计题目:高速公路计费系统设计
学号
班级
姓名
题目:高速公路计费系统设计
功能:在某高速公路出口收费处,对三种类型的车辆计费,大型车每公里0。
5元,中型车每公里0。4元,小型车每公里0。3元,来车验条,乘公
里数即得该收的款项。在交班时要统计出总数。
分步实施:
1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数
个数;
2、完成最低要求:建立一个只有三个入口的计费系统,并能进行统
计计算,打印出报表;
3、进一步要求:完成任意多个入口的通用系统。
要求:1、用C语言实现程序设计;
2、利用结构体数组实现信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。
课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算
法)、模块划分。
2、实验总结报告:流程图、主要源程序代码(需打印)、测试情况及
调试中问题与解决方案、小结等。
一、总体设计
1、仔细阅读系统要求,首先将此系统化分为如下模块
(1)显示模块,是人机交互的界面,可引导操作员来完成程序的运行。比如:系统主界面(主菜单),包含了输入车辆信息,显示车辆信息,显示车辆总数,退出程序四个可选操作,操作员可直观地完成信息处理。
(2)文件模块,可执行文件建立、文件保存、文件打开和文件写入等命令来操作处理和放置车辆信息的文件。
(3)输入模块是操作员向程序输入的模块,可输入操作内容和车辆的有关信息,比如:输入车牌号、车辆类型、进入口、时间,程序自动计算得出车辆应缴纳的费用并保存在文件。
(4)输出模块,通过程序计算,向操作员输出车辆信息、数据等
(5)退出模块,可用一个函数exit()来实现,首先将信息保存到文件中,然后退出程序
二、详细设计
1、界面设计
此系统界面采用符号和数字化菜单设计。
主界面设计如下:
欢迎使用高速公路收费系统
主菜单
1.输入车辆信息
2.显示车辆信息
3.显示车辆总数
4.保存退出系统
请输入数字选择操作类型:
2、流程图
3、数据结构设计:
程序设计中用到的结构体类型:
车辆信息结构体类型:
struct vehicle
/*车辆信息*/
{
char num[10000];
/*车牌号*/
char variety[4];
/*车辆类型a,b,c(大,中,小)*/
int entime;
/*进入时间*/
char enter[3];
/*进入口1,2,3……分别为各个入口*/
}
4、程序代码
#include
#include
#include
#include
#define N 10
/*定义三个入口到出口的路程分别是l1 l2 l3*/ struct vehicle
/*车辆信息*/
{
char num[10000];
/*车牌号*/
char variety[4];
/*车辆类型a,b,c(大,中,小)*/
int entime;
/*进入时间*/
char enter[3];
/*进入口1,2,3……分别为各个入口*/
}
ve[N];
int count=0;
FILE *fp;
/*函数声明*/
void menu();
/*主菜单*/
void input();
/*输入函数*/
void show();
void all();
void readfile();
/*从文件导入*/
void writefile();
/*写入*/
void main()
{
readfile();
while(1)
{
menu();
}
}
void readfile()
/*从文件导入 */
{
if((fp=fopen("vehicle.txt","r"))==NULL)
{
printf("\n");
printf("\n");
printf("\n");
printf("\n");
printf("\t");
printf("\t");
printf("***********************************************\n");
printf("\t");
printf("\t");
printf("* *\n");
printf("\t");
printf("\t");
printf("* 文件为空,请添加信息 *\n");
printf("\t");
printf("\t");
printf("* *\n");
printf("\t");
printf("\t");
printf("***********************************************\n"); if((fp=fopen("vehicle.txt","w"))==NULL)
/*只写*/
{
printf("\n");
printf("\n");