本系统项目源代码:/ahongl/StudentManage
1.设计问卷调查表内容:
必填:身份(自己设计分类,例如:学生/体力劳动者/脑力劳动者)
年龄
性别
选填:自行设计单项选择题、填空题
例如:可接受的价格范围(自己设计,可以上限/下限,或某个值+上下浮动)
屏幕大小/整机大小
重量
颜色(也可以选择忽略,即不介意)
待机时间
拍照质量
音响效果
对以上各项指标重要程度的排序
……
2.有50人填写了问卷,某些问题必答、某些问题允许不答
3.自行设计数据输入方法(例如读.txt或.xls文件)
1、利用云服务器基于PHP语言设计网页版调查报告和MySQL数据库;2、邀请好友进行问卷的填写,收集数据,数据实时写入数据库中;3、运用C++语言连接MySQL数据库,读取数据;4、将数据读入对象数组中,通过冒泡排序对数据进行排序,以便于对数据进行分类和排序。
为方便测试,把主要功能模块做成单独的函数,在运行主函数时按测试目的调用功能模块。这些单独的函数有:连接MySQL数据:void mysqlconnet();读取MySQL数据库并存入对象数组中:void read();冒泡排序算法,用于将结果进行分类:void sort(ybybx, int n, int k);寻找选项中概率最大的项:int seeknum(inta);二维数组初始化:void initResult(int a[9][8]);统计全部结果的数据量:void count(ybybx, int k);统计男生结果的数据量:void count2(yb *ybx, int k);统计女生结果的数据量:void count3(yb *ybx, int k);计算每个选项的比例:void rate(int a[9][8], double rate[9][8]);利用冒泡排序算法原理设计的概率从大到小排序:intsort2(double* a);利用冒泡排序算法原理设计的概率从小到大排序:int* sort3(double* a);打印指定的选项内容:void dprint(int c,int bl);计算选项的数据量和比例:void count4(yb* ybx,int k)。
源代码如下
mysqlconnect.h
数据库连接类
#pragma once#include "mysql.h"#pragma comment(lib,"wsock32.lib")#pragma comment(lib,"libmysql.lib")MYSQL mysql;MYSQL_RES *result;MYSQL_ROW row;int k = 0;void mysqlconnet()//连接MySQL数据库{mysql_init(&mysql);mysql_real_connect(&mysql, "localhost", "root", "", "my_db", 3306, NULL, 0);/*char *sql1 = "select count(*) from persons";mysql_query(&mysql, sql1);result=mysql_store_result(&mysql);row = mysql_fetch_row(result);int sum=atoi(row[0]);*/char *sql = "select * from persons";//unicode下用Cstring会很麻烦,直接用charmysql_query(&mysql, sql);result = mysql_store_result(&mysql);}void read()//读取MySQL数据库{while ((row = mysql_fetch_row(result)) != NULL){for (int i = 0; i < 9; i++){yb1[k].a[i] = row[i];}k++;}for (int j = 0; j < k; j++){for (int i = 0; i < 9; i++){if (i != 4)yb1[j].b[i] = atoi(yb1[j].a[i]);else if (i == 4){char f = yb1[j].a[4][2];yb1[j].l = f - '0';yb1[j].b[4] = yb1[j].l;int q = 0;for (int i = 4; i < strlen(yb1[j].a[4]); i++){if (yb1[j].a[4][i] == '"'){yb1[j].c[q] = yb1[j].a[4][i + 1];i = i + 3;q++;}if (q >= yb1[j].l)break;}/*i = str.find("*");str1 = str.substr(0, i);str2 = str.substr(i + 1);*/}}}}
样本类
#pragma once#include<iostream>#include<cstring>using namespace std;class yb//样本类{public:yb();~yb();char* a[9];int b[9];char c[6];int l;}yb1[110];yb::yb(){for (int i = 0; i < 9; i++){a[i] = "";}}yb::~yb(){}
样本实现类
#include"yb.h"#include <string>int result1[9][8];int result2[9][8];int result3[9][8];double rate1[9][8], rate2[9][8], rate3[9][8];int result4[5];void sort(yb *ybx, int n, int k){for (int i = 0; i <k; i++){for (int j = i; j < k; j++){if (ybx[i].b[n] > ybx[j].b[n]){yb temp = ybx[i];ybx[i] = ybx[j];ybx[j] = temp;}}}}int seeknum(int* a){int big=0;int k = 0;for (int i = 0; i < 6; i++){if (a[i] > big){k = i;big = a[i];}}return k;}void initResult(int a[9][8]){for (int i = 0; i < 9; i++){for (int j = 0; j < 8; j++){a[i][j] = 0;}}}void count(yb *ybx, int k){initResult(result1);for (int j = 0; j < 9; j++){for (int i = 0; i < k; i++){result1[j][(ybx[i].b[j]) - 1]++;}}}void count2(yb *ybx, int k){initResult(result2);for (int j = 0; j < 9; j++){for (int i = 0; i < result1[0][0]; i++){result2[j][(ybx[i].b[j]) - 1]++;}}}void count3(yb *ybx, int k){initResult(result3);for (int j = 0; j < 9; j++){for (int i = k - result1[0][1]; i <k; i++){result3[j][(ybx[i].b[j]) - 1]++;}}}void rate(int a[9][8], double rate[9][8]){int sum = 0;for (int i = 0; i < 9; i++){sum = 0;for (int z = 0; z < 8; z++){sum = sum + a[i][z];}for (int j = 0; j < 8; j++){rate[i][j] = (double)a[i][j] / sum;}}}int* sort2(double* a){double b[8];for (int i = 0; i < 8; i++){b[i] = a[i];}int *s;s = new int[8];for (int i = 0; i < 8; i++){s[i] = i;}for (int i = 0; i <8; i++){for (int j = i; j < 8; j++){if (b[i] < b[j]){int p = b[i];b[i] = b[j];b[j] = p;int temp = s[i];s[i] = s[j];s[j] = temp;}}}return s;}int* sort3(double* a){double b[8];for (int i = 0; i < 8; i++){b[i] = a[i];}int *s;s = new int[8];for (int i = 0; i < 8; i++){s[i] = i;}for (int i = 0; i <8; i++){for (int j = i; j < 8; j++){if (b[i] > b[j]){int p = b[i];b[i] = b[j];b[j] = p;int temp = s[i];s[i] = s[j];s[j] = temp;}}}return s;}void dprint(int c,int bl){string a[9][8] = { { "男","女" },{ "18岁以下","18~25","26~30","31~40","41~50","51~60","60以上" },{ "苹果","小米","vivo","oppo","华为","三星","魅族","其他" },{ "苹果","小米","vivo","oppo","华为","三星","魅族","其他" },{ "外形好看、美观","手机内存大,不会卡顿","属于拍照手机,像素高,适合拍照","质量好,功能强大","电池耐用度","网速快慢" },{ "玫瑰金","香槟金","粉色","银色","黑色","白色","其他" },{ "大屏手机","偏薄偏轻","高端大气","适中无所谓","其他" },{ "玩游戏","听音乐","看视频电影","聊天、浏览朋友圈","逛微博、浏览新闻","其他" },{ "1小时以内","2~4小时","4~6小时","6~8小时","8小时以上" } };cout<< a[c][bl];}void count4(yb* ybx,int k){for (int i = 0; i < k; i++){for (int j = 0; j < 6; j++){if (ybx[i].c[j] == '1'){result4[0]++;}else if (ybx[i].c[j] == '2'){result4[1]++;}else if(ybx[i].c[j] == '3'){result4[2]++;}else if (ybx[i].c[j] == '4'){result4[3]++;}else if (ybx[i].c[j] == '5'){result4[4]++;}else if (ybx[i].c[j] == '6'){result4[5]++;}}}}
网站前端html页面
<html><head><title></title><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><style>.button{width:100px;display: block; font-size: 12px; text-decoration: none!important; font-family: Helvetica, Arial, sans serif;padding: 8px 12px; border-radius: 3px; -moz-border-radius: 3px; box-shadow: inset 0px 0px 2px #fff;-o-box-shadow: inset 0px 0px 2px #fff;-webkit-box-shadow: inset 0px 0px 2px #fff;-moz-box-shadow: inset 0px 0px 2px #fff;color: #41788c;border: 1px solid #6fb1c7;background-image: -moz-linear-gradient(#aae5f7, #73d0f1);background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#73d0f1), to(#aae5f7));background-image: -webkit-linear-gradient(#aae5f7, #73d0f1);background-image: -o-linear-gradient(#aae5f7, #73d0f1);text-shadow: 1px 1px 1px #bfeafb;background-color: #73d0f1;}.button:hover {border: 1px solid #4690ad;background-image: -moz-linear-gradient(#73d0f1, #aae5f7);background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#aae5f7), to(#73d0f1));background-image: -webkit-linear-gradient(#73d0f1, #aae5f7);background-image: -o-linear-gradient(#73d0f1, #aae5f7);background-color: #aae5f7;}body { margin:auto; font-size:14px; background-repeat: repeat-x; background-color:#F6E7D0;}table { border:0; margin:auto;}b { color:#DA4A4A;}a:link { color:#fff; text-decoration: none; }a:visited { color:#fff; text-decoration: none;}a:active { color:#fff; text-decoration: none;}a:hover { color:#ffff00; text-decoration: underline;}#banner{ font-size:40px; color:#fff; font-family:"黑体"; padding-left:150px; background:url(../images/logo.jpg); width:960px; height:210px;}#info { font-size:14px; background-color:#F6E7D0; padding:10px 20px; line-height:25px;}#info2 { background-color:#DA4A4A; height:3px;}#BigTitle { padding:10px; font-size:15px; font-weight:bold; line-height:25px;}#Notice { background:url(../images/Notice.jpg); width:350px; height:337px;}#Noticeb{ margin:160px 50px 60px 105px; color:#333333; font-size:14px; font-weight:bold;}#Notice a { color:#000000; text-decoration:none;}#Notice a:hover { color:#0066FF; text-decoration: underline;}#nopaper{ color:#ff0000; font-size:14px; font-weight:bold; line-height:30px;}</style><link href="images/index.css" rel="stylesheet" type="text/css"><script src="check.js"></script><script>if (window.Event) document.captureEvents(Event.MOUSEUP); function nocontextmenu(){event.cancelBubble = true event.returnValue = false; return false; } function norightclick(e){if (window.Event){ if (e.which == 2 || e.which == 3) return false; } else if (event.button == 2 || event.button == 3){ event.cancelBubble = true event.returnValue = false; return false; } } document.oncontextmenu = nocontextmenu; // for IE5+ document.onmousedown = norightclick; // for all others </script></head><body onmousedown="rclick()" oncontextmenu= "nocontextmenu()"><table width="960px" align="center" bgcolor="#FAFAFA"><h1 align="center">关于手机的调查问卷</h1><form id="form1" name="fm" method="post" action="submit.php" onsubmit="return checkForm(this)"> <tr><td id="info2" colspan="6"></td></tr><tr onMouseOver="this.bgColor='#F6E7D0'" onMouseOut="this.bgColor='#FAFAFA'"><td colspan="4"><table width="98%" cellpadding="0" cellspacing="5" align="center"><tr><td><b>1、您的性别[单选题]</b></td></tr><tr><td><input type="radio" name="Option1" value=1 title="请选择“第1题”~!" /> 男 <BR><input type="radio" name="Option1" value=2 title="请选择“第1题”~!" /> 女 <BR></td></tr></table></td></tr><tr onMouseOver="this.bgColor='#F6E7D0'" onMouseOut="this.bgColor='#FAFAFA'"><td colspan="4"><table width="98%" cellpadding="0" cellspacing="5" align="center"><tr><td><b>2、您的年龄段是[单选题]</b></td></tr><tr><td><input type="radio" name="Option2" value=1 title="请选择“第2题”~!" /> 18岁以下 <BR><input type="radio" name="Option2" value=2 title="请选择“第2题”~!" /> 18~25 <BR><input type="radio" name="Option2" value=3 title="请选择“第2题”~!" /> 26~30 <BR><input type="radio" name="Option2" value=4 title="请选择“第2题”~!" /> 31~40 <BR><input type="radio" name="Option2" value=5 title="请选择“第2题”~!" /> 41~50 <BR><input type="radio" name="Option2" value=6 title="请选择“第2题”~!" /> 51~60 <BR><input type="radio" name="Option2" value=7 title="请选择“第2题”~!" /> 60以上 <BR></td></tr></table></td></tr><tr onMouseOver="this.bgColor='#F6E7D0'" onMouseOut="this.bgColor='#FAFAFA'"><td colspan="4"><table width="98%" cellpadding="0" cellspacing="5" align="center"><tr><td><b>3、您的手机是什么品牌呢?[单选题]</b></td></tr><tr><td><input type="radio" name="Option3" value=1 title="请选择“第3题”~!" /> 苹果 <BR><input type="radio" name="Option3" value=2 title="请选择“第3题”~!" /> 小米 <BR><input type="radio" name="Option3" value=3 title="请选择“第3题”~!" /> vivo <BR><input type="radio" name="Option3" value=4 title="请选择“第3题”~!" /> oppo <BR><input type="radio" name="Option3" value=5 title="请选择“第3题”~!" /> 华为 <BR><input type="radio" name="Option3" value=6 title="请选择“第3题”~!" /> 三星 <BR><input type="radio" name="Option3" value=7 title="请选择“第3题”~!" /> 魅族 <BR><input type="radio" name="Option3" value=8 title="请选择“第3题”~!" /> 其他 <BR></td></tr></table></td></tr><tr onMouseOver="this.bgColor='#F6E7D0'" onMouseOut="this.bgColor='#FAFAFA'"><td colspan="4"><table width="98%" cellpadding="0" cellspacing="5" align="center"><tr><td><b>4、您最喜欢的手机品牌是什么呢?[单选题]</b></td></tr><tr><td><input type="radio" name="Option4" value=1 title="请选择“第4题”~!" /> 苹果 <BR><input type="radio" name="Option4" value=2 title="请选择“第4题”~!" /> 小米 <BR><input type="radio" name="Option4" value=3 title="请选择“第4题”~!" /> vivo <BR><input type="radio" name="Option4" value=4 title="请选择“第4题”~!" /> oppo <BR><input type="radio" name="Option4" value=5 title="请选择“第4题”~!" /> 华为 <BR><input type="radio" name="Option4" value=6 title="请选择“第4题”~!" /> 三星 <BR><input type="radio" name="Option4" value=7 title="请选择“第4题”~!" /> 魅族 <BR><input type="radio" name="Option4" value=8 title="请选择“第4题”~!" /> 其他 <BR></td></tr></table></td></tr><tr onMouseOver="this.bgColor='#F6E7D0'" onMouseOut="this.bgColor='#FAFAFA'"><td colspan="4"><table width="98%" cellpadding="0" cellspacing="5" align="center"><tr><td><b>5、对于手机,你更看重的是手机的哪些方面?[多选题]</b></td></tr><tr><td><input type="checkbox" name="Option5[]" value=1 title="请选择“第5题”~min:1" /> 外形好看、美观 <BR><input type="checkbox" name="Option5[]" value=2 title="请选择“第5题”~min:1" /> 手机内存大,不会卡顿 <BR><input type="checkbox" name="Option5[]" value=3 title="请选择“第5题”~min:1" /> 属于拍照手机,像素高,适合拍照 <BR><input type="checkbox" name="Option5[]" value=4 title="请选择“第5题”~min:1" /> 质量好,功能强大 <BR><input type="checkbox" name="Option5[]" value=5 title="请选择“第5题”~min:1" /> 电池耐用度 <BR><input type="checkbox" name="Option5[]" value=6 title="请选择“第5题”~min:1" /> 网速快慢 <BR></td></tr></table></td></tr><tr onMouseOver="this.bgColor='#F6E7D0'" onMouseOut="this.bgColor='#FAFAFA'"><td colspan="4"><table width="98%" cellpadding="0" cellspacing="5" align="center"><tr><td><b>6、您最喜欢的手机颜色是什么呢?[单选题]</b></td></tr><tr><td><input type="radio" name="Option6" value=1 title="请选择“第6题”~!" /> 玫瑰金 <BR><input type="radio" name="Option6" value=2 title="请选择“第6题”~!" /> 香槟金 <BR><input type="radio" name="Option6" value=3 title="请选择“第6题”~!" /> 粉色 <BR><input type="radio" name="Option6" value=4 title="请选择“第6题”~!" /> 银色 <BR><input type="radio" name="Option6" value=5 title="请选择“第6题”~!" /> 黑色 <BR><input type="radio" name="Option6" value=6 title="请选择“第6题”~!" /> 白色 <BR><input type="radio" name="Option6" value=7 title="请选择“第6题”~!" /> 其他 <BR></td></tr></table></td></tr><tr onMouseOver="this.bgColor='#F6E7D0'" onMouseOut="this.bgColor='#FAFAFA'"><td colspan="4"><table width="98%" cellpadding="0" cellspacing="5" align="center"><tr><td><b>7、您更喜欢哪种外形的手机呢?[单选题]</b></td></tr><tr><td><input type="radio" name="Option7" value=1 title="请选择“第7题”~!" /> 大屏手机 <BR><input type="radio" name="Option7" value=2 title="请选择“第7题”~!" /> 偏薄偏轻 <BR><input type="radio" name="Option7" value=3 title="请选择“第7题”~!" /> 高端大气 <BR><input type="radio" name="Option7" value=4 title="请选择“第7题”~!" /> 适中无所谓 <BR><input type="radio" name="Option7" value=5 title="请选择“第7题”~!" /> 其他 <BR></td></tr></table></td></tr><tr onMouseOver="this.bgColor='#F6E7D0'" onMouseOut="this.bgColor='#FAFAFA'"><td colspan="4"><table width="98%" cellpadding="0" cellspacing="5" align="center"><tr><td><b>8、对于手机,除了通信之外,你最常使用的功能是什么呢[单选题]</b></td></tr><tr><td><input type="radio" name="Option8" value=1 title="请选择“第8题”~!" /> 玩游戏 <BR><input type="radio" name="Option8" value=2 title="请选择“第8题”~!" /> 听音乐 <BR><input type="radio" name="Option8" value=3 title="请选择“第8题”~!" /> 看视频电影 <BR><input type="radio" name="Option8" value=4 title="请选择“第8题”~!" /> 聊天、浏览朋友圈 <BR><input type="radio" name="Option8" value=5 title="请选择“第8题”~!" /> 逛微博、浏览新闻 <BR><input type="radio" name="Option8" value=6 title="请选择“第8题”~!" /> 其他 <BR></td></tr></table></td></tr><tr onMouseOver="this.bgColor='#F6E7D0'" onMouseOut="this.bgColor='#FAFAFA'"><td colspan="4"><table width="98%" cellpadding="0" cellspacing="5" align="center"><tr><td><b>9、你平均每天使用手机的时间是多少呢?[单选题]</b></td></tr><tr><td><input type="radio" name="Option9" value=1 title="请选择“第9题”~!" /> 1小时以内 <BR><input type="radio" name="Option9" value=2 title="请选择“第9题”~!" /> 2-4小时 <BR><input type="radio" name="Option9" value=3 title="请选择“第9题”~!" /> 4-6小时 <BR><input type="radio" name="Option9" value=4 title="请选择“第9题”~!" /> 6-8小时 <BR> <input type="radio" name="Option9" value=5 title="请选择“第9题”~!" /> 8小时以上 <BR></td></tr></table></td></tr><tr><td colspan="5" align="center"><input type="submit" name="Submit" class="button" value=" 提 交 "/><input name="rsCount" type="hidden" id="rsCount" value="13" /></td></tr></form></table><table cellSpacing=0 cellPadding=0 align=center background="images/botbj.jpg" width="960px"><tr><td height=60 align="center"> Copyright - 版权所有</td></tr></table></body></html>
网站后端处理php文件
<?php$a="abdc";$delete_last = substr($a,strlen($a)-1,strlen($a));printf($delete_last);error_reporting(0);$staff_serialize = serialize($_POST[Option5]);$mysqli=new mysqli(".hk","u963430622_123","123456","u963430622_test");//$con = mysql_connect(".hk","u963430622_123","123456");if(mysqli_connect_errno()){cout(mysqli_connect_error(),1);return false;}//mysql_select_db("u963430622_test", $con);$sql="INSERT INTO persons (op1,op2,op3,op4,op5,op6,op7,op8,op9)VALUES('$_POST[Option1]','$_POST[Option2]','$_POST[Option3]','$_POST[Option4]','$staff_serialize','$_POST[Option6]','$_POST[Option7]','$_POST[Option8]','$_POST[Option9]')";if (!mysqli_query($mysqli,$sql)){ echo "<script language=\"JavaScript\">alert(\"您好,感谢您的作答,请检查所有的答案是否已经填完!谢谢~\");</script>"; echo "<script>location.href='index.html';</script>"; die('Error: ' . mysql_error());}echo "<script language=\"JavaScript\">alert(\"谢谢你~\");</script>"; //echo "1 record added";mysqli_close($mysqli)?><html><h1 align="center">您好,感谢您的作答~</h1></html>
js文件
function checkForm(fm){for(var i=0;i<fm.length;i++){var title=fm[i].title;if(title=="")continue;//忽略未定义title的元素var p=title.lastIndexOf("~");if(p<0)continue;//忽略title中未定义检查格式的元素var info=title.substring(0,p);var format=title.substring(p+1,title.length);var name=fm[i].name;if(name=="")continue;//忽略没有名字的元素var value=trim(fm[i].value);//fm[i].value=value;//自动除去提交项的两端的空格if(fm[i].type=="radio"){if(checkRadio(fm,fm[i])){continue;}else{return false;}} if(fm[i].type=="checkbox"){if(checkCheckbox(fm,fm[i])){continue;}else{return false;}}}return true;}function checkRadio(fm,opt){var title=opt.title;if(title=="")return true;//忽略未定义title的元素var p=title.lastIndexOf("~");if(p<0)return true;//忽略title中未定义检查格式的元素var info=title.substring(0,p);var format=title.substring(p+1,title.length);var name=opt.name;if(name=="")return true;//忽略没有名字的元素if(format=="!"){//必须选择一个选项if(typeof(fm.all[name].length)=="undefined"){//同名radio只有一个if(opt.checked){return true;}else{alert(info+"\n必须选择"+name);opt.focus();return false;}}else{//是一个radio组var radios=fm[name];for(var j=0;j<radios.length;j++){if(radios[j].checked==true)return true;}alert(info+"\n必须选择此题");opt.focus();return false;}}else{//可以一个选项也不选return true;}}function checkCheckbox(fm,opt){var title=opt.title;if(title=="")return true;//忽略未定义title的元素var p=title.lastIndexOf("~");if(p<0)return true;//忽略title中未定义检查格式的元素var info=title.substring(0,p);var format=title.substring(p+1,title.length);var name=opt.name;if(name=="")return true;//忽略没有名字的元素var min=format.match(/min:(\d+)\w*/);var max=format.match(/\w*max:(\d+)/);if(typeof(fm.all[name].length)=="undefined"){//只有一个同名checkboxif(min!=null){if(min[1]==1&&!opt.checked){alert(info+"\n必须选上"+name+"选项");opt.focus();return false;}}}else{//一个checkbox组var checkboxes=fm.all[name];var check_count=0;for(var j=0;j<checkboxes.length;j++){if(checkboxes[j].checked)check_count++;}if(min!=null){if(min[1]>check_count){alert(info+"\n至少需要选择"+min[1]+"个选项");opt.focus();return false;}}if(max!=null){if(max[1]<check_count){alert(info+"\n至多可以选择"+max[1]+"个选项");opt.focus();return false;}}}return true;}/*** 除去字符串变量s两端的空格。*/function trim(s){s=s.replace(/^ */,"");s=s.replace(/ *$/,"");return s;}/*** 除去字符串表示的数值变量开头的所有的"0"。* 比如* trim0("01")将返回"1"* trim0("1")将返回"1"* trim0("10")将返回"10"* trim0("000")将返回"0"*/function trim0(s){if(s.length==0)return s;s=s.replace(/^0*/,"");if(s.length==0)s="0";return s;}/*** 取得一个form对象所提交时内部提交参数的QueryString* 形如:* ?accountName=&userName=&email=&area=0&credit_low=&credit_high=&age_low=&age_high=&userLevel=0*/function getQueryString(fm){var qStr="";for(var i=0;i<fm.length;i++){if(!fm[i].disabled){var n=fm[i].name;if(n==null)continue;if(n.length==0)continue;if(fm[i].type=="select-multiple"){var _vs=fm[i].options;for(var _j=0;_j<_vs.length;_j++){var _opt=_vs(_j);if(_opt.selected){var v=_opt.value;qStr=qStr+"&"+n+"="+ec(v);}}}else{var v=fm[i].value;if(fm[i].type=="radio"||fm[i].type=="checkbox"){if(!fm[i].checked)continue;}qStr=qStr+"&"+n+"="+ec(v);}}}if(qStr.length>0)qStr="?"+qStr.substr(1);return qStr;}function ec(va){return va.replace(/\n/g,"%0D%0A");}
(1)PHP调查问卷
(2)数据库数据
(3)问卷数据分析
本程序设计了PHP网页版调查问卷,并通过创建数据库的方式保存数据,然后通过C++连接数据库的方式读取数据,最终通过函数、算法对数据进行整合与分析。
在编写源程序过程中,考虑了网页调查问卷界面的设计,数据库的设计(主要是多选题数据数组存入数据库的处理。然后就是冒泡算法的改装,对数据进行分类,分组分析和统计。
如果觉得《手机选择问卷调查分析——PHP与C++进行数据处理》对你有帮助,请点赞、收藏,并留下你的观点哦!