收藏 分享(赏)

手机资费系统设计报告.doc

上传人:dzzj200808 文档编号:2256685 上传时间:2018-09-07 格式:DOC 页数:39 大小:334KB
下载 相关 举报
手机资费系统设计报告.doc_第1页
第1页 / 共39页
手机资费系统设计报告.doc_第2页
第2页 / 共39页
手机资费系统设计报告.doc_第3页
第3页 / 共39页
手机资费系统设计报告.doc_第4页
第4页 / 共39页
手机资费系统设计报告.doc_第5页
第5页 / 共39页
点击查看更多>>
资源描述

1、c+ 程序设计课程设计报告设计题目:手机资费系统班级:网络一班 学号: 20115207报告人姓名:舒敏 指导教师:费玉奎实验地点: 山东农业大学东校区计算机实验室完成起止日期: 2012.6.92012.6.172目录一、设计思路 .3二、具体实现 .41)管理类: 41、价格标准设立类 42、注册用户实 现代码 93、显示全部用户代码 132)客户端类 161、客户类 162、主页面显示代码 183、管理端主界面显示代码 194、客户端界面显示代码 232、套餐类 251、套餐显示页面是显示代码 262、套餐修改具体代码 283、资费类 321、充值功能实现代码 332、打电话计费实现代码

2、 373、各类查询实现代码 52三、运行调试与分析讨论 .58四、错误修改与修改 .65五、设计体会与小结: .663一、设计思路手机资费系统利用 c+面向对象的过程,建立对象数组和对象将各类数据储存起来,利用输入输出流,将各类数据保存在外部文件中,真正实现存储功能,而不是关闭 codeblocks 后数据就消失了。系统主要分为俩大部分,客户端和管理端,还有主界面,但进入主界面之前还有密码登陆,输入错误五次后自动退出,管理端主要是价格等的设定,客户端主要是查询修改使用业务。共分为五个类,客户端类,管理端类,套餐类,记录类,资费类,由于知识能力有限,并没有用类的继承和组合,只是单纯的在不同的类中

3、定义对象然后直接调用。一次来完成手机资费系统各功能的实现。客户端:1、 计费功能 (打电话 发短信 使用 wlan的计费功能)2、 套餐管理(实现套餐的修改)3、 缴费功能(实现用户充值)4、 使用记录查询(实现查询详单,用户余额、套餐的短信、通话、wlan 的剩余情况)管理端:1、 注册用户(实现新用户的注册、更改、显示全部)2、 价格标准设立(实现对于标准的市话 长途 漫游 短信 wlan 等的价格设立 查看 修改)4二、具体实现1)管理类:1、价格标准设立类class Management/只实现基本标准价格的确立public:void mainset();/基本标准修改菜单void m

4、ainset1();/显示修该或查看界面void jiageshow();/显示设定的价格double changtu;/长途价格double manyou;/漫游价格double wlan;/wlan价格double duanxinyidong;/移动卡之间短信价格double duanxinliantong;/联通移动卡之间短信价格double shihua; /市话价格;具体实现代码:void Management:mainset1()/5system(“cls“);int m;Management s2;Clientside s3;coutm;switch(m)case 1:s2.ji

5、ageshow();break;case 2:s2.mainset();break;case 3:s3.mainshow();break;default:s2.mainset1();void Management:mainset()/基本价格标准设立int a;Management b;Clientside phone;system(“cls“);ofstream outfile(“价格标准.dat“,ios:binary);/建立一个外部文件 准备存储内6容if (!outfile)cerrb.manyou;coutb.changtu;coutb.shihua;coutb.wlan;cout

6、b.duanxinyidong;coutb.duanxinliantong;couta;switch(a)7case 1:b.jiageshow();break;/management对象 b,显示价格case 2:phone.main1show();break;/返回管理界面case 3:exit(0);default:b.jiageshow();2、注册用户实现代码void Clientside:newzhuce()Clientside s4;system(“cls“);coutp;ofstream outfile(“手机记录.dat“,ios:app|ios:binary);if (!o

7、utfile)cerrs1j.rname;couts1j.rphone;couts1j.rcode;couts1j.rtaocan;switch(s1j.rtaocan)case1: s1j.rmoney=0.0;s1j.rtonghua=100;s1j.rduanxin=90;s1j.rwlan=50;break;case2:s1j.rmoney=0.0;s1j.rtonghua=150;s1j.rduanxin=150;s1j.rwlan=100;break;case3:s1j.rmoney=0.0;s1j.rtonghua=200;s1j.rduanxin=200;s1j.rwlan=1

8、50;break;s1j.rthmoney=0;/通话使用总时间s1j.rdxmoney=0;/短息总条数s1j.rwlmoney=0;/WLAN使用总时间s1j.rprice=0;/上次通话金额outfile.write(char*)/写入外部文件outfile.close ();/关闭外部文件couth;while(1)s4.main1show();/返回管理页面coutt;if(t=1)s8.zhuce();else if(t=2)s8.mainshow();/主页面elseexit(0);2)客户端类1、客户类class Clientsidepublic:void mainshow()

9、;/选择客户端还是管理端界面void main2show();/客户端显示void main1show();/管理端界面void zifei();/资费系统void zhuce();/用户注册void newzhuce();/注册新用户void allshow();/显示全部注册用户void taocan();/套餐管理页面char rname20;char rphone20;char rcode20;char rtaocan;double rmoney;/手机余额double rtonghua;/通话剩余时间double rduanxin;/短信剩余条数double rwlan;/剩余 WL

10、AN时间11double rdxmoney;/短息总条数double rwlmoney;/WLAN使用总时间double rthmoney;/通话使用总时间double rprice;/上次通话金额;2、主页面显示代码void Clientside:mainshow()system(“cls“);Clientside a;coutn;if(n=1)a.main1show();/进入管理端else if(n=2)a.main2show();/进入客户端elseexit(0);3、管理端主界面显示代码void Clientside:main1show()/管理界面12Clientside phon

11、e;Management baseset;system(“cls“);int n;coutn;switch(n)case 1:phone.zhuce();break;/注册手机新用户case 2:baseset.mainset1();break;/各种价格标准设立case 3:exit(0);default:coutp;while(1)phone.main1show();void Clientside:zhuce()/手机注册新用户system(“cls“);Clientside phone;int x1;13coutx1;int p;switch(x1)case 1:phone.newzhu

12、ce();break;/注册新用户case 2:phone.allshow();break;/显示全部注册用户case 3:phone.mainshow();break;/返回客户端case 4:exit(0);default:coutp;while(1)phone.zhuce();/进入注册页面4、客户端界面显示代码void Clientside:main2show()/客户端界面Clientside phone;Taocan taocanset;Zifei s4;system(“cls“);int n;coutn;switch(n)case 1:s4.accumulate();break;

13、/各类查询case 2:taocanset.taocanshow();break;/套餐设立case 3:s4.paymoney();break;/缴费功能case 4:s4.kindschaxun();break;/zifei查询详单case 5:exit(0);default:coutp;if(p=1)phone.mainshow();2、套餐类class Taocan/只实现套餐的选择与退订和消费价格显示public:void taocanshow();/套餐显示页面void taocanxiugai();/套餐修改函数;151、套餐显示页面实现代码void Taocan:taocans

14、how()Taocan taocanset;Clientside s3;system(“cls“);int a,m;couta;if(a=1)taocanset.taocanxiugai();/进入套餐具体修改页面else if(a=2)s3.main2show();/返回用户端else if(a=3)s3.main1show();/返回客户端elsecoutm;if(m=1)taocanset.taocanshow();/返回页面162、套餐修改具体实现代码void Taocan:taocanxiugai()system(“cls“);Clientside s51000;Clientside

15、 s1;Taocan s3;coutname;coutn;s5i.rtaocan=n;coutm;if(m=1)s3.taocanshow();/返回修改界面if(m=2)s1.mainshow();/返回主菜单elseexit(0);18infile.close();3、资费类class Zifeipublic:void kindschaxun();void accumulate();/各种使用情况主界面void zifeishow();/主页面 显示要查询的 如余额等void paymoney();/充值void tonghuajisuan();/通话费用计算void duanxinjis

16、uan();/短信费用计算void wlanjisuan();/wlan计算;1、充值功能实现代码void Zifei:paymoney()/充值功能system( “cls“);Zifei b;Clientside a;Clientside s91000;ifstream infile(“手机记录.dat“,ios:out|ios:binary);/读入文件infile.seekg(0,ios:beg);if(infile.peek()=EOF)coutnum;for(i=0;in;s9i.rmoney=s9i.rmoney+n;/remove(“手机记录.dat“);ofstream ou

17、tfile(“手机记录.dat“,ios:binary);/再建一个相同的外部文件 准备存入数据覆盖原有数据int l=0;/while(1)/ while(1)/ /if(lk-2)break;outfile.write(char*)/外部文件存储数据,outfile.close();/关闭外部存储文件coutm;if(m=n|N)a.mainshow();/返回管理页面elseb.paymoney();2、打电话计费实现代码void Zifei:tonghuajisuan()/通话费用计算system(“cls“);Management s6;Clientside s7;Clientsid

18、e s51000;Zifei s1;couta;coutm;coutn;ifstream infile(“手机记录.dat“,ios:in|ios:binary);/第二次读入用户文件infile.seekg(0,ios:beg);if(infile.peek()=EOF)cout=m)s5i.rtonghua=s5i.rtonghua-m;/剩余通话时间s5i.rprice=0;/上次通话金额s5i.rthmoney=s5i.rthmoney+m;/通话总时间s5i.rmoney=s5i.rmoney-0;if(s5i.rmoneyu;while(1)s7.mainshow();/返回主页面

19、elsecoutu1;while(1)s7.mainshow();/返回主页面else/ cout=m)s5i.rtonghua=s5i.rtonghua-m;/剩余通话时间s5i.rprice=0;s5i.rthmoney=s5i.rthmoney+m;/通话总时间s5i.rmoney=s5i.rmoney-0;if(s5i.rmoneyu2;while(1)s7.mainshow();/返回主页面elsecoutu3;while(1)s7.mainshow();/返回主页面elsecoutm)s5i.rtonghua=s5i.rtonghua-m;/剩余通话时间s5i.rprice=0;s

20、5i.rthmoney=s5i.rthmoney+m;/通话总时间s5i.rmoney=s5i.rmoney-0;/余额if(s5i.rmoneyu4;while(1)s7.mainshow();/返回主页面25elsecoutu5;while(1)s7.mainshow();/返回主页面elsecoutw;switch(w)case 1:s1.tonghuajisuan();break;/继续打电话case 2:s7.main1show();break;/返回管理端case 3:s7.mainshow();break;/返回客户端case 4:exit(0);default:s7.mains

21、how();3、各类查询实现代码void Zifei:kindschaxun()/余额查询函数system(“cls“);coutshoujihao;coutt;coutflag;if(flag=2)a.main2show();/返回客户端else if(flag=3)a.main1show();/返回管理端else if(flag=4)exit(0);elseb.kindschaxun();/继续查询infile.close();29三、运行调试与分析 讨论下面是主页面输入密码“1”进入系一个主界面,密码输入错误会有提示,一共可以有五次机会,密码五次全输入错误则退出系统30按 1 进入 主界面 觉得有些太花哨了,可能有些太过于人性化了,改进建议,可以取消此页面直接进入下一页面下一个界面

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报