西安建筑科技大学课程设计(论文)任务书
专业班级:计算机1101 学生姓名:刘雯琦指导教师(签名):
一、课程设计(论文)题目
手机话费管理
二、本次课程设计(论文)应达到的目的
本次课程设计的目的是运用计算机语言模拟实现21点游戏,通过此次课程设计,加深学生对本课程基本知识的理解,提高综合运用知识的能力;掌握本课程的主要内容、工程设计或撰写小论文的步骤和方法;以提高学生独立分析问题、解决问题的能力,逐步增强实际工程训练。
三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术参数、设计要求等)
要求: 要求学生在认真复习教材的基础上,查阅相关资料、认真阅读相关的设计要求,独立按时完成任务;课程设计的说明书、论文要求简洁、通顺、计算正确,程序完整、清楚、规范。
主要内容:实现手机话费管理的基本功能,具体要求为:
1.实现统计电话费的余额、各次呼出电话费金额的功能;
2.实现统计电话总金额功能;
3.实现按时间长短顺序显示各次呼出的电话号码功能;
4.实现电话呼叫次数查询功能。
四、应收集的资料及主要参考文献:
1. 《C++面向对象程序设计》(美)萨维奇,清华大学出版社,2007.
2. 《面向对象程序设计》蔡宇辉,机械工业出版社,2011.6.
3. 其他与本课程设计题目相关的资料
五、审核批准意见
教研室主任(签字)
摘要
本课程设计是利用我们所学的c++语言设计一个只须在控制台上运行的简单的个人电话费管理系统。
在本次课程设计中我主要运用了c++类的方法编写程序,突出了c++类具有良好的封装性,结构的清晰性。
此系统主要实现了一下几个功能:
1.统计电话费的余额、各次呼出电话费金额,并保存在文件中。
2.统计长话总金额、短话总金额,并保存在一个文件中。
3.按时间长短,显示各次呼出的电话号码。
4、查询呼叫某电话的次数。
5、增加记录、删除记录、修改记录功能。
系统函数运行正常,准确。
实现了所要求的功能。
深刻体会到c++类的数据封装性、结构清晰性的优点。
关键词:c++类;;封装性;清晰性;函数;
目录
一、需求分析 (4)
二、概要设计 (4)
三、详细设计 (6)
四、调试分析 (7)
五、使用说明 (13)
六、课设总结 (16)
参考文献 (17)
一、需求分析
此系统主要实现了一下几个功能:
1.统计电话费的余额、各次呼出电话费金额,并保存在文件中。
2.统计长话总金额、短话总金额,并保存在一个文件中。
3.按时间长短,显示各次呼出的电话号码。
4、查询呼叫某电话的次数。
5、增加记录、删除记录、修改记录功能。
系统函数运行正常,准确。
实现了所要求的功能。
深刻体会到c++类的数据封装性、结构清晰性的优点。
二、概要设计
主函数功能模块
注册系统资费管理系统号码管理套餐管理存入磁盘
计费功能资费充值查询余额退出系统添加号码
注册号码
修改套餐
退出系统
套餐计费查询
套餐计费修改
退出套餐系统
手机话费管理系统
图1 功能结构图
user
bill option
图2 数据结构图
1、类User
成员变量:char nam、char num、option tb、bill hf、struct user *next。
2、bill
成员变量:double yong、double cong、double yue。
3、Option
成员变量:char huida[3]、double u[3]。
4、链表
图3 链表结构
注释:运用带头的单向链表,利用head指针指向user,利用next指向下一个数据,这个链表中,各个数据不是连续的物理储存单元,利于插入,删除等功能。
三、详细设计
(1)数据分析,本系统主要定义了一个Tele类来实现的。
此类的定义如下:
struct Data
{
int num;//电话呼出次数编号。
char Pho_code[20];//呼出的电话号码。
char date[20];//呼出电话的日期。
double time;//通话时间。
int id;//是否长途标记。
double cost;//本次呼叫费用。
};
class Tele
{
public:
int Input();//输入数据;
void Outprint(int k);//显示数据;
double Payment();//输入缴费情况,并求返回出总费用。
void fun1(int n,double sum);//统计余额、各次呼出电话金额。
并存在fun1.txt文件里。
void fun2(int n);//统计长话总金额、短话总金额。
void fun3(int n);//排序功能(按时间长短,显示各次呼出的电话号码)。
void fun4(int n);//查询呼叫某电话的次数。
void fun5(int n,int a);//增加记录、删除记录、修改记录功能。
void display(char *file);//从文本文件中读取数据、显示。
private:
Data data[1000];
int size;
};
(2)系统函数(方法)分析的结构示意图。
图4 系统函数分析的结构示意图
四、调试分析
图5 进入系统界面
图6 注册系统
图7 存入磁盘
图8 资费管理-查询余额
图9 资费管理-计费功能
图10 资费管理-资费充值(1)
图11 资费管理-资费充值(2)
图12 号码管理-添加号码
图13 号码管理-修改套餐
图14 号码管理-注销号码
图15 套餐管理-套餐计费查询
图16 套餐管理-套餐计费修改
五、使用说明
(1)功能介绍:
本系统主要针对个人的电话费而设定的,它有小巧、功能强大、实用性高的特点,适合广大用户的需求。
(2)主要菜单的分析
菜单介绍:
(1)开始是登陆界面,设置有密码。
密码是:ok
图17 登陆界面
(2)下面是本系统功能的总菜单,一共有七个功能菜单:输入的编号代表你要选择的服务。
图18 服务选择项
图19 注册选项数据导入成TXX文档保存
图20 储存
图21 资费管理
图22 账号管理
图23 套餐管理界面
六、课设总结
在本课程设计的过程中,我刚开始的时候觉得有点头痛,要运用到我们以前学过的c++语言中的内容。
通过不断地学习,我更加理
解和懂得运用结构化程序设计的思想和方法,初步掌握开发一个小型实用系统的基本方法,学会调试一个较长程序的的基本方法,学会利用流程图表示算法,进一步掌握和提高利用C++语言进行程序设计的能力。
在实习中遇到了好多的调试不出结果的问题。
通过大家的通力合作以及老师的细心讲解。
得到了好多以后可以避免错误的经验。
也得到了很多没有接触过的知识。
链表、数组、c++类对象、以及文件的调用,这些都使我获益匪浅,另外必须说的是在整个上机实习过程中老师们都表现的很负责,很有耐心的帮助我们解决问题。
通过此次课程设计,我们还明白了一些做人的道理。
不论是什么,做出来的成果永远使最值得骄傲的。
想象重要,动手更重要。
参考文献
谭浩强:《C++程序设计》清华大学出版社。