1、C+程序 公路收费问题 设计报告书 c+公路收费系统 程序1 问题描述:设计内容与要求:根据输入的车型(1:小客车2:卡车3:公共汽车)统计收费金额,输出各类车型的车辆数和收费小计,合计总的收费金额。2 问题的解决方案:设计方法与步骤:设计一个fee类,包括car, carfee, truck, truckfee, bus, busfee 等6个和有数据成员,分别存储各类型车辆数和收费小计。另外,该类包括以下几类函数: void cars() 统计小客车数和收费小计; void trucks() 统计客车的车辆数和收费小计; void buses() 统计公气的车辆数和收费小计; void p
2、rocess() 收费处理; void display() 输出。四、主要技术问题的描述:应用面向对象程序设计方法编写一个实现公路收费功能的程序。根据输入的车型(1:轿车,2:卡车,3:公共汽车),统计收费金额。已收费的各种车型的数量用3个长整型数据表示并保存于Feedata.dat文件中,每次启动公路收费程序时读出上次退出时的数据。同时还应该可以设置和记录各种车型的收费标准。答案:#include const int unitcar=10; /声明三个常量const int unittruck=25;const int unitbus=15; class Free /定义类Free int
3、car,carfee; /定义6个类成员整形变量 int truck,truckfee; int bus,busfee; public: Free() /构造函数(与类同名),对相关变量执行初始化 car=carfee=truck=truckfee=bus=busfee=0; void cars() /定义类公有成员函数,下同 car+; carfee+=unitcar; void trucks() truck+; truckfee+=unittruck; void buss() bus+; busfee+=unitbus; void process() int no,n=0; cout 1:
4、小客车 2:卡车 3:公汽 0:退出 endl; /输出(与printf类似) while (1) cout +n no; /输入 switch (no) case 0:break; case 1:cars();break; case 2:trucks();break; case 3:buss();break; default:cout 车型输入错误! endl; if(no=0) break; void display() cout 收费统计如下: endl; cout 小客车: car 辆 收费小计: carfee endl; cout 卡车: truck 辆 收费小计: truckfee endl; cout 公汽: bus 辆 收费小计: busfee endl; cout 收费合计: carfee+truckfee+busfee endl; ;void main () Free obj; /定义对象obj obj.process(); /调用obj对象的公有函数 obj.display();