终于实现了自己心中的一个想法→用c++帮家里解决统计微信群红包的问题。
因为我家开了一家店,所以我们每天都会在客户群里发红包,然后需要人工统计红包金额前几名,持续了半年多了以后,我心中就产生了一个想法,这个工作能不能让电脑来完成。终于,在前两天,我的想法成功实现了!!!解决这个问题需要结合一款手机软件叫做→[图片文字识别]。
一、第一步(提取数据)
通过手机对微信红包领取页面进行长截图,并记录下红包数量,随后将长截图通过图片文字识别软件进行文字识别。
二、第二步(传输数据)
识别以后里面有打包下载,就是将识别数据以word形式下载存到电脑上。word里文字数据形式如下:
然后通过word里替换功能处理相应的数据,最后数据变为下面的形式。
- 网名
- 金额(不能包含元)
- 时间
三、第三步(将数据进行处理)
#include <iostream>
#include<string>
using namespace std;
int main()
{
int n=0;
cin>>n;//红包个数
string a[40];//网名数组
string b[40];//时间数组
float c[40];//金额数组
for(int i=0;i<n;i++)
{
a[i]="暂无";
b[i]="暂无";
c[i]=0;
}
for(int i=0;i<n;i++){
cin>>a[i];
cin>>c[i];
cin>>b[i];
}
for(int i=0;i<n;i++){//输出一下两个数组,出问题可检查。
cout<<a[i]<<endl;
cout<<c[i]<<endl;
}
for(int i = 0;i <n;i++){//冒泡排序
//比较两个相邻的元素
for(int j = 0;j < n-i-1;j++){
if(c[j] > c[j+1]){//在金额数组进行排序的同时,网名数组也进行相应的动作。
string x=a[j];
a[j]=a[j+1];
a[j+1]=x;
float t = c[j];
c[j] = c[j+1];
c[j+1] = t;
}
}
}
for(int i=n-1;i>=0;i--){
int o=n-i;
cout<<"第"<<o<<"名 ";
cout<<a[i]<<" ";
cout<<c[i]<<"元"<<endl;
}
system("pause");
}
通过输入数据,便将数据进行了排序。图片如下:
最后就需要我自己根据这个排序,去客户群手动@相应的人了。
四、反思
做完以后我在想,是不是太麻烦了,相比人工统计来说,这个过程仍然是很麻烦,而且最后还需要自己手动去@相应的人。
我在想将来能不能通过mysql,也就是数据库来解决这个问题,把每个顾客的名字全部存进数据库,然后每天只负责输入金额就行了。或者再结合java,应该就会简单许多!!