您好,欢迎来到爱站旅游。
搜索
您的当前位置:首页C++课程设计模拟电信计费

C++课程设计模拟电信计费

来源:爱站旅游


设计题目:

课 程 设 计

C++程序设计课程设计 模拟电信计费

课程设计任务书

课程设计题目: 模拟电信计费

一、课程设计的原始资料及依据

查阅有关资料,进一步理解面向对象程序设计的思想,并编写一个简单的管理系统。通过本设计可以加深理解使用面向对象程序设计思想开发一个系统的方法,提高分析问题、解决问题和实际动手的能力。

二、课程设计主要内容及要求

设计内容:假设电信计费标准:固定电话长途话费0.02元/秒,固定电话本地话费0.06元/分,无线电话长途话费1.00元/分,无线电话本地话费0.60元/分,无线电话接听话费0.50元/分。在源数据文件中存放:电话号码,电信服务类别,通话时间(秒)。根据源数据文件生成如下列表:

固定长途电话:长途电话号码和通话时间。 固定本地电话:本地电话号码和通话时间。 无线长途电话:长途电话号码和通话时间。 无线本地电话:本地电话号码和通话时间。 无线接听电话:接听电话号码和通话时间。 统计电信费用:电话号码、累计电信费用。

(根据自己的任务填写内容) 设计要求:

(1) 要求在设计的过程中建立清晰的类层次,并画出类图; (2) 设计功能满足要求、易于操作的友好界面;

(3) 在系统的设计中,至少要用到面向对象的一种机制:继承、多态等; (4) 在完成该题目时,小组人员进行详细的任务分工,并要在报告中体现出来。

三、对课程设计说明书撰写内容、格式、字数的要求

1.课程设计说明书是体现和总结课程设计成果的载体,主要内容包括:设计题目、设计目的、设备器材、设计原理及内容、设计步骤、遇到的问题及解决方法、设计总结、参考文献等。一般不应少于3000字。

2.在适当位置配合相应的实验原理图、功能模块图、算法流程图等图表进行说明。应做到文理通顺,内容正确完整,书写工整,装订整齐。

3.设计总结部分主要写本人完成工作简介以及自己的设计体会,包括通过课程设计学到了什么,哪里遇到了困难,解决的办法以及今后的目标。

4.课程设计说明书手写或打印均可。手写要用学校统一的课程设计用纸,用黑或蓝黑墨水工整书写;打印时采用A4纸,页边距均为20mm,正文采用宋体小四号字,行间距18磅。文中大标题采用黑体小三号字,一级节标题采用黑体四号字,二级节标题采用黑体小四号字,表题与图题采用宋体五号字。

5.课程设计说明书装订顺序为:封面、任务书、成绩评定表、目录、正文、参考文献。

四、设计完成后应提交成果的种类、数量、质量等方面的要求

1.完成“任务书”中指定的功能,运行结果正确。 2.课程设计说明书。

五、时间进度安排

序 号 1 2 3 4

主 要 内 容 进行设计准备,阅读资料,分析设计任务书,明确设计要求、内容和步骤 编写相应的程序代码 程序调试 整理程序,撰写课程设计报告 合 计 学 时 1天 2天 1天 1天 5天 备 注 六、主要参考资料(文献)

[1]郑莉 董渊 张瑞丰 编着. 《C++语言程序设计》(第4版). 北京:清华大学出版社.2010

[2] 陈维兴, 林小茶.《C++高级程序设计教程》. 北京:清华大学出版社 [3] 谭浩强.《C++程序设计教程》. 北京:中国科学技术出版社 [4] 王燕.《面向对象的理论与C++实践》. 北京:清华大学出版社

[5] 马石安, 魏文平. 主编《Visual C++程序设计与应用教程》. 北京:清华大学出版社

[6] 王育坚. 主编《Visual C++面向对象编程教程》(第二版). 北京:清华大学出版

摘 要

现代科学技术的飞速发展,改变了世界,也改变了人类的生活。作为新世纪的大学生,应当站在展的前列,掌握现代科学知识,调整自己的知识结构和能力结构,以适应社会发展要求。新需要具有丰富的现代科学知识,能够独立解决面临的任务,充满活力同,有创新意识的新型人才。

C++语言是在国内外广泛使用的一种计算机语言。C++语言功能丰富、表达能力强、使用灵活方便、应用面广、目标程序效率高、可移植性好,既具有高级语言的优点,又具有低级语言的许多特点,因此特别适合于编写系统软件。

C++程序设计是一门实践很强的课程,既要掌握概念,又要动手编程,还要上机调试。 模拟电信计费系统就是通过我们组员每一个人的努力的成果,我们用到在课堂上所学到的知识以及课下参考其它资料而编写的程序。本次课程设计可以实现模拟电信计费的功能。操作简便而实用。

模拟电信计费系统可以现实对手机话费的操作,例如,对本机话费每一条通话记录话费查询、话费清单显示等相关功能,可以对本机话费做一个简单管理。

此次C++语言课程设计是对我们所掌握C++语言知识的一次检测。我们组做的是模拟电信计费系统,操作简单,使我们对C++语言知识有了质的飞跃,提高了我们的编程技术,增加了我们对计算机的兴趣,程序成功的运行,给予了我们莫大的信心,通过对程序的完善更让我们受益匪浅,锻炼了我们的实践能力,给我对进入社会提供了莫大的动力。

关键词 类 对象 继承 文件

I

沈阳工程学院课程设计报告 目录

目 录

摘 要 ................................................................................................................................................... I 第1章 绪 论 .................................................................................................................................. 1 1.1题目背景 .................................................................................................................................... 1 1.2概要设计 .................................................................................................................................... 1 1.3解决问题 .................................................................................................................................... 1 第2章 C++语言的运行环境 ............................................................................................................ 2 2.1 C++语言的运行环境 ................................................................................................................. 2 2.2 C++语言的特点 ......................................................................................................................... 2 2.3 C++语言的运行步骤 ................................................................................................................. 2 第3章系统分析与详细设计 .............................................................................................................. 5 3.1程序结构基础 ............................................................................................................................ 5 3.2 功能设计 ................................................................................................................................... 5 第4章 系统实现 .............................................................................................................................. 25 4.1程序运行的登录界面 .............................................................................................................. 25 4.2程序运行的主菜单及功能界面 .............................................................................................. 26 结 论 ................................................................................................................................................ 27 致 谢 ................................................................................................................................................ 28 参考文献 ............................................................................................................................................ 29

II

沈阳工程学院课程设计报告 第1章 绪论

第1章 绪 论

1.1题目背景

随着计算机技术的飞速发展,改变了世界,也改变了人类的生活。作为现代科学技术的飞速发展,改变了世界,也改变了人类的生活。新世纪的大学生,应当站在时代发展的前列,掌握现代科学技术知识,调整自己的知识结构和能力结构,以适应社会发展的要求。

C++语言成了在国内外使用的一种计算机语言。C++语言功能丰富、表达能力强、使用灵活方便、应用面广、目标程序效率高、可移植性好、既具有高级语言的优点,又具有低级语言的许多特点,因此特别适合于编写系统软件。

1.2概要设计

根据题目要求,设计模拟电信计费系统,实现课题中的要求。可以进行每一条通话记录的查询,并且可以显示话费清单。

1.3解决问题

本程序由4个类为基础结构,分别是fixed_phone类,telephone类,phone类,log_in类, phone类是由fixed_phone类和telephone类派生而来的,fixed_phone类主要用来实现固定电话的话费功能,telephone类主要用来实现无限电话的话费功能,phone类通过本身成员函数来实现总体功能,log_in类主要实现系统的登录,主菜单,帐号信息,退出等功能。

1

沈阳工程学院课程设计报告 第2章 C++语言的运行环境

第2章 C++语言的运行环境

2.1 C++语言的运行环境

C++语言的运行环境有很多,是Microsoft 公司推出的可视化开发环境,即Microsoft Visual C++6.0。也就是我们小组运用的开发环境。

C语言在VC++6.0环境下运行如图2-1所示。

图2-1 C语言运行界面

2.2 C++语言的特点

C++语言是一种优秀的面向对象程序设计语言,它在C语言的基础上发展而来,但它比C语言更容易为人们学习和掌握。C++以其独特的语言机制在计算机科学的各个领域中得到了广泛的应用。面向对象的设计思想是在原来结构化程序设计方法基础上的一个质的飞跃,C++完美地体现了面向对象的各种特性。

2.3 C++语言的运行步骤

1.运行VC6.0

现在就让我们开始Visual C++ 6.0之旅吧!首先按如下两种方法之一启动并运行VC6,进入到它的集成开发环境窗口(假设在Windows系统下已经安装了VC6)其具体窗口式样如图2-1所示。

方法一:

若桌面上有VC6图标(“横躺着”即“倒下”的“8”字型图标,且标有Microsoft Visual Studio 6.0字样,如图2-2所示),则用鼠标双击该图标。

2

沈阳工程学院课程设计报告 第2章 C++语言的运行环境

图2-2 VC6.0在桌面上的快捷方式

方法二(假设按照通常方式对VC6进行了安装的话)

通过开始→程序→Microsoft Visual Studio 6.0→Microsoft Visual C++ 6.0,单击一下该菜单项。

图2-1式样的窗口从大体上可分为四部分。上部:菜单和工具条;中左:工作区(workspace)视图显示窗口,这里将显示处理过程中与项目相关的各种文件种类等信息;中右:文档内容区,是显示和编辑程序文件的操作区;下部:输出(Output)窗口区,程序调试过程中,进行编译、链接、运行时输出的相关信息将在此处显示。注意,由于系统的初始设置或者环境的某些不同,可能你所启动的VC6初始窗口式样与图2-1有所不同,也许没出现Workspace窗口或Output窗口,这时可通过View→Workspace菜单选项的执行,总可使中左处的工作区窗口显现出来;而通过View→Output菜单选项的执行,又总可使下部的输出区窗口得以显现。当然,如果不想看到这两个窗口,可以点击相应窗口的“x”按键来关闭窗口。如图2-3所示。

图2-3 VC6.0的集成开发环境窗口

2. 编制并运行C++语言程序的四步曲

⑴编辑(把程序代码输入,交给计算机)。 ⑵编译(成目标程序文件.obj)。

编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的。编译程序把一个源程序翻译成目标程序的工作过程分为五

3

沈阳工程学院课程设计报告 第2章 C++语言的运行环境

个阶段:词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成。主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法错误,给出提示信息。

⑶链接(成可执行程序文件.exe)。

链接是将编译产生的.obj文件和系统库连接装配成一个可以执行的程序。由于在实际操作中可以直接点击Build从源程序产生可执行程序,可能有人就会置疑:为何要将源程序翻译成可执行文件的过程分为编译和链接两个独立的步骤,不是多此一举吗?之所以这样做,主要是因为:在一个较大的复杂项目中,有很多人共同完成一个项目(每个人可能承担其中一部分模块),其中有的模块可能是用汇编语言写的,有的模块可能是用VC写的,有的模块可能是用VB写的,有的模块可能是购买(不是源程序模块而是目标代码)或已有的标准库模块,因此,各类源程序都需要先编译成目标程序文件(2进制机器指令代码),再通过链接程序将这些目标程序文件连接装配成可执行文件。

⑷运行(可执行程序文件)。

上述四个步骤中,其中第一步的编辑工作是最繁杂而又必须细致地由人工在计算机上来完成,其余几个步骤则相对简单,基本上由计算机来自动完成。在VC6.0下编译后的窗口界面如图2-4所示。

图2-4 在VC6.0下编译后的窗口界面

4

沈阳工程学院课程设计报告 第3章 系统分析与详细设计

第3章系统分析与详细设计

3.1程序结构基础

本程序主要完成的是模拟电信计费的功能,整个程序由4个类结构为基础。类UML图如图3-1所示。

fixed_phonetelephone+number : string+number : string+time : int+time : int+type : int+type : int+fee : float+fee : float+fixed_phone()+telephone()+virtual ~fixed_phone()+virtual ~telephone()+get_fee(in t : int) : float+get_fee(in t : int) : float+show_detail(in t : int) : void+show_detail(in t : int) : voidphone+phone()+virtual ~phone()+find() : void+read_show_all() : void图3-1 类UML图

3.2 功能设计

3.2.1 log_in类的设计

1.load()成员函数 void log_in::load()

{

int i,count=0;

char str[50],str1[50]; time_t t1,*t=&t1; printf(\"\\n\\n\\n\\n\\n\\n\");

printf(\"\* printf(\"\* printf(\"\* printf(\"\*

5

log_in-account : string-code : string+log_in()+virtual ~log_in()+log() : void+account_code() : void+load() : void+codeNum() : void+logshow() : void+menu() : void+quit() : void

*\\n\"); *\\n\"); *\\n\"); *\\n\");

沈阳工程学院课程设计报告 第3章 系统分析与详细设计

printf(\"\* * * * * * * * * * * * * *\\n\"); printf(\"\* * * * * * *\\n\"); printf(\"\* * * * * * *\\n\"); printf(\"\* * * * * * *\\n\"); printf(\"\* * * * * * * *\\n\"); printf(\"\* * * * * * * * * * * * * * * * * *\\"); 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所示。 2. account_code()成员函数 void log_in ::account_code() {

int b;

cout<<\"**********1注册新账号***********\\n\"; cout<<\"**********2修改密码***********\\n\"; cout<<\"请再此输入选择代号:\\n\";

cin>>b; if(b==1) {

string temp1; string temp2;

ofstream outfile ; // 建立输出文件流对象

outfile.open( \"code.txt\" , ios::out ); // 连接文件,指定打开方式 cout<<\"请输入账号:\"<>account;

6

沈阳工程学院课程设计报告 第3章 系统分析与详细设计

cout<<\"请输入密码:\"<>temp1;

cout<<\"请再次输入密码:\"<>temp2;

if(temp1==temp2) code=temp1;

outfile <cout<<\"注册成功!\\n\"; system(\"pause\");

menu(); } else {

fstream rwfile ( \"code.txt\" , ios::in | ios::out ) ; string temp1; string temp2; string temp3; string temp4; string temp5;

string temp6;

rwfile>>temp1>>temp2;

cout<<\"请输入您的账号:\"<>temp3;

cout<<\"请输入原密码:\"<>temp4;

if((temp1==temp3)&&(temp2==temp4)) {

loop:cout<<\"请输入新密码:\"<>temp5;

cout<<\"请再次输入新密码:\"<>temp6;

if(temp5==temp6) { account=temp1; code=temp5; } else goto loop;

7

沈阳工程学院课程设计报告 第3章 系统分析与详细设计

rwfile <rwfile <设计流程如图3-3所示。

3. log()成员函数 void log_in ::log() {

int b;

cout<<\"**********1注册账号或修改密码***********\\n\"; cout<<\"**********2登陆系统***********\\n\"; cout<<\"请再此输入选择代号:\\n\"; cin>>b; if(b==1)

account_code(); else

load(); }

设计流程如图3-4所示。

8

沈阳工程学院课程设计报告 第3章 系统分析与详细设计

开始int i,count=0char str[50],str1[50]time_t t1,*t=&t11t1=time(NULL)strcpy(str,ctime(t))count==6breakstrcmp(str,str1)!=0strcpy(str1,str)printf(\" >\")count++breaksystem(\"cls\")logshow()结束

图3-2 load()成员函数流程图

9

沈阳工程学院课程设计报告 第3章 系统分析与详细设计

开始int b输出提示语输入b的值b==1Ystring temp1,temp2Nfstream rwfile ( \"code.txt\" , ios::in | ios::out )输出提示语ofstream outfile ( \"code.txt\" , ios::out )输入accountrwfile>>temp1>>temp2输入temp3输入temp1temp4输入temp2(temp1==temp3)&&(temp2==temp4)temp1==temp2code=temp1outfile <图3-3 account_code()成员函数

10

沈阳工程学院课程设计报告 第3章 系统分析与详细设计

开始int b输出提示语输入bb==1Yaccount_code()Nload()结束 图3-4 log()成员函数

4. codeNum()成员函数 void log_in ::codeNum() {

char a[37]=\"abcdefghijklmnopqrstuvwxyz0123456789\";//定义一个包含26个小写字母的字符串

int i,j;

char output[5]=\"\";

char code[5]=\"\";

srand((int)time(0));//初始化随机数发生器 printf(\"\\n\\n \验证码: \"); for(i=0;i<4;i++) {

j= rand()%36;//取得0~25的随机数 printf(\"%c \ output[i]=a[j]; }

a[4]='\\0';

printf(\"请输入验证码:\"); fflush(stdin);

scanf(\"%s\

if(strcmp(code,output)!=0) { printf(\"\\n\\验证码输入错误,请重新输入!\\n\\n\"); system(\"pause\"); codeNum(); }

11

沈阳工程学院课程设计报告 第3章 系统分析与详细设计

}

设计流程如图3-5所示。

开始char a[37]=\"abcdefghijklmnopqrstuvwxyz0123456789\"int i=0 , jchar output[5]=\"\"char code[5]=\"\"srand((int)time(0))初始化随机数发生器i<4j= rand()%36printf(\"%c \output[i]=a[j]i++a[4]='\\0'fflush(stdin)输入codestrcmp(code,output)!=0system(\"pause\")codeNum()结束

图3-5 codeNum()成员函数

5. logshow()成员函数 void log_in ::logshow() {

ifstream infile(\"code.txt\ string temp1;

12

沈阳工程学院课程设计报告 第3章 系统分析与详细设计

string temp2;

infile>>temp1>>temp2;

loop:cout<<\"请输入您的账号:\"<>account;

cout<<\"请输入您的密码:\"<>code; codeNum();

if((temp1==account)&&(temp2==code)) {

menu(); }

else

goto loop; }

设计流程如图3-6所示。

开始ifstream infile(\"code.txt\string temp1,temp2;infile>>temp1>>temp2loop:cout<<\"请输入您的账号:\"<图3-6 logshow()成员函数

13

沈阳工程学院课程设计报告 第3章 系统分析与详细设计

6. logshow()成员函数

void log_in ::quit() {

cout<<\"确定退出系统?\"<>c;

if(c=='Y'||c=='y') {

int i;

char str[50],str1[50]; time_t t1,*t=&t1; i=5; do { t1=time(NULL); strcpy(str,ctime(t)); while(strcmp(str,str1)!=0) { strcpy(str1,str); for(;i>0;)

{ system(\"cls\"); printf(\"%d秒后退出!\

break; } } }while(1);

system(\"pause\"); exit(0);

} else {

system(\"pause\"); menu(); } }

设计流程如图3-7所示。

14

// 沈阳工程学院课程设计报告 第3章 系统分析与详细设计

开始输出提示语char c输入cc=='Y'||c=='y'int ichar str[50],str1[50]time_t t1,*t=&t1i=5system(\"pause\")menu()1t1=time(NULL)strcpy(str,ctime(t))strcmp(str,str1)!=0strcpy(str1,str)i>system(\"cls\");printf(\"%d秒后退出!\breaksystem(\"pause\")exit(0)结束

图3-7 logshow()成员函数

15

沈阳工程学院课程设计报告 第3章 系统分析与详细设计

3.2.2 fixed_phone类的设计

1. get_fee(int 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所示。

开始t==0fee=0.02*timet==1fee=(time/60+1)*0.06return fee结束

图3-7 get_fee(int t)成员函数

2. show_detail(int t) 成员函数

void fixed_phone::show_detail(int t) {

if(t==0) {

//cout<<\"您本次通话的详细信息:\"<cout<<\"电话号码:\"<}

if(t==1) {

//cout<<\"您本次通话的详细信息:\"<cout<<\"电话号码:\"<16

\"<<\" \"<<\" 固定长途电话 固定本地电话 沈阳工程学院课程设计报告 第3章 系统分析与详细设计

}

}

设计流程如图3-9所示。

开始t==0输出固定长途电话的信息t==1输出固定本地电话结束 图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; fee=(time/60+1)*0.6; fee=(time/60+1)*0.5; if(t==3) if(t==4) return fee;

设计流程如图3-10所示。 2. show_detail(int t)成员函数 void telephone::show_detail(int t) {

if(type==2) {

//cout<<\"您本次通话的详细信息:\"<cout<<\"电话号码:\"<if(type==3) {

17

沈阳工程学院课程设计报告 第3章 系统分析与详细设计

//cout<<\"您本次通话的详细信息:\"<cout<<\"电话号码:\"<}

if(type==4) {

//cout<<\"您本次通话的详细信息:\"<cout<<\"电话号码: \"<}

设计流程如图3-11所示。

开始t==2开始fee=(time/60+1)*1t==2输出无线长途电话信息t==3fee=(time/60+1)*0.6t==3t==4输出无线本地电话信息fee=(time/60+1)*0.5t==4return fee输出无线电话接听信息开始开始 图3-10 get_fee(int t)成员函数 图3-11 show_detail(int t)成员函数

3.2.4 phone类的设计

1. find()成员函数 void phone::find() {

ifstream infile (\"data.txt\ int i; int t;

18

沈阳工程学院课程设计报告 第3章 系统分析与详细设计

int num;

infile>>num;

fixed_phone * fph=new fixed_phone[num]; telephone * tlh=new telephone [num]; string temp_num;

cout<<\"请输入要查询的电话号码:\\n\"; cin>>temp_num; for(i=0;iinfile>>t; if((t=0)||(t=1))

{

fph[i].type=t;

infile>>fph[i].number>>fph[i].time; fph[i].fee=fph[i].get_fee(t); if(fph[i].number==temp_num) { cout<<\"您本次通话记录为:\\n\"; fph[i].show_detail(fph[i].type); }

} else { tlh[i].type=t; infile>>tlh[i].number>>tlh[i].time; tlh[i].fee=tlh[i].get_fee(t); if(tlh[i].number==temp_num) { cout<<\"您本次通话记录为:\\n\"; tlh[i].show_detail(tlh[i].type);

}

} } }

设计流程如图3-12所示。

19

沈阳工程学院课程设计报告 第3章 系统分析与详细设计

开始ifstream infile (\"data.txt\int i=0,t ,num;infile>>numfixed_phone * fph=new fixed_phone[num]telephone * tlh=new telephone [num]string temp_num输出提示语cin>>temp_numi>t(t=0)||(t=1)Yfph[i].type=tinfile>>fph[i].number>>fph[i].timefph[i].fee=fph[i].get_fee(t)Ntlh[i].type=tinfile>>tlh[i].number>>tlh[i].timetlh[i].fee=tlh[i].get_fee(t)fph[i].number==temp_num输出提示语fph[i].show_detail(fph[i].type)tlh[i].number==temp_num输出提示语tlh[i].show_detail(tlh[i].type)i++结束

图3-12 find()成员函数

20

沈阳工程学院课程设计报告 第3章 系统分析与详细设计

2. read_show_all()成员函数

void phone::read_show_all() {

ifstream infile (\"data.txt\ int i; int t; int num; infile>>num;

fixed_phone * fph=new fixed_phone[num]; telephone * tlh=new telephone [num]; for(i=0;iinfile>>t;

if((t==0)||(t==1)) { fph[i].type=t; infile>>fph[i].number>>fph[i].time; fph[i].fee=fph[i].get_fee(t); fph[i].show_detail(t); } else

{ tlh[i].type=t; infile>>tlh[i].number>>tlh[i].time; tlh[i].fee=tlh[i].get_fee(t); tlh[i].show_detail(t); } } }

设计流程如图3-13所示。

21

沈阳工程学院课程设计报告 第3章 系统分析与详细设计

开始ifstream infile (\"data.txt\int i=0,t ,num;infile>>numfixed_phone * fph=new fixed_phone[num]telephone * tlh=new telephone [num]string temp_num输出提示语cin>>temp_numi>t(t=0)||(t=1)Yfph[i].type=tinfile>>fph[i].number>>fph[i].timefph[i].fee=fph[i].get_fee(t)Ntlh[i].type=tinfile>>tlh[i].number>>tlh[i].timetlh[i].fee=tlh[i].get_fee(t)fph[i].show_detail(fph[i].type)tlh[i].show_detail(tlh[i].type)i++结束

图3-13 read_show_all()成员函数

3.2.5 主函数的设计

主函数 void main() {

22

沈阳工程学院课程设计报告 第3章 系统分析与详细设计

log_in loging;

loging.log(); phone phe; int choose;

loop:cout<<\"请输入功能选项:\\n\"; cin>>choose; if(choose==1) {

system(\"cls\"); loging.log(); }

else if(choose==2) {

loop2:system(\"cls\"); phe.find();

cout<<\"**********1返回主菜单***********\\n\"; cout<<\"**********2继续查询***********\\n\"; int choose_2; cin>>choose_2; if(choose_2==1) { loging.menu(); goto loop; } if(choose_2==2) goto loop2; }

else if(choose==3) { system(\"cls\");

phe.read_show_all();

cout<<\"按任意键返回主菜单\"; system(\"pause\"); loging.menu(); goto loop;} else if(choose==4) { system(\"cls\"); loging.quit(); goto loop; }}

设计流程如图3-14所示。

23

沈阳工程学院课程设计报告 第3章 系统分析与详细设计

开始log_in logingloging.log()phone pheint chooseloop:cout<<\"请输入功能选项:\\n\"cin>>choosechoose==1system(\"cls\")loging.log()choose==2loop2:system(\"cls\")phe.find()输出提示语int choose_2cin>>choose_2choose_2==1Yloging.menu()goto loopchoose==3system(\"cls\")phe.read_show_all()system(\"pause\")loging.menu()goto loopchoose==4system(\"cls\")loging.quit()goto loop结束Ngoto loop2 图3-14 主函数

24

沈阳工程学院课程设计报告 第4章 系统实现

第4章 系统实现

4.1程序运行的登录界面

1.帐号注册界面如图4-1所示。

图4-1 帐号注册界面

2.登录界面如图4-2所示。

图4-2 登录界面

25

沈阳工程学院课程设计报告 第4章 系统实现

4.2程序运行的主菜单及功能界面

1.主菜单界面如图4-3所示。

图4-3 主菜单界面

2.选项1会进入其实界面,并且要求重新登录。选项2话费查询界面如图4-4所示。

图4-4 话费查询界面

3.选项3话费清单界面如图4-5所示。

图4-5 话费清单界面

4.选项4退出界面如图4-6和4-7所示。

图4-6 退出界面 图4-7退出界面

26

沈阳工程学院课程设计报告 结 论

结 论

时间是短暂的,收获是丰厚的。经过这样一周的课程设计,把我对C++知识从新巩固了一遍,对类和继承进一步理解,特别对程序的面向对象的封装性进一步的理解和体会,为今后的程序编写奠定了一定的基础。而这次的课程设计也给了我们一次机会,一次把学习到的知识付诸实践的机会。

知识宝贵,团队精神同样可贵,我想任务分组完成就是出于这样的考虑吧,团队合作不是把任务简单分开就能实现的。每个人学习知识的侧重点不尽相同,每人解决问题的思路也不一样,几个人相互讨论,相互辩论的过程中往往会产生出人意料的好想法,也许这就叫做灵感。分歧过后达成共识,团结协作,最终才造就了一个完整的可使用的程序。

实践的过程中出现了无法解决的问题,所以我们也查阅了大量相关资料和书籍,这也是获取知识最重要的途径之一,吸取前人的经验也是解决问题的很好途径,但是绝不能照抄代码,先继承后发展才能算是我的收获的。

“书到用时方恨少!”应用时的捉襟见肘才让我认识到了自己高级语言基础上的不足,每一门专业基础课都是我们手中不可替代的武器,只有把他们有机联系起来才有可能实现一个完整的功能,本次课程设计是我体会到只有付出才会有收获,只有平日认真学习关键时刻才会不捉襟见肘,只有团结一致才会成功,只有互助才会顺利

课程设计要亲手做过,不管它是否有结果。你要学的是知识,是解决问题的方法和思想,要端正学习态度,一时的成败不足以论英雄,每一次突破都是一种收获,就是在这样的过程中我们才能不断提高。在从开始接到课程设计,再到报告的完成,每走一步都渗透着努力和汗水。在收获知识的同时收获快乐。

随着时间的流失我会用今天所学到的用到今后的学习中,我会为了今后编写出更好的程序而努力学习,时刻记住只有付出才会有收获。

27

沈阳工程学院课程设计报告 致 谢

致 谢

尊敬的老师您好!

两周的课程设计匆匆结束,在这段时间内,我们不仅学会了如何设计程序、对错误程序进行调试、如何运用创新能力,更重要的是我们认识到了自己的不足。

在修改程序的过程中,我们遇到许多在书本学习中不曾遇到过的问题,是张老师和代老师一次次以渊博的学识、严谨求实的科学精神和一丝不苟的治学态度帮助我们解决问题。课设让我们得到的远远超过了书本。

在系统完善过程中,我们遇到了许多的技术问题,但经过老师的细心指导及查阅大量的资料,最终问题得到了解决。同时,同学也给了我们许多有益的启示、促动和帮助,帮助我们能够顺利的完成此次课设。

在设计接近尾声时,两位老师不辞劳苦的帮助,才能帮助我们能够圆满的完成这次课程设计。没有老师的细心指导,就没有我们的设计成果。老师程序设计方面有很多的实践经验,使得我们在设计时遇到的困难都能够迎刃而解。也让我们在设计的过程中少走了许多的弯路。在此我们由衷的向老师表示感谢和敬意。

最后我们要再次感谢对我们有深远影响的张老师。祝您们今后事业一帆风顺,身体康健。

28

沈阳工程学院课程设计 参考文献

参考文献

[1]郑莉 董渊 张瑞丰 编着. 《C++语言程序设计》(第4版). 北京:清华大学出版社.2010

[2] 陈维兴, 林小茶.《C++高级程序设计教程》. 北京:清华大学出版社 [3] 谭浩强.《C++程序设计教程》. 北京:中国科学技术出版社 [4] 王燕.《面向对象的理论与C++实践》. 北京:清华大学出版社

[5] 马石安, 魏文平. 主编《Visual C++程序设计与应用教程》. 北京:清华大学出版社

[6] 王育坚. 主编《Visual C++面向对象编程教程》(第二版).

29

北京:清华大学出版

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- azee.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务