📄 syssyzk.cpp
字号:
// syssyzk.cpp : implementation file
//
#include "stdafx.h"
#include "xxgl.h"
#include "syssyzk.h"
#include "strt.h"
#include "ext.h"
#include "func.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
syssyzk::syssyzk(CWnd* pParent /*=NULL*/)
: CDialog(syssyzk::IDD, pParent)
{
//{{AFX_DATA_INIT(syssyzk)
m_hxfzkkl = 0;
m_hxfzszsy = 0;
m_hxfzyzsy = 0;
m_hxysyzsy = 0;
m_hxyskkl = 0;
m_hxysszsy = 0;
m_jsjkkl = 0;
m_jsjszsy = 0;
m_jsjyzsy = 0;
m_ljkkl = 0;
m_ljszsy = 0;
m_swfzkkl = 0;
m_ljyzsy = 0;
m_swfzszsy = 0;
m_swfzyzsy = 0;
m_swyskkl = 0;
m_swysszsy = 0;
m_swysyzsy = 0;
m_wlfzkkl = 0;
m_wlfzszsy = 0;
m_wlfzyzsy = 0;
m_wlyskkl = 0;
m_wlysszsy = 0;
m_wlysyzsy = 0;
m_yyszsy = 0;
m_yykkl = 0;
m_yyyzsy = 0;
m_xxmc = _T("");
//}}AFX_DATA_INIT
FILE *fpe;
unsigned char buf[40];
unsigned char pass[40];
int l,i,c,j,k,flag;
unsigned char mask;
rand_base = 1000;
fpe = fopen("c:\\xxsbgl\\mima.txt","rb");
fscanf(fpe,"%s\n%s\n",buf,pass);
fclose(fpe);
l = strlen((char *)buf);
for (i=0;i<l*8;i++){
c = buf[i/8];
mask = 1;
for (j=0;j<i%8;j++)
mask *= 2;
code[i] = c & mask;
if (code[i] != 0)
code[i] = 1;
}
for (i=0;i<1000;i++)
process_flag[i] = 0;
flag = 0;
j = 0;
while (flag == 0){
i = find_a_seat(l*8);
tab[j] = i;
process_flag[i] = 1;
j ++;
if (j == l*8)
flag = 1;
}
for (i=0;i<l*8;i++){
code6[i] = code[tab[i]];
}
for (i=0;i<l*8;i++)
code[i] = code6[i];
for (i=0;i<l*8;i++){
j = i + l%7;
if (j >= l*8)
j -= l*8;
code1[i] = code[j];
}
for (i=0;i<l*4;i++){
code2[i] = code1[2*i+1];
}
for (i=0;i<l*8;i++){
j = i + l%7;
if (j > l*8)
j -= l*8;
code3[i] = code[j];
}
for (i=0;i<l*4;i++){
code4[i] = code3[2*i];
}
for (i=0;i<l*4;i++)
code5[i] = code2[i] ^ code4[i];
/*
k = 0;
for (i=0;i<l;i++){
c = code5[i*4]*8 + code5[i*4+1]*4 + + code5[i*4+2]*2 + + code5[i*4+3];
if (c < 10)
c += '0';
else
c += 'A' - 10;
pass[k++] = c;
}
pass[k] = 0;
*/
for (i=0;i<l;i++){
c = pass[i];
if (c >= 'A')
c = c - 'A' + 10;
else
c -= '0';
code5[4*i] = c / 8;
c = c % 8;
code5[4*i+1] = c / 4;
c = c % 4;
code5[4*i+2] = c / 2;
code5[4*i+3] = c % 2;
}
for (i=0;i<l*4;i++)
code2[i] = code5[i] ^ code4[i];
for (i=0;i<l*4;i++){
code1[2*i+1] = code2[i];
}
for (i=0;i<l*8;i++){
j = i - l%7;
if (j < 0)
j = j + l*8;
code[i] = code1[j];
}
for (i=0;i<l*8;i++){
code6[tab[i]] = code[i];
}
for (i=0;i<l*8;i++)
code[i] = code6[i];
for (i=0;i<l;i++){
buf[i] = code[i*8] + code[i*8+1]*2 + code[i*8+2]*4 + code[i*8+3]*8
+ code[i*8+4]*16 + code[i*8+5]*32 + code[i*8+6]*64 + code[i*8+7]*128;
}
strcpy(xiaoming,(char *)buf);
m_xxmc = xiaoming;
char buf1[10],buf2[10],buf3[10],buf4[10],buf5[10],buf6[10],buf7[10],buf8[10],buf9[10],buf10[10];
char buf11[10],buf12[10],buf13[10],buf14[10],buf15[10],buf16[10],buf17[10],buf18[10],buf19[10],buf20[10];
char buf21[10],buf22[10],buf23[10],buf24[10],buf25[10],buf26[10],buf27[10];
fpe = fopen("c:\\xxsbgl\\syssyzk.txt","rb");
if (fpe != NULL){
fscanf(fpe,"%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n",
buf1,buf2,buf3,buf4,buf5,buf6,buf7,buf8,buf9,buf10,buf11,buf12,buf13,buf14,buf15,buf16,buf17,buf18,buf19,buf20,buf21,buf22,buf23,buf24,buf25,buf26,buf27);
m_wlysyzsy = atoi(buf1);
m_wlysszsy = atoi(buf2);
m_wlyskkl = atoi(buf3);
m_wlfzyzsy = atoi(buf4);
m_wlfzszsy = atoi(buf5);
m_wlfzkkl = atoi(buf6);
m_hxysyzsy = atoi(buf7);
m_hxysszsy = atoi(buf8);
m_hxyskkl = atoi(buf9);
m_hxfzyzsy = atoi(buf10);
m_hxfzszsy = atoi(buf11);
m_hxfzkkl = atoi(buf12);
m_swysyzsy = atoi(buf13);
m_swysszsy = atoi(buf14);
m_swyskkl = atoi(buf15);
m_swfzyzsy = atoi(buf16);
m_swfzszsy = atoi(buf17);
m_swfzkkl = atoi(buf18);
m_ljyzsy = atoi(buf19);
m_ljszsy = atoi(buf20);
m_ljkkl = atoi(buf21);
m_jsjyzsy = atoi(buf22);
m_jsjszsy = atoi(buf23);
m_jsjkkl = atoi(buf24);
m_yyyzsy = atoi(buf25);
m_yyszsy = atoi(buf26);
m_yykkl = atoi(buf27);
fclose(fpe);
}
}
void syssyzk::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(syssyzk)
DDX_Text(pDX, IDC_hxfzkkl, m_hxfzkkl);
DDX_Text(pDX, IDC_hxfzszsy, m_hxfzszsy);
DDX_Text(pDX, IDC_hxfzyzsy, m_hxfzyzsy);
DDX_Text(pDX, IDC_hxysyzsy, m_hxysyzsy);
DDX_Text(pDX, IDC_hxyskkl, m_hxyskkl);
DDX_Text(pDX, IDC_hxysszsy, m_hxysszsy);
DDX_Text(pDX, IDC_jsjkkl, m_jsjkkl);
DDX_Text(pDX, IDC_jsjszsy, m_jsjszsy);
DDX_Text(pDX, IDC_jsjyzsy, m_jsjyzsy);
DDX_Text(pDX, IDC_ljkkl, m_ljkkl);
DDX_Text(pDX, IDC_ljszsy, m_ljszsy);
DDX_Text(pDX, IDC_swfzkkl, m_swfzkkl);
DDX_Text(pDX, IDC_ljyzsy, m_ljyzsy);
DDX_Text(pDX, IDC_swfzszsy, m_swfzszsy);
DDX_Text(pDX, IDC_swfzyzsy, m_swfzyzsy);
DDX_Text(pDX, IDC_swyskkl, m_swyskkl);
DDX_Text(pDX, IDC_swysszsy, m_swysszsy);
DDX_Text(pDX, IDC_swysyzsy, m_swysyzsy);
DDX_Text(pDX, IDC_wlfzkkl, m_wlfzkkl);
DDX_Text(pDX, IDC_wlfzszsy, m_wlfzszsy);
DDX_Text(pDX, IDC_wlfzyzsy, m_wlfzyzsy);
DDX_Text(pDX, IDC_wlyskkl, m_wlyskkl);
DDX_Text(pDX, IDC_wlysszsy, m_wlysszsy);
DDX_Text(pDX, IDC_wlysyzsy, m_wlysyzsy);
DDX_Text(pDX, IDC_yyszsy, m_yyszsy);
DDX_Text(pDX, IDC_yykkl, m_yykkl);
DDX_Text(pDX, IDC_yyyzsy, m_yyyzsy);
DDX_Text(pDX, IDC_xxmc, m_xxmc);
//}}AFX_DATA_MAP
CBitmap *bitmap;
CBitmap *bitmap1;
HBITMAP hbitmap;
HBITMAP hbitmap1;
bitmap = new CBitmap();
bitmap1 = new CBitmap();
bitmap->LoadBitmap(IDB_qr);
bitmap1->LoadBitmap(IDB_qx);
hbitmap = (*bitmap).operator HBITMAP();
hbitmap1 = (*bitmap1).operator HBITMAP();
CWnd *wn;
CWnd *wn1;
wn = GetDlgItem(IDOK);
wn1 = GetDlgItem(IDCANCEL);
// wn2 = GetDlgItem(IDOK3);
WPARAM wParam;
LPARAM lParam;
wParam = (WPARAM) LOWORD(BS_LEFT | BS_BITMAP); // style
lParam = MAKELPARAM(TRUE, 0); // redraw flag
wn->SendMessage(BM_SETIMAGE, IMAGE_BITMAP,(long)hbitmap);
wn1->SendMessage(BM_SETIMAGE, IMAGE_BITMAP,(long)hbitmap1);
}
BEGIN_MESSAGE_MAP(syssyzk, CDialog)
//{{AFX_MSG_MAP(syssyzk)
ON_EN_CHANGE(IDC_hxfzszsy, OnChangehxfzszsy)
ON_EN_CHANGE(IDC_hxfzyzsy, OnChangehxfzyzsy)
ON_EN_CHANGE(IDC_hxysszsy, OnChangehxysszsy)
ON_EN_CHANGE(IDC_hxysyzsy, OnChangehxysyzsy)
ON_EN_CHANGE(IDC_jsjszsy, OnChangejsjszsy)
ON_EN_CHANGE(IDC_jsjyzsy, OnChangejsjyzsy)
ON_EN_CHANGE(IDC_ljszsy, OnChangeljszsy)
ON_EN_CHANGE(IDC_ljyzsy, OnChangeljyzsy)
ON_EN_CHANGE(IDC_swfzszsy, OnChangeswfzszsy)
ON_EN_CHANGE(IDC_swfzyzsy, OnChangeswfzyzsy)
ON_EN_CHANGE(IDC_swysszsy, OnChangeswysszsy)
ON_EN_CHANGE(IDC_swysyzsy, OnChangeswysyzsy)
ON_EN_CHANGE(IDC_wlfzszsy, OnChangewlfzszsy)
ON_EN_CHANGE(IDC_wlfzyzsy, OnChangewlfzyzsy)
ON_EN_CHANGE(IDC_wlysszsy, OnChangewlysszsy)
ON_EN_CHANGE(IDC_wlysyzsy, OnChangewlysyzsy)
ON_EN_CHANGE(IDC_yyszsy, OnChangeyyszsy)
ON_EN_CHANGE(IDC_yyyzsy, OnChangeyyyzsy)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// syssyzk message handlers
void syssyzk::OnOK()
{
// TODO: Add extra validation here
FILE *fpe;
char buf1[10],buf2[10],buf3[10],buf4[10],buf5[10],buf6[10],buf7[10],buf8[10],buf9[10],buf10[10];
char buf11[10],buf12[10],buf13[10],buf14[10],buf15[10],buf16[10],buf17[10],buf18[10],buf19[10],buf20[10];
char buf21[10],buf22[10],buf23[10],buf24[10],buf25[10],buf26[10],buf27[10];
int t1,t2;
fpe = fopen("c:\\xxsbgl\\syssyzk.txt","wb");
GetDlgItemText(IDC_wlysyzsy,buf1,10);
GetDlgItemText(IDC_wlysszsy,buf2,10);
GetDlgItemText(IDC_wlyskkl,buf3,10);
GetDlgItemText(IDC_wlfzyzsy,buf4,10);
GetDlgItemText(IDC_wlfzszsy,buf5,10);
GetDlgItemText(IDC_wlfzkkl,buf6,10);
GetDlgItemText(IDC_hxysyzsy,buf7,10);
GetDlgItemText(IDC_hxysszsy,buf8,10);
GetDlgItemText(IDC_hxyskkl,buf9,10);
GetDlgItemText(IDC_hxfzyzsy,buf10,10);
GetDlgItemText(IDC_hxfzszsy,buf11,10);
GetDlgItemText(IDC_hxfzkkl,buf12,10);
GetDlgItemText(IDC_swysyzsy,buf13,10);
GetDlgItemText(IDC_swysszsy,buf14,10);
GetDlgItemText(IDC_swyskkl,buf15,10);
GetDlgItemText(IDC_swfzyzsy,buf16,10);
GetDlgItemText(IDC_swfzszsy,buf17,10);
GetDlgItemText(IDC_swfzkkl,buf18,10);
GetDlgItemText(IDC_ljyzsy,buf19,10);
GetDlgItemText(IDC_ljszsy,buf20,10);
GetDlgItemText(IDC_ljkkl,buf21,10);
GetDlgItemText(IDC_jsjyzsy,buf22,10);
GetDlgItemText(IDC_jsjszsy,buf23,10);
GetDlgItemText(IDC_jsjkkl,buf24,10);
GetDlgItemText(IDC_yyyzsy,buf25,10);
GetDlgItemText(IDC_yyszsy,buf26,10);
GetDlgItemText(IDC_yykkl,buf27,10);
fprintf(fpe,"%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n",
buf1,buf2,buf3,buf4,buf5,buf6,buf7,buf8,buf9,buf10,buf11,buf12,buf13,buf14,buf15,buf16,buf17,buf18,buf19,buf20,buf21,buf22,buf23,buf24,buf25,buf26,buf27);
fclose(fpe);
CDialog::OnOK();
}
void syssyzk::OnChangehxfzszsy()
{
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CDialog::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
// TODO: Add your control notification handler code here
char buf1[10],buf2[10];
int t1,t2,t;
float f;
CWnd *wd;
GetDlgItemText(IDC_hxfzszsy,buf1,10);
GetDlgItemText(IDC_hxfzyzsy,buf2,10);
t1 = atoi(buf1);
t2 = atoi(buf2);
if (t2 > 0){
f = (100.*t1) / t2;
t = f+0.49;
/* if (t > 100){
MessageBox("对不起,您填写的实做实验数大于应做实验数,数据错误.","",MB_OK);
wd = GetDlgItem(IDC_hxfzyzsy);
wd->SetFocus();
return;
}
*/ itoa(t,buf1,10);
SetDlgItemText(IDC_hxfzkkl,buf1);
}
if ((t1 == 0)&&(t2 == 0)){
SetDlgItemText(IDC_hxfzkkl,"0");
}
}
void syssyzk::OnChangehxfzyzsy()
{
char buf1[10],buf2[10];
int t1,t2,t;
float f;
CWnd *wd;
GetDlgItemText(IDC_hxfzszsy,buf1,10);
GetDlgItemText(IDC_hxfzyzsy,buf2,10);
t1 = atoi(buf1);
t2 = atoi(buf2);
if (t2 > 0){
f = (100.*t1) / t2;
t = f+0.49;
/* if (t > 100){
MessageBox("对不起,您填写的实做实验数大于应做实验数,数据错误.","",MB_OK);
wd = GetDlgItem(IDC_hxfzyzsy);
wd->SetFocus();
return;
}
*/ itoa(t,buf1,10);
SetDlgItemText(IDC_hxfzkkl,buf1);
}
if ((t1 == 0)&&(t2 == 0)){
SetDlgItemText(IDC_hxfzkkl,"0");
}
}
void syssyzk::OnChangehxysszsy()
{
char buf1[10],buf2[10];
int t1,t2,t;
float f;
CWnd *wd;
GetDlgItemText(IDC_hxysszsy,buf1,10);
GetDlgItemText(IDC_hxysyzsy,buf2,10);
t1 = atoi(buf1);
t2 = atoi(buf2);
if (t2 > 0){
f = (100.*t1) / t2;
t = f+0.49;
/* if (t > 100){
MessageBox("对不起,您填写的实做实验数大于应做实验数,数据错误.","",MB_OK);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -