请教显示大量数据问题

jancyshaw 2017-12-07 01:59:13
想做个彩票分析软件,想请教一下,要实现这种效果,用什么控件好?
(注意,要能实现当胆码与开奖号相同时,胆码的颜色能自动突出显示)
...全文
224 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2017-12-08
  • 打赏
  • 举报
回复
仅供参考:
//要求1:从给出来的不同的六组数字中,从每组任意挑选一个数字,最后组成一个六个数字的数组。
//将所有的数组全部列出来。
//同时,排除全部为偶数、全部为奇数的数组。
//排除四个数字递增连续(比如8、9、10、11)的数组。
//如下:
//第一个数字从这12个数字中挑选:,1,3,2,4,5,6,7,8,9,10,11,12
//第二个数字从这17个数字中挑选:,8,7,5,9,6,4,11,10,12,13,3,14,17,2,16,15,18
//第三个数字从这21个数字中挑选:,13,10,15,16,18,11,14,12,7,19,21,17,8,22,9,20,6,23,5,24,25
//第四个数字从这20个数字中挑选:,22,23,18,20,16,17,15,21,14,26,19,24,27,25,12,13,11,10,28,29
//第五个数字从这19个数字中挑选:,26,25,27,29,30,28,23,24,20,22,19,31,21,17,18,32,13,15,16
//第六个数字从这14个数字中挑选:,32,33,30,31,29,28,27,26,25,24,23,22,18,21
//要求2:
//请输入第1个数字的选择范围:(可以手动输入任意几个空格间隔的数字,最多30个)
//请输入第2个数字的选择范围:(可以手动输入任意几个空格间隔的数字,最多30个)
//请输入第3个数字的选择范围:(可以手动输入任意几个空格间隔的数字,最多30个)
//请输入第4个数字的选择范围:(可以手动输入任意几个空格间隔的数字,最多30个)
//请输入第5个数字的选择范围:(可以手动输入任意几个空格间隔的数字,最多30个)
//请输入第6个数字的选择范围:(可以手动输入任意几个空格间隔的数字,最多30个)
//然后回车,输出结果到cp.txt
//要求3:
//保证同一组数据的数都不相同。
//比如,第一个数为6时,第二个数或其他的数都不能再为6;第二个数为10时,第三个数或其他的数都不能再为10,以此类推……
//要求4:
//增加一个条件:在产生的每个数组A1A2A3A4A5A6中,要求A1<A2<A3<A4<A5<A6
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int v[6];
int n[6]={12,17,21,20,19,14};
int d[6][30]={
      {1,3,2,4,5,6,7,8,9,10,11,12},
      {8,7,5,9,6,4,11,10,12,13,3,14,17,2,16,15,18},
      {13,10,15,16,18,11,14,12,7,19,21,17,8,22,9,20,6,23,5,24,25},
      {22,23,18,20,16,17,15,21,14,26,19,24,27,25,12,13,11,10,28,29},
      {26,25,27,29,30,28,23,24,20,22,19,31,21,17,18,32,13,15,16},
      {32,33,30,31,29,28,27,26,25,24,23,22,18,21},
};
int i,j,i0,i1,i2,i3,i4,i5,s;
char ln[100],*t;
FILE *f;
int main() {
    for (i=0;i<6;i++) {
        printf("请输入第%d个数字的选择范围:",i+1);
        fgets(ln,100,stdin);
        j=0;
        t=strtok(ln," ");
        while (1) {
            if (NULL==t) break;
            if (0==t[0]) continue;//跳过多个空格间隔时取出的空串
            d[i][j]=atoi(t);
            j++;
            if (j>=30) break;
            t=strtok(NULL," ");
        }
        n[i]=j;
    }
    f=fopen("cp.txt","w");
    if (NULL==f) {
        printf("无法生成cp.txt!\n");
        return 1;
    }
    printf("正在生成cp.txt...");
    for (i0=0;i0<n[0];i0++) {
    for (i1=0;i1<n[1];i1++) {
    for (i2=0;i2<n[2];i2++) {
    for (i3=0;i3<n[3];i3++) {
    for (i4=0;i4<n[4];i4++) {
    for (i5=0;i5<n[5];i5++) {
        v[0]=d[0][i0];
        v[1]=d[1][i1];
        v[2]=d[2][i2];
        v[3]=d[3][i3];
        v[4]=d[4][i4];
        v[5]=d[5][i5];
        if (0==(v[0]%2)
         && 0==(v[1]%2)
         && 0==(v[2]%2)
         && 0==(v[3]%2)
         && 0==(v[4]%2)
         && 0==(v[5]%2)) continue;//排除全部为偶数
        if (1==(v[0]%2)
         && 1==(v[1]%2)
         && 1==(v[2]%2)
         && 1==(v[3]%2)
         && 1==(v[4]%2)
         && 1==(v[5]%2)) continue;//排除全部为奇数
        for (i=0;i<5;i++) {
            for (j=i+1;j<6;j++) {
                if (v[i]==v[j]) goto NEXT;//保证同一组数据的数都不相同
            }
        }
    NEXT:
        if (i>=5) {
            for (i=0;i<5;i++) for (j=i+1;j<6;j++) if (v[i]>v[j]) {s=v[i];v[i]=v[j];v[j]=s;}//从小到大排序
            if ((v[0]+1==v[1]
              && v[1]+1==v[2]
              && v[2]+1==v[3])
             || (v[1]+1==v[2]
              && v[2]+1==v[3]
              && v[3]+1==v[4])
             || (v[2]+1==v[3]
              && v[3]+1==v[4]
              && v[4]+1==v[5])) continue;//排除四个数字递增连续
            fprintf(f,"%2d,%2d,%2d,%2d,%2d,%2d\n",v[0],v[1],v[2],v[3],v[4],v[5]);
        }
    }}}}}}
    fclose(f);
    printf("\n生成cp.txt完毕\n");
    return 0;
}
//如果文件in.txt的内容为
//1 3 2 4 5 6 7 8 9 10 11 12
//8 7 5 9 6 4 11 10 12 13 3 14 17 2 16 15 18
//13 10 15 16 18 11 14 12 7 19 21 17 8 22 9 20 6 23 5 24 25
//22 23 18 20 16 17 15 21 14 26 19 24 27 25 12 13 11 10 28 29
//26 25 27 29 30 28 23 24 20 22 19 31 21 17 18 32 13 15 16
//32 33 30 31 29 28 27 26 25 24 23 22 18 21
//可以在cmd窗口里面输入命令
//cp <in.txt
//得到要求1对应的结果
//BTW:中了一定要分我六成啊!嘿嘿!(^=^)
舉杯邀明月 2017-12-08
  • 打赏
  • 举报
回复
要想“自动”是不可能的,无论如何,都要自己“用代码逻辑”来实现。 肯定没有完全“自动变换背景色”的控件给你用。 你这个除了用“表格控件”,用ListView控件(设置为“报表”风格)、用PictureBox自绘,都是可以的。
脆皮大雪糕 2017-12-07
  • 打赏
  • 举报
回复
只需要一个能够改变单元格子背景色的grid控件 这基本上是各种grid的基本功能

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧