您的位置:首页 > 理论基础 > 数据结构算法

数据结构课程设计代码

2015-01-11 19:04 281 查看




《数据结构课程设计》

课程题目
管理咨询电话系统
课程编号
j1620102
学生姓名
黄灿权
学生学号
201311671209
所在专业
信息管理与信息系统
所在班级
信管1132班
任课老师
易学明
实习时间
2015年1月11日
设计成绩
老师评语
一. 问题描述
二. 问题分析
三. 算法设计
四. 时间复杂度和空间复杂度分析
五. 源代码
六. 程序运行结果
七. 心得
参考文献:
1、温秀梅 丁学钧 主编 c++面向对象程序设计与实验 第二版 清华大学出版社 2009.04
2、温秀梅 丁学钧 高丽婷 编著 程序设计教程与实验学习指导与习题解答 第二版 清华大学出版 2010.6

问题描述:
赵斌是一个信管专业的学生,大学四年顺利毕业了。在毕业季,他也像其他学子一样,投身于求职大军,投出一份又一份求职简历,在苦苦地等待之后,他接到了中国移动通信公司广东分司的面试通知书,通知他于本月1号10点到公司面试。当天,晴空万里,艳阳高照,他身着西装,高兴地早早来到公司楼下等待。10点钟整,他和其他新人一起,坐到公司的面试现场。他领取的一一份程序设计题: 假如你是我公司一名客服技术人员,现请你选择自己熟悉的语言,来设计一个程序,管理客户向公司打进来的咨询电话。请事行分析析使用方法和工具,说明自己的思路方法,写一份完整的程序,并实例测试。

问题分析:
在这个问题上,管理用户的咨询电话,作为中国移动客服,要规划好用户的需求,而且要能够完整地快速地回答到,所以要设计好这个程序。

算法设计:
1、业务查询:提供话费、流量、M值、归属地等查询。
2、集体服务:提供短号集群网、校讯通、企讯通、企业专线等。
3、手机充值:充值的金额。
4、提供热点优惠与业务办理:流量套餐、4G业务、家庭业务、更多业务等。
5、修改用户密码:忘记密码和修改密码。
6、提供查询话费流量智能通道:语音查询与短信接收。
7、人工服务:与客服对话。
0、退出:完成程序后结束。

时间和空间复杂度:
这个程序的设计是比较简单的,主要是方便用户的需求而设计,所以时间复杂度为O(1),空间复杂度也为O(1)。

源代码:

#include<iostream>

#include<string>

#include<iomanip>

using namespace std;

#define M 100

struct info //用户信息结构体定义

{

int hf; //话费

char ll[10]; //流量

char Mz[12]; //M值

int gsd; //归属地

};

struct info staff[M]; //定义一个全局数组staff,用来存放用户信息,最多存放100个用户。

int n=0; //存放实际咨询的用户人数

void show() ; //业务查询函数声明

void provide1(); //集体服务函数声明

void provide2(); //提供热点优惠与业务办理函数声明

void provide3(); //手机充值函数声明

void change(); // 修改用户电话密码函数声明

void provide4(); //提供查询话费流量智能通道函数声明

void provide5(); //人工服务函数声明

int main()

{

int select;

while(1)

{

system("cls");

cout<<"\t ******************欢迎使用******************\n";

cout<<"\t **************电话用户咨询管理系统**************\n";

cout<<"\t *------------------------------------------*\n";

cout<<"\t * 1——业务查询 *\n";

cout<<"\t * 2——集体服务 *\n";

cout<<"\t * 3——手机充值 *\n";

cout<<"\t * 4——提供热点优惠与业务办理 *\n";

cout<<"\t * 5——修改用户电话密码 *\n";

cout<<"\t * 6——提供查询话费流量智能通道 *\n";

cout<<"\t * 7——人工服务 *\n";

cout<<"\t * 0——退出 *\n";

cout<<"\t *------------------------------------------*\n";

cout<<"\t 你要输入的编号是(0--7):";

cin>>select;

if(select==0) break;

switch(select){

case 1:

show(); //调用show函数业务查询

system("pause");

break;

case 2:

provide1(); //调用provide1函数提供集体业务

system("pause");

break;

case 3:

provide2(); //调用provide2函数热点优惠业务

system("pause");

break;

case 4:

provide3(); //调用provide3函数提供手机充值业务

system("pause");

break;

case 5:

change(); //调用change函数修改用户信息

system("pause");

break;

case 6:

provide4(); // 调用provide4函数查询用户信息

system("pause");

break;

case 7:

provide5(); //调用provide5函数提供人工服务

system("pause");

break;

default:

cout<<"没有此选项,请重新选择!"<<endl;

}

}

return 0;

}

void show() //显示所有用户信息函数

{

cout<<left; //设置输出左对齐

cout<<setw(10)<<"话费"<<setw(10)<<"流量"<<setw(13)<<"M值"<<setw(20)<<"归属地"<<endl;

for(int i=1;i<=n;i++)

{

cout<<setw(10)<<staff[i].hf<<setw(10)<<staff[i].ll<<setw(13)<<staff[i].Mz<<setw(20)<<setw(12)<<staff[i].gsd<<endl;

}

cout<<endl;

}

void provide1() //提供业务

{

cout<<left; //设置输出左对齐

cout<<setw(10)<<"短号集群网"<<setw(10)<<"校讯通"<<setw(13)<<"企讯通"<<setw(20)<<"企业专线"<<endl;

for(int i=1;i<=n;i++)

{

cout<<setw(10)<<staff[i].hf<<setw(10)<<staff[i].ll<<setw(13)<<staff[i].Mz<<setw(20)<<setw(12)<<staff[i].gsd<<endl;

}

cout<<endl;

}

void provide2() //提供热点优惠

{

cout<<left; //设置输出左对齐

cout<<setw(10)<<"流量套餐"<<setw(10)<<"4G业务"<<setw(13)<<"家庭业务"<<endl;

for(int i=1;i<=n;i++)

{

cout<<setw(10)<<staff[i].hf<<setw(10)<<staff[i].ll<<setw(13)<<staff[i].Mz<<setw(20)<<endl;

}

cout<<endl;

}

void provide3() //提供充值

{

cout<<left; //设置输出左对齐

cout<<setw(10)<<"充值金额"<<endl;

for(int i=1;i<=n;i++)

{

cout<<setw(10)<<staff[i].hf<<endl;

}

cout<<endl;

}

void change() //修改用户信息

{

cout<<left; //设置输出左对齐

cout<<setw(10)<<"密码"<<endl;

for(int i=1;i<=n;i++)

{

cout<<setw(10)<<staff[i].hf<<endl;

}

cout<<endl;

}

void provide4() //智能通道

{

cout<<left; //设置输出左对齐

cout<<setw(10)<<"语音查询"<<setw(10)<<"短信发送"<<endl;

for(int i=1;i<=n;i++)

{

cout<<setw(10)<<staff[i].hf<<setw(10)<<staff[i].ll<<endl;

}

cout<<endl;

}

void provide5() //提供人工服务

{

cout<<left; //设置输出左对齐

cout<<setw(10)<<"对话"<<endl;

for(int i=1;i<=n;i++)

{

cout<<setw(10)<<staff[i].hf<<endl;

}

cout<<endl;

}

心得体会:

由于本人学习得不好,所以做的程序都是比较简单的。在调试程序的时候看到没有错误是比较开心的,即使这是一个简单的代码。这个管理电话咨询用的是visual C++版,没有做到用数据结构的队列解决,这是一个缺陷。同时我不用数据结构的队列原因是,如果用了,就不会怎样设计用户的需求程序了。所以用visual C++,希望老师体谅一下,以后自己要多多改进,努力学习编程知识,充实自己,为以后工作做好准备。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: