专业课程设计II报告 短信发送平台.docx
- 文档编号:413680
- 上传时间:2022-10-09
- 格式:DOCX
- 页数:17
- 大小:330.90KB
专业课程设计II报告 短信发送平台.docx
《专业课程设计II报告 短信发送平台.docx》由会员分享,可在线阅读,更多相关《专业课程设计II报告 短信发送平台.docx(17页珍藏版)》请在冰豆网上搜索。
专业课程设计II报告短信发送平台
专业课程设计(II)报告
(2012/2013学年第一学期)
题目:
短信发送平台
专业计算机科学与技术
学生姓名
班级学号
指导教师徐佳
指导单位计算机科学与技术系
日期2012.11.14-2012.11.23
指导教师成绩评定表
学生姓名
班级学号
专业
评分内容
评分标准
优秀
良好
中等
差
平时成绩
认真对待课程设计,遵守实验室规定,上机不迟到早退,不做和设计无关的事
设计成果
设计的科学、合理性
功能丰富、符合题目要求
界面友好、外观漂亮、大方
程序功能执行的正确性
程序算法执行的效能
设计报告
设计报告正确合理、反映系统设计流程
文档内容详实程度
文档格式规范、排版美观
验收答辩
简练、准确阐述设计内容,能准确有条理回答各种问题,系统演示顺利。
评分等级
指导教师
简短评语
指导教师签名
日期
2012.11
备注
评分等级有五种:
优秀、良好、中等、及格、不及格
目录
一、题目要求,需求分析,使用说明3
基本功能:
3
使用说明:
3
二、设计思路分析4
1.短信发送模块:
4
2.登陆,权限模块:
4
3.数据库模块:
4
三、概要设计4
1.短信发送类:
4
2.MFCAPP类和DLG类5
4.数据解密5
5.登陆匹配6
6.根据权限发送(响应发送按钮)8
四、详细设计11
1、数据库模块(使用Access):
11
2.短信发送接口14
3、锁机制14
五、测试数据及其结果分析15
1、密码校验15
2、各用户权限15
3、发送实验17
六、调试过程中的问题18
问题一:
18
问题二:
19
七、专业课程设计总结20
短信发送平台
一、题目要求,需求分析,使用说明
基本功能:
1、输入任意手机号码,实现短信发送功能;
2、对手机号码进行分组管理
3、支持定时发送,群组管理;
4、根据用户等级支持不同权限发送功能,界面友好
使用说明:
1、在CSms1086Dlg的构造函数中修改username和password的初始值为可用账号和密码
2、在CSms1086Dlg的响应函数OnButton3()中修改账号和密码,权限等
二、设计思路分析
1.短信发送模块:
调用网站上提供的接口,注册使用,可以进行发送短信
2.登陆,权限模块:
根据登陆账号判断权限,根据权限判断是否可以发送,群发等
3.数据库模块:
调用ADO,连接Access数据库
三、概要设计
文字处理软件:
WPS、MicrosoftOffiecWord2007
绘图工具:
MicrosoftOfficeVisio2003
1.短信发送类:
classCHttpUrl
{
public:
CHttpUrl();
virtual~CHttpUrl();
CStringSendSms(CStringUserName,CStringPassWord,CStringMObiles,CStringContent);//发送短信的函数
public:
CStringHttpRequest(CStringurl);
CURLEncodeUrlEncode;
CURLDecodeUrlDecode;
CStringPassWord;
CStringUserName;
CStringBaseUrl;
};
2.MFCAPP类和DLG类
自带,略;
3.数据加密
classCURLEncode
{
private:
staticCStringcsUnsafeString;
CStringdecToHex(charnum,intradix);
boolisUnsafe(charcompareChar);
CStringconvert(charval);
public:
CURLEncode(){};
virtual~CURLEncode(){};
CStringURLEncode(CStringvData);
};
4.数据解密
classCURLDecode
{
public:
CStringURLDecode(CStringrdata);
CURLDecode();
virtual~CURLDecode();
charStrToBin(char*str);
charCharToInt(charch);
};
5.登陆匹配
判断账号,更新前端程序显示。
UpdateData();
if(m_username=="pigzhangC"&&m_password=="123456")
{
MessageBox("登陆成功!
");
m_activeuser="张松";
m_level="钻石会员";
m_send="可以";
m_allsend="可以";
}
elseif(m_username=="pigzhangB"&&m_password=="123456")
{
MessageBox("登陆成功!
");
m_activeuser="张松";
m_level="白金会员";
m_send="可以";
m_allsend="不可以";
}
elseif(m_username=="pigzhangA"&&m_password=="123456")
{
MessageBox("登陆成功!
");
m_activeuser="张松";
m_level="普通会员";
m_send="不可以";
m_allsend="不可以";
}
else
{
MessageBox("用户密码名错误!
");
m_password="";
}
UpdateData(FALSE);
6.根据权限发送(响应发送按钮)
voidCSms1086Dlg:
:
OnButton1()
{
CHttpUrlHttpUrl;
CStringmobiles;
CStringcontent;
GetDlgItem(IDC_EDIT3)->GetWindowText(m_number);
GetDlgItem(IDC_EDIT4)->GetWindowText(content);
intcount=0;
if(m_send=="可以")
{
if(m_allsend=="可以")
{
while
(1)
{
mobiles=m_number.Mid(0+count,11+count);
CStringRt=HttpUrl.SendSms(username,password,mobiles,content);
AfxMessageBox(Rt,0,0);
count+=11;
if(m_number.GetLength()>=(11+count+1)&&m_number[count]==',')
{
count++;
continue;
}
else
break;
}
}
else
{
mobiles=m_number.Mid(0,11);
CStringRt=HttpUrl.SendSms(username,password,mobiles,content);
AfxMessageBox(Rt,0,0);
}
}
else
{
MessageBox("没有权限发送短信");
}
四、详细设计
1、数据库模块(使用Access):
第一步:
数据库操作准备
1)导入ADO动态链接库。
。
在stdafx.h中。
在工程的stdafx.h中加入如下语句:
#import"c:
\programfiles\commonfiles\system\ado\msado15.dll"no_namespacerename("EOF","adoEOF")
这一句有何作用呢?
其最终作用同我们熟悉的#include类似,编译的时候系统会我们声称msado15.tlh和msado15.tl两个C++头文件来定义ADO库。
即加载ADO动态连接库。
其中no_namespace表明不使用命名空间,rename("EOF","adoEOF")表明把ADO中用到的EOF改为adoEOF,防止命名冲突。
注意:
改代码需要在一行中完成,如果写成两行或者多行,末行要加上"\"符号,表示把这几行看成一行。
2)初始化OLE/COM环境,在应用类(app)的lnitlnstance成员函数中。
方法:
在应用类的lnitlnstance成员函数中,添加AfxOlenit函数(在退出应用时,该函数也将负责COM资源的释放)
BOOLCSms1086App:
:
InitInstance()
{
AfxEnableControlContainer();//添加的初始化OLE/COM环境代码
if(!
AfxOleInit()){
AfxMessageBox("初始化OLEDLL失败!
");
returnFALSE;
}
第二步:
连接数据库
1)先在APP头文件中声明一个connection指针。
方法为:
双击APP类----即进入头文件,,在头文件中声明成员变量。
或者右键鼠标---添加成员变量。
。
如下
classCSms1086App:
publicCWinApp
{
public:
_ConnectionPtrm_pcon2;
CSms1086App();
_ConnectionPtrm_pcon;//声明一个连接指针
2)在lnitlnstance中创建Connection对象(实例化)
打开lnitlnstance函数
BOOLCSms1086App:
:
InitInstance()
{
AfxEnableControlContainer();//第一步时自己写的用于初始化OLE/COM的代码
m_pcon.CreateInstance(_uuidof(Connection));//创建Connection对象---自己写的
3)设置连接字符串,,以便制定需要的连接
BOOLCSms1086App:
:
InitInstance()
{
AfxEnableControlContainer();//初始化OLE/COM
m_pcon.CreateInstance(_uuidof(Connection));//创建Connection对象
try//负责抛出
{
CStringSQL="Provider=Microsoft.ACE.O
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 专业课程设计II报告 短信发送平台 专业课程 设计 II 报告 短信 发送 平台