模拟电信计费课设_第1页
模拟电信计费课设_第2页
模拟电信计费课设_第3页
模拟电信计费课设_第4页
模拟电信计费课设_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、沈 阳 工 程 学 院信 息 学 院C+程序设计课 程 设 计设计题目: 模拟电信计费 系 别 计算机科学与技术系 班级 计算机 152 学生姓名 赵峰 学 号 2015415229 指导教师 张欣 代钦 职称 副教授/讲师 起止日期: 2014年12月29日起至 2015年01月2日止任 务 分 工组长姓名姜鹏题目 模拟电信计费项目组成员个人任务描述自我评定张祥phone类的设计 logshow()成员函数 telephone类的设计及其他部分成员函数良李星辰oad()成员函数 account_code()成员函数及部分成员函数设计 dos界面设计。良宫明辉fixed_phone类的设计,

2、fixed_phone 的成员函数,主函数,及其他部分成员函数优姜鹏account_code()成员函数 log()成员函数的设计,及部分成员函数设计 良沈 阳 工 程 学 院 信 息 学 院 C+程序设计 课程设计成绩评定表系(部): 计算机科学与技术系 班级: 计算机C131 学生姓名: 姜鹏 指 导 教 师 评 审 意 见评价内容具 体 要 求权重评 分加权分调研论证能独立查阅文献,收集资料;能制定课程设计方案和日程安排。0.15432工作能力态度工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作, 0.25432工作量按期圆满完成规定的设计任务,工作量饱满,难度适宜。0.2

3、5432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.55432指导教师评审成绩(加权分合计乘以12) 分加权分合计指 导 教 师 签 名: 年 月 日评 阅 教 师 评 审 意 见评价内容具 体 要 求权重评 分加权分查阅文献查阅文献有一定广泛性;有综合归纳资料的能力0.25432工作量工作量饱满,难度适中。0.55432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.35432评阅教师评审成绩(加权分合计乘以8)分加权分合计评 阅 教 师

4、 签 名: 年 月 日课 程 设 计 总 评 成 绩分沈 阳 工 程 学 院 信 息 学 院 C+程序设计 课程设计成绩评定表系(部): 计算机科学与技术系 班级: 计算机C131 学生姓名: 张祥 指 导 教 师 评 审 意 见评价内容具 体 要 求权重评 分加权分调研论证能独立查阅文献,收集资料;能制定课程设计方案和日程安排。0.15432工作能力态度工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作, 0.25432工作量按期圆满完成规定的设计任务,工作量饱满,难度适宜。0.25432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐

5、全,图表完备,书写工整规范。0.55432指导教师评审成绩(加权分合计乘以12) 分加权分合计指 导 教 师 签 名: 年 月 日评 阅 教 师 评 审 意 见评价内容具 体 要 求权重评 分加权分查阅文献查阅文献有一定广泛性;有综合归纳资料的能力0.25432工作量工作量饱满,难度适中。0.55432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.35432评阅教师评审成绩(加权分合计乘以8)分加权分合计评 阅 教 师 签 名: 年 月 日课 程 设 计 总 评 成 绩分沈 阳 工 程 学 院 信 息 学 院 C+程

6、序设计 课程设计成绩评定表系(部): 计算机科学与技术系 班级: 计算机C131 学生姓名: 李星辰 指 导 教 师 评 审 意 见评价内容具 体 要 求权重评 分加权分调研论证能独立查阅文献,收集资料;能制定课程设计方案和日程安排。0.15432工作能力态度工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作, 0.25432工作量按期圆满完成规定的设计任务,工作量饱满,难度适宜。0.25432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.55432指导教师评审成绩(加权分合计乘以12) 分加权分合计指

7、导 教 师 签 名: 年 月 日评 阅 教 师 评 审 意 见评价内容具 体 要 求权重评 分加权分查阅文献查阅文献有一定广泛性;有综合归纳资料的能力0.25432工作量工作量饱满,难度适中。0.55432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.35432评阅教师评审成绩(加权分合计乘以8)分加权分合计评 阅 教 师 签 名: 年 月 日课 程 设 计 总 评 成 绩分沈 阳 工 程 学 院 信 息 学 院 C+程序设计 课程设计成绩评定表系(部): 计算机科学与技术系 班级: 计算机C131 学生姓名: 宫明

8、辉 指 导 教 师 评 审 意 见评价内容具 体 要 求权重评 分加权分调研论证能独立查阅文献,收集资料;能制定课程设计方案和日程安排。0.15432工作能力态度工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作, 0.25432工作量按期圆满完成规定的设计任务,工作量饱满,难度适宜。0.25432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.55432指导教师评审成绩(加权分合计乘以12) 分加权分合计指 导 教 师 签 名: 年 月 日评 阅 教 师 评 审 意 见评价内容具 体 要 求权重评 分加权

9、分查阅文献查阅文献有一定广泛性;有综合归纳资料的能力0.25432工作量工作量饱满,难度适中。0.55432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.35432评阅教师评审成绩(加权分合计乘以8)分加权分合计评 阅 教 师 签 名: 年 月 日课 程 设 计 总 评 成 绩分沈阳工程学院信息学院课程设计任务书 课程设计题目: 模拟电信计费 系 别 计算机科学与技术系 班级 计算机C131 学生姓名 姜鹏、张祥、李星辰、宫明辉 学 号 36、30、38、35 指导教师 张欣、代钦 职称 副教授、讲师 课程设计进行地

10、点: 实训楼F六楼机房 任 务 下 达 时 间: 年 月 日起止日期: 2014年12月29日起至 2015年01月2日止系主任 张欣 年 月 日批准一、课程设计的原始资料及依据查阅有关资料,进一步理解面向对象程序设计的思想,并编写一个简单的windows系统。通过本设计可以加深理解使用面向对象程序设计思想开发一个系统的方法,提高分析问题、解决问题和实际动手的能力。二、课程设计主要内容及要求设计内容:假设电信计费标准:固定电话长途话费0.02元/秒,固定电话本地话费0.06元/分,无线电话长途话费1.00元/分,无线电话本地话费0.60元/分,无线电话接听话费0.50元/分。在源数据文件中存放

11、:电话号码,电信服务类别,通话时间(秒)。根据源数据文件生成如下列表:固定长途电话:长途电话号码和通话时间。 固定本地电话:本地电话号码和通话时间。 无线长途电话:长途电话号码和通话时间。 无线本地电话:本地电话号码和通话时间。 无线接听电话:接听电话号码和通话时间。 统计电信费用:电话号码、累计电信费用。(根据自己的任务填写内容)设计要求:(1) 要求在设计的过程中建立清晰的类层次,并画出类图;(2) 设计功能满足要求、易于操作的友好界面;(3) 在系统的设计中,至少要用到面向对象的一种机制:继承、多态等;(4) 在完成该题目时,小组人员进行详细的任务分工,并要在报告中体现出来。三、对课程设

12、计说明书撰写内容、格式、字数的要求1课程设计说明书是体现和总结课程设计成果的载体,主要内容包括:设计题目、设计目的、设备器材、设计原理及内容、设计步骤、遇到的问题及解决方法、设计总结、参考文献等。一般不应少于3000字。2在适当位置配合相应的实验原理图、功能模块图、算法流程图等图表进行说明。应做到文理通顺,内容正确完整,书写工整,装订整齐。3设计总结部分主要写本人完成工作简介以及自己的设计体会,包括通过课程设计学到了什么,哪里遇到了困难,解决的办法以及今后的目标。4课程设计说明书手写或打印均可。手写要用学校统一的课程设计用纸,用黑或蓝黑墨水工整书写;打印时采用A4纸,页边距均为20mm,正文采

13、用宋体小四号字,行间距18磅。文中大标题采用黑体小三号字,一级节标题采用黑体四号字,二级节标题采用黑体小四号字,表题与图题采用宋体五号字。5课程设计说明书装订顺序为:封面、任务书、成绩评定表、目录、正文、参考文献。四、设计完成后应提交成果的种类、数量、质量等方面的要求1完成“任务书”中指定的功能,运行结果正确。2课程设计说明书。五、时间进度安排顺序阶段日期计 划 完 成 内 容备注1第1天进行设计准备,阅读资料,分析设计任务书,明确设计要求、内容和步骤2第2天需求分析3第3天概要设计4第3天详细设计5第4天编码、调试6第5天程序答辩,撰写课程设计报告六、主要参考资料(文献)1郑莉 董渊 张瑞丰

14、 编着. C+语言程序设计(第4版). 北京:清华大学出版社.20102 陈维兴, 林小茶.C高级程序设计教程. 北京:清华大学出版社3 谭浩强.C程序设计教程. 北京:中国科学技术出版社4 王燕.面向对象的理论与C实践. 北京:清华大学出版社5 马石安, 魏文平. 主编Visual C+程序设计与应用教程. 北京:清华大学出版社6 王育坚. 主编Visual C+面向对象编程教程(第二版). 北京:清华大学出版 沈阳工程学院课程设计报告 目录目 录第1章 绪 论11.1题目背景11.2概要设计11.3解决问题1第2章 C+语言的运行环境22.1 C+语言的运行环境22.2 C+语言的特点32

15、.3 C+语言的运行步骤3第3章系统分析与详细设计63.1程序结构基础63.2 功能设计6第4章 系统实现264.1程序运行的登录界面264.2程序运行的主菜单及功能界面27结 论29VIII沈阳工程学院课程设计报告 第1章 绪论第1章 绪 论1.1题目背景随着计算机技术的飞速发展,改变了世界,也改变了人类的生活。作为现代科学技术的飞速发展,改变了世界,也改变了人类的生活。新世纪的大学生,应当站在时代发展的前列,掌握现代科学技术知识,调整自己的知识结构和能力结构,以适应社会发展的要求。C+语言成了在国内外使用的一种计算机语言。C+语言功能丰富、表达能力强、使用灵活方便、应用面广、目标程序效率高

16、、可移植性好、既具有高级语言的优点,又具有低级语言的许多特点,因此特别适合于编写系统软件。1.2概要设计根据题目要求,设计模拟电信计费系统,实现课题中的要求。可以进行每一条通话记录的查询,并且可以显示话费清单。1.3解决问题本程序由4个类为基础结构,分别是fixed_phone类,telephone类,phone类,log_in类, phone类是由fixed_phone类和telephone类派生而来的,fixed_phone类主要用来实现固定电话的话费功能,telephone类主要用来实现无限电话的话费功能,phone类通过本身成员函数来实现总体功能,log_in类主要实现系统的登录,主菜

17、单,帐号信息,退出等功能。1沈阳工程学院课程设计报告 第2章 第2章 C+语言的运行环境 2.1 C+语言的运行环境C+语言的运行环境有很多,是Microsoft 公司推出的可视化开发环境,即Microsoft Visual Studio 2005。也就是我们小组运用的开发环境。C语言在Microsoft Visual Studio 2005环境下运行如图2-1所示。图2-1 C语言运行界面2.2 C+语言的特点C+语言是一种优秀的面向对象程序设计语言,它在C语言的基础上发展而来,但它比C语言更容易为人们学习和掌握。C+以其独特的语言机制在计算机科学的各个领域中得到了广泛的应用。面向对象的设计

18、思想是在原来结构化程序设计方法基础上的一个质的飞跃,C+完美地体现了面向对象的各种特性。2.3 C+语言的运行步骤 1.运行Microsoft Visual Studio 2005现在就让我们开始Microsoft Visual Studio 2005之旅吧!首先按如下两种方法之一启动并运行VC6,进入到它的集成开发环境窗口(假设在Windows系统下已经安装了Microsoft Visual Studio 2005)其具体窗口式样如图2-1所示。方法一:若桌面上有VC6图标(“横躺着”即“倒下”的“8”字型图标,且标有Microsoft Visual Studio 6.0字样,如图2-2所示

19、),则用鼠标双击该图标。 图2-2 打开方式方法二(假设按照通常方式对VC6进行了安装的话)通过开始程序Microsoft Visual Studio 6.0Microsoft Visual C+ 6.0,单击一下该菜单项。图2-1式样的窗口从大体上可分为四部分。上部:菜单和工具条;中左:工作区(workspace)视图显示窗口,这里将显示处理过程中与项目相关的各种文件种类等信息;中右:文档内容区,是显示和编辑程序文件的操作区;下部:输出(Output)窗口区,程序调试过程中,进行编译、链接、运行时输出的相关信息将在此处显示。注意,由于系统的初始设置或者环境的某些不同,可能你所启动的VC6初始

20、窗口式样与图2-1有所不同,也许没出现Workspace窗口或Output窗口,这时可通过ViewWorkspace菜单选项的执行,总可使中左处的工作区窗口显现出来;而通过ViewOutput菜单选项的执行,又总可使下部的输出区窗口得以显现。当然,如果不想看到这两个窗口,可以点击相应窗口的“x”按键来关闭窗口。如图2-3所示。 图2-3 VC6.0的集成开发环境窗口 2. 编制并运行C+语言程序的四步曲编辑(把程序代码输入,交给计算机)。 编译(成目标程序文件.obj)。编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的。编译程序把一个源

21、程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成。主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法错误,给出提示信息。 链接(成可执行程序文件.exe)。链接是将编译产生的.obj文件和系统库连接装配成一个可以执行的程序。由于在实际操作中可以直接点击Build从源程序产生可执行程序,可能有人就会置疑:为何要将源程序翻译成可执行文件的过程分为编译和链接两个独立的步骤,不是多此一举吗?之所以这样做,主要是因为:在一个较大的复杂项目中,有很多人共同完成一个项目(每个人可能承担其中一部分模块),其中有的模块可能是用汇编语言

22、写的,有的模块可能是用VC写的,有的模块可能是用VB写的,有的模块可能是购买(不是源程序模块而是目标代码)或已有的标准库模块,因此,各类源程序都需要先编译成目标程序文件(2进制机器指令代码),再通过链接程序将这些目标程序文件连接装配成可执行文件。 运行(可执行程序文件)。上述四个步骤中,其中第一步的编辑工作是最繁杂而又必须细致地由人工在计算机上来完成,其余几个步骤则相对简单,基本上由计算机来自动完成。在VC6.0下编译后的窗口界面如图2-4所示。图2-4 在VC6.0下编译后的窗口界6沈阳工程学院课程设计报告 第3章 系统分析与详细设计第3章系统分析与详细设计3.1程序结构基础本程序主要完成的

23、是模拟电信计费的功能,整个程序由4个类结构为基础。类UML图如图3-1所示。 图3-1 类UML图3.2 功能设计3.2.1 log_in类的设计1.load()成员函数void log_in:load()int i,count=0; char str50,str150; time_t t1,*t=&t1; printf(nnnnnn); printf(t* *n); printf(t* *n); printf(t* *n); printf(t* *n); printf(t* * * * * * * * * * * * * *n); printf(t* * * * * * *n); print

24、f(t* * * * * * *n); printf(t* * * * * * *n); printf(t* * * * * * * *n); printf(t* * * * * * * * * * * * * * * * * *t); i=6; do t1=time(NULL); strcpy(str,ctime(t); if(count=6) break; while(strcmp(str,str1)!=0) strcpy(str1,str); printf( ); count+; break; while(1);system(cls); /清屏logshow();设计流程如图3-2所示。

25、2. account_code()成员函数void log_in :account_code() /声明int b;cout*1注册新账号*n;cout*2修改密码*n;coutb;if(b=1)string temp1;string temp2;ofstream outfile ;/ 建立输出文件流对象 outfile.open( code.txt , ios:out ); / 连接文件,指定打开方式 cout请输入账号:account;cout请输入密码:temp1;cout请再次输入密码:temp2;if(temp1=temp2)code=temp1;outfile account en

26、dl ;outfile code endl ;outfile.close () ;couttemp1temp2;cout请输入您的账号:temp3;cout请输入原密码:temp4;if(temp1=temp3)&(temp2=temp4)loop:cout请输入新密码:temp5;cout请再次输入新密码:temp6;if(temp5=temp6)account=temp1;code=temp5;elsegoto loop;rwfile account endl ;rwfile code endl ;rwfile.close();cout修改成功!n;system(pause);menu()

27、;设计流程如图3-3所示。3. log()成员函数void log_in :log()int b;cout*1注册账号或修改密码*n;cout*2登陆系统*n;coutb;if(b=1)account_code();elseload();设计流程如图3-4所示。 图3-2 load()成员函数流程图图3-3 account_code()成员函数图3-4 log()成员函数4. codeNum()成员函数void log_in :codeNum()char a37=abcdefghijklmnopqrstuvwxyz0123456789;/定义一个包含26个小写字母的字符串int i,j;cha

28、r output5=;char code5=;srand(int)time(0);/初始化随机数发生器printf(nn t验证码: );for(i=0;itemp1temp2;loop:cout请输入您的账号:account;cout请输入您的密码:code;codeNum();if(temp1=account)&(temp2=code)menu();elsegoto loop;设计流程如图3-6所示。图3-6 logshow()成员函数6. logshow()成员函数void log_in :quit()cout确定退出系统?endl;coutYes?/Y or No?/N:c;if(c=

29、Y|c=y)int i;char str50,str150;time_t t1,*t=&t1; i=5;dot1=time(NULL);strcpy(str,ctime(t);while(strcmp(str,str1)!=0)strcpy(str1,str);for(;i0;)system(cls);printf(%d秒后退出!,i-); /break;while(1);system(pause);exit(0);elsesystem(pause);menu();设计流程如图3-7所示。图3-7 logshow()成员函数3.2.2 fixed_phone类的设计1. get_fee(int

30、 t)成员函数float fixed_phone:get_fee(int t)if(t=0)fee=0.02*time;if(t=1)fee=(time/60+1)*0.06;return fee;设计流程如图3-8所示。图3-7 get_fee(int t)成员函数2. show_detail(int t) 成员函数void fixed_phone:show_detail(int t)if(t=0)/cout您本次通话的详细信息:endl;cout电话号码:number 电信服务类型: 固定长途电话 通话时间(秒):time 产生的费用:feeendl;if(t=1)/cout您本次通话的详

31、细信息:endl;cout电话号码:number 电信服务类型: 固定本地电话 通话时间(秒):time 产生的费用:feeendl;设计流程如图3-9所示。图3-9 show_detail(int t) 成员函数3.2.3 telephone类的设计1. get_fee(int t)成员函数float telephone:get_fee(int t)if(t=2)fee=(time/60+1)*1;if(t=3)fee=(time/60+1)*0.6;if(t=4)fee=(time/60+1)*0.5;return fee;设计流程如图3-10所示。2. show_detail(int t

32、)成员函数void telephone:show_detail(int t)if(type=2)/cout您本次通话的详细信息:endl;cout电话号码:number 电信服务类型:无线长途电话 通话时间(秒):time 产生的费用:feeendl;if(type=3)/cout您本次通话的详细信息:endl;cout电话号码:number 电信服务类型:无线本地电话 通话时间(秒):time 产生的费用:feeendl;if(type=4)/cout您本次通话的详细信息:endl;cout电话号码: number 电信服务类型:无线电话接听 通话时间(秒):time 产生的费用:feenu

33、m;fixed_phone * fph=new fixed_phonenum;telephone * tlh=new telephone num;string temp_num;couttemp_num;for(i=0;it;if(t=0)|(t=1)fphi.type=t;infilefphi.numberfphi.time;fphi.fee=fphi.get_fee(t);if(fphi.number=temp_num)couttlhi.numbertlhi.time;tlhi.fee=tlhi.get_fee(t);if(tlhi.number=temp_num)coutnum;fixe

34、d_phone * fph=new fixed_phonenum;telephone * tlh=new telephone num;for(i=0;it;if(t=0)|(t=1)fphi.type=t;infilefphi.numberfphi.time;fphi.fee=fphi.get_fee(t);fphi.show_detail(t);elsetlhi.type=t;infiletlhi.numbertlhi.time;tlhi.fee=tlhi.get_fee(t);tlhi.show_detail(t);设计流程如图3-13所示。图3-13 read_show_all()成员函数3.2.5 主函数的设计主函数void main()log_in loging;loging.log();phone phe;int choose;loop:coutchoose;if(choose=1)system(cls);loging.log();else if(choose=2)loop2:system(cls);phe.find();cout*1返回主菜单*n;coutchoose_2;if(choose_2=1)loging.menu();goto loop;if(choose_2=2)goto loop2;else i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论