数据结构课程设计代码
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++,希望老师体谅一下,以后自己要多多改进,努力学习编程知识,充实自己,为以后工作做好准备。
相关文章推荐
- 数据结构课程设计(医院选址)代码
- 数据结构课程设计代码--电子投票系统
- [Java]数据结构课程设计:迷宫老鼠2.0(完整项目代码与设计报告)
- 数据结构课程设计代码-家谱管理系统
- 数据结构课程设计【附上代码】
- 浅说代码风格 - 数据结构课程设计
- 浅说代码风格 - 数据结构课程设计
- 数据结构课程设计代码
- 数据结构课程设计---最长公共子串
- 数据结构课程设计
- 数据结构课程设计
- 数据结构课程设计-----用C#实现双向链表
- 数据结构课程设计---教学任务安排系统
- 数据结构课程设计----基数排序
- 数据结构课程设计题目
- 数据结构课程设计---学生信息管理系统
- 数据结构课程设计一元多项式的相加和相乘
- 校园导航-_数据结构课程设计
- 数据结构课程设计:括号匹配问题(实现检验匹配并输出不匹配的位置)
- 数据结构课程设计:停车场