#include "windows.h"
#include "afxres.h"
#include "resource.h"
#include "string.h"
#include "sqlite3.h"
#pragma comment(lib, "sqlite3.lib")
/**************数据库要求******************************/
//TABLE1
char oid[20]=""; //业务员ID
char o_name[20]=""; //业务员姓名
char o_password[20]=""; //业务员密码
//TABLE2
char uid[20]=""; //用户ID
char id_card[20]=""; //身份证号
char user_name[20]=""; //用户姓名
int gender; //性别,0为男,1为女
char telephone[20]=""; //电话
char user_address[20]=""; //用户住址
//TABLE3
char did[20]=""; //账号
//业务员ID已存在
//用户ID已存在
char password[20]=""; //取款密码
char deposit_sum[20]=""; //余额
int deposit_style; //存款类型 0为活期,1为定期一年,2为定期二年,3为定期三年
char deposit_time[20]=""; //上次操作时间
unsigned int outway; //支取方式,0为密码支取,1为身份证支取
//TABLE4
char myinterest[20];
char interest0[20]="";
char interest1[20]="";
char interest2[20]="";
char interest3[20]="";
/*********************************************************/
/****************数据库连接*******************************/
sqlite3 *db=0;
char **dbResult;
char *errmsg = 0;
int nRow=0, nColumn=0,result,index;
/*********************************************************/
/******************缓存***********************************/
HINSTANCE hInst; //实例缓存
HWND HwndEnable; //句柄缓存
char temp[20];
char temp1[20];
char temp2[20];
char interestemp[20]="";
char temppassword[20];
char sql[100];//sql数据库语句
char startacc[20]; //字符缓存
int sign=0;//修改密码后返回的界面,0返回主界面,1返回取款,2返回修改个人信息
int page;//id=23的确定Button正对页面PAGE的条件判断和事件响应
double dou;
/***********************************************************/
/*******************控件************************************/
/*******界面1_账号输入********/
HWND hwndLabel;//id=0 //账号标签
HWND hwndEdit;//id=1 //账号输入
HWND hwndButton;//id=2 //账号确定 B
HWND hwndClearEdit;//id=3 //清空EDIT B
HWND hwndBack;//id=4 //返回主界面 B
/*******界面2_修改利率********/
//HWND hwndLabel; id=0 //利率标签标签
HWND hwndEditIntrest;//id=5 //利率输入
HWND hwndOK;//id=6 //设置利率确定 B
HWND hwndCancel;//id=7 //返回主界面 B
/*******界面3_支取方式********/
//HWND hwndLabel;//id=0 //密码标签标签
HWND hwndPasswordEdit;//id=8 //密码验证输入
//HWND hwndEdit;//id=1 //身份证验证输入
HWND hwndPassword;//id=9 //密码确定 B
//HWND hwndBack;//id=4 //返回主界面 B
/*******界面4_主要窗口********/
//HWND hwndLabel;//id=0 //账号标签
HWND hwndEdit0;//id=10 账号输入
HWND hwndLabel1;//id=null //性别标签
HWND RadioButton1;//id=110、111 性别
HWND RadioButton2;
HWND hwndLabel2;//id=null //户名标签
HWND hwndEdit2;//id=12 户名输入
HWND hwndLabel3;//id=null //住址标签
HWND hwndEdit3;//id=13 住址输入
HWND hwndLabel4;//id=null //客户编号标签
HWND hwndEdit4;//id=14 客户编号输入
HWND hwndLabel5;//id=null //身份证标签
HWND hwndEdit5;//id=15 身份证输入
HWND hwndLabel6;//id=null //账户类型标签
HWND hwndEdit6;//id=16 账户类型输入
HWND hwndLabel7;//id=null //电话标签
HWND hwndEdit7;//id=17 电话输入
HWND hwndLabel8;//id=null //存款金额,取款金额,支取方式标签
HWND hwndEdit8;//id=18 存款,取款金额输入
HWND RadioButton3;//id=180、181 支取方式
HWND RadioButton4;
HWND hwndLabel9;//id=null //剩余金额标签
HWND hwndEdit9;//id=19 剩余金额输入
HWND hwndLabel10;//id=null //存款,取款,开户,销户,修改时间标签
HWND hwndEdit10;//id=20 时间BOX@@@@@@@
HWND hwndLabel11;//id=null //密码标签
HWND hwndLabel110;//id=null //确认密码标签
HWND hwndpasswordEdit11;//id=210 密码输入@@@@
HWND hwndpasswordEdit12;//id=211 确认密码输入@@@@
HWND hwndLabel12;//id=null //业务员编号标签
HWND hwndEdit12;//id=22 业务员编号输入
HWND MainOK;//id=23 OK
HWND MainCancel;//id=24 返回主界面
HWND MainPassword;//id=27 设置用户密码
/*******界面5_修改密码********/
//HWND hwndLabel;//id=0 //账号标签
HWND hwndPasswordEdit;//id=9 //取款、销户密码输入
//HWND hwndLabel2;//id=null //户名标签
HWND hwndPasswordEdit1;//id=91 //取款、销户新密码输入
//HWND hwndLabel4;//id=null //客户编号标签
HWND hwndPasswordEdit2;//id=92 //取款、销户确认密码输入
HWND PasswordOK;//id=25 OK
HWND PasswordCancel;//id=26 返回主界面
/**********************************************************/
static int _sql_callback(void *notused, int rows, char **argv, char **szColName)
{
return 0;
}//sqlite的回调函数,起到刷新的作用
void initial_client(char *inic)
{
int i;
result=sqlite3_get_table(db,"select * from table2",&dbResult,&nRow,&nColumn,&errmsg );
if(SQLITE_OK==result)
{
for(i=6;i<nRow*nColumn+6;i=i+6)
if(strcmp(dbResult[i],inic)==0)
{
strcpy(uid,dbResult[i]);
strcpy(id_card,dbResult[i+1]);
strcpy(user_name,dbResult[i+2]);
if(strcmp(dbResult[i+3],"0")==0)
gender=0;
else gender=1;
strcpy(telephone,dbResult[i+4]);
strcpy(user_address,dbResult[i+5]);
}
}//进入数据库导出客户信息
}
void initial_acc(char *inia)
{
int i;
result=sqlite3_get_table(db,"select * from table3",&dbResult,&nRow,&nColumn,&errmsg );
if(SQLITE_OK==result)
{
for(i=8;i<nRow*nColumn+8;i=i+8)
if(strcmp(dbResult[i],inia)==0)
{
strcpy(did,dbResult[i]);
strcpy(uid,dbResult[i+2]);
strcpy(password,dbResult[i+3]);
strcpy(deposit_sum,dbResult[i+4]);
if(strcmp(dbResult[i+5],"0")==0)
deposit_style=0;
else deposit_style=1;
strcpy(deposit_time,dbResult[i+6]);
if(strcmp(dbResult[i+7],"0")==0)
outway=0;
else outway=1;
initial_client(uid);
}
}//进入数据库导出账户信息
}
BOOL digit(char a[],int style)
{
unsigned int i,num=0;
if(a[0]=='.') return FALSE;
if(a[strlen(a)-1]=='.') return FALSE;
for(i=0;i<strlen(a);i++)
{
if(a[i]=='.') num++;
else if(a[i]<48||a[i]>57) return FALSE;
}
if(num>=2) return FALSE;
if(style==1&&num>0) return FALSE;
if(style==1&&atoi(a)<atoi(deposit_time)) return FALSE;
return TRUE;
}//判断是否为合法数或日期
char* interest(unsigned int xx)
{
switch(xx)
{
case 0:return "活期";
case 1:return "定期一年";
case 2:return "定期二年";
default:return "定期三年";
};
}//将整型的interest转化为字型
unsigned int nulllen(char a[])
{
unsigned int i,num=0;
for(i=0;i<strlen(a);i++)
if(a[i]!=' ') num++;
return num;
} //判断字符串非空字符
BOOL judge(char a[])
{
unsigned int i,zero=1;
if(strlen(a)<3) return FALSE;
if(a[0]!='0') return FALSE;
if(a[1]!='.') return FALSE;
for(i=2;i<strlen(a);i++)
{
if(a[i]<48||a[i]>57) return FALSE;
if(a[i]>48&&a[i]<58) zero=0;
}
if(zero==1) return FALSE;
return TRUE;
} //判断字符串是否为合法小数
BOOL judge2(int index)
{
char x0[40],x1[20],x2[20],x3[20],x4[20];
char x5[20],x6[20],x7[20],x8[20],x9[20];
if(index==1)
{
GetWindowText(GetDlgItem(HwndEnable,18),x1,21);
GetWindowText(GetDlgItem(HwndEnable,20),x2,21);
if(nulllen(x1)==0) {MessageBox (NULL,"存款不能为空", "ABC", MB_ICONABC|MB_OK); return FALSE;}
else if(nulllen(x2)==0) {MessageBox (NULL,"日期不能为空", "ABC", MB_ICONABC|MB_OK);return FALSE;}
else if(nulllen(x1)<strlen(x1)) {MessageBox (NULL,"存款数字不允许含有空字符", "ABC", MB_ICONABC|MB_OK);return FALSE;}
else if(nulllen(x2)<strlen(x2)) {MessageBox (NULL,"日期中不允许含有空字符", "ABC", MB_ICONABC|MB_OK);return FALSE;}
else if(digit(x1,0)==FALSE) {MessageBox (NULL,"存款项错误", "ABC", MB_ICONABC|MB_OK);return FALSE;}
else if(digit(x2,1)==FALSE) {strcpy(x0,"日期项错误,应大于等于年份");MessageBox (NULL,strcat(x0,deposit_time), "ABC", MB_ICONABC|MB_OK);return FALSE;}
else if(deposit_style!=0&&(atoi(x2)-atoi(deposit_time))>deposit_style)
{
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
ABC源代码.zip (40个子文件)
ABC
ABC.db 5KB
RCb05384 5KB
ABC.APS 140KB
ABC.ncb 97KB
ABC.c 62KB
ABC_icon.ico 894B
ABC.h 0B
ABC.rc 4KB
sqlite3.exe 516KB
Debug
RCa05340 5KB
ABC.obj 125KB
vc60.pdb 68KB
ABC.suo 3KB
RDa02944 0B
RCa00324 6KB
RCa05840 5KB
ABC.pdb 569KB
RCa05284 6KB
ABC.exe 364KB
ABC.ilk 271KB
fyy.obj 4KB
vc60.idb 49KB
RCa04864 7KB
RCa00768 5KB
ABC.pch 2.71MB
RCa02944 8KB
RCa00936 5KB
ABC.res 105KB
ABC.plg 1KB
RCa05384 5KB
sqlite3.lib 41KB
sqlite3.dll 495KB
ABC.opt 53KB
resource.h 2KB
sqlite3.h 268KB
ABC.dsp 4KB
afxres.h 505B
ABC_BMP.bmp 103KB
ABC.dsw 529B
Thumbs.db 9KB
共 40 条
- 1
资源评论
- Domiapp2014-11-17计算机系学生《软件工程》实践题经典题目之一,代码及测试过程齐全
- himring2012-12-24好东西!很有用
Tsienkuen
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功