欢迎来到天天文库
浏览记录
ID:6471166
大小:249.00 KB
页数:30页
时间:2018-01-15
《模拟电信计费系统的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、3.8模拟电信计费系统的设计与实现3.8.1设计题目及要求模拟电信计费系统的设计与实现要求:(1)计费功能。根据存放在源数据文件中的通话记录和长途费率文件对每一条通话记录计算其通话费用,并将结果保存在费用文件中。其中:通话费的计算方法如下:通话费=长途电话费+本地电话费长途电话费=费率(元/分钟)×通话时长(分钟)(通话时长不满1分钟的按1分钟计算)本地电话费为:3分钟以内0.5元,以后每3分钟递增0.2元。(2)话费查询。输入一个电话号码,从费用文件中统计该电话号码的所有本地话费、长途话费,并从用户文件中查找其用户名,最后在屏幕上显示:用户名电话号码本地话费长途话费话费总计(3
2、)话单查询。输入一个电话号码,查询并在屏幕显示该用户的所有通话记录,格式为:用户名主叫电话号码被叫电话号码通话时长3.8.2设计思想及程序流程框图程序设计大致思路:1.本系统的输入输出文件本系统的输入文件有三个:(1)源数据文件(hd.dat)存放:主叫区号主叫电话号码被叫区号被叫电话号码通话时长(秒)每次通话作为一条记录,占源数据文件的一行。每条记录中各数据之间以空格间隔,例如:025834912340106232098390每个电话号码可以有多次通话记录。如果主、被叫区号相同,则通话记录为本地通话记录;否则为长途通话记录。(2)长话费率文件(fl.dat)存放:区号费率例如:
3、0101.20表示从本地打往区号为010的地区每分钟收费1.20元。(3)用户文件(yh.dat)存放:电话号码用户姓名例如:83491234张明本系统的输出文件有一个:费用文件(fy.dat)存放:主叫电话号码通话类型话费金额其中,通话类型表示本次通话是长途还是本地。2.系统输入数据hd.dat—有20条通话记录,分别是:fl.dat有4条记录0258349123402585319971700101.2002584927038010621100452360201.2002587216340025845210093100210.80025834912340571821995161
4、0005711.000255812032102181094532500258349123402585319971800258492703802583491234115yh.dat有5条记录02558120321025872163404783491234张明02587216340010621100459384927038李小红025834912340106211004579287216340王励0258492703805718219951693183492200赵强025834912340258531997158058120321杨冬025849270380258349123435
5、80255812032102181094532197025872163400258452100925602587216340010621100451930258349220002584521009320025834912340258531997127002584927038025834912342310258349220002584927038723.数据结构(可用C++实现)三个类:话单(callist)、费用(charge)和用户(user)两个常量:存放本地费率和递增量(1)话单类数据成员:主叫区号、主叫电话号码、被叫区号、被叫电话号码、通话时长数据类型属性(私有、保护、公
6、有)方法:构造函数和析构函数从源数据文件读入通话数据显示一次通话数据取主叫区号取主叫电话号码等等(2)费用类——从话单类派生数据成员:通话类型、通话费用数据类型属性(私有、保护、公有)方法:构造函数和析构函数从费用文件读入费用数据向费用文件输出数据屏幕显示费用求通话费用求通话类型取(返回)通话类型取通话费用等等(3)用户类数据成员:姓名、电话号码数据类型属性(私有、保护、公有)方法:设置用户的电话号码查询用户名设置用户名查询用户的电话号码显示用户名和电话号码等等(1)话单类(CallList)classCallList{protected:char*ZCode;//主叫区号cha
7、r*ZNum;//主叫号码char*BCode;//被叫区号char*BNum;//被叫号码intTime;//通话时长(秒)public:CallList(char*zcode=NULL,char*znum=NULL,char*bcode=NULL,char*bnum=NULL,inttime=0);~CallList();voidSet(char*zcode=NULL,char*znum=NULL,char*bcode=NULL,char*bnum=NULL,inttime=
此文档下载收益归作者所有