活期储蓄账目管理系统
精品文档---下载后可任意编辑 #include〈iostream〉 using namespace std; #includestring.h include〈conio.h〉 includestdlib.h〉 define file ”temp.txt” //数据存储的文件名 struct user //用户类型定义账号,姓名,身份证号,余额 { int id; char name[20]; char person_num[19]; double money; }; void add() //添加用户资料 { cout***添加用户***endl; cout”----------------------------〈endl〈endl; struct user getuser(); int count); //函数目的计算文件中的记录数目 以生成自动账号 FILE *fp; int number; struct user temp; if(fp(file,”ab”)NULL { cout〈cannot open file”〈endl; exit1; } tempgetuser; //读取用户名 numbercount(); temp。idnumber1; //生成自动账号 fwritetemp,sizeofstruct user),1,fp); cout〈添加用户成功〈〈endl; fclose(fp); } int count)//函数目的计算文件中的记录总数 { FILE *fp; int num; struct user temp; num0; if(fp(file,rb”)NULL) { cout〈cannot open file”〈〈endl; exit1; } while(fread&temp,sizeofstruct user,1,fp) { num; } fclosefp; return num; } struct user getuser) { void getnamechar *name; void getperson_numchar *person_num; struct user temp; cout请输入用户姓名字符数20) ; //读取相关开户信息 getnametemp。name; cout〈〈请输入用户身份证号码 ; getperson_num(temp.person_num); cout〈〈输入开户金额”; do{ //推断开户金额(100 cin〉temp。money; f(stdin; if((temp.money)100。0 cout〈开户金额不能小于100”〈endl; else break; cout〈〈”重新输入开户金额; }while1; return temp; } void getname(char *name //函数功能读取用户姓名字符数20 { do{ scanf(”s,name); f(stdin); ifstrlenname)0 cout〈”姓名不能为空”〈〈endl; else if(strlenname)20 cout〈姓名不能超过20个字符”〈endl; else break; cout”重新输入姓名 ; }while(1); //循环以保证读入数据有效 } void getperson_num(char *person_num) //函数功能读取用户身份证号码(15位 或者 18位 ) { do{ int i,mark; char ch; fori0,mark0;;i) //输入有效性推断只能是数字) if(chgetchar())’\n’) { if(ch’9ch’0 person_num[i]ch; else { cout〈〈身份证号码只能是数字〈〈endl; mark1; break; } } else break; person_num[i]’\0; if(mark1) continue; if(strlenperson_num15&strlenperson_num18) cout〈”身份证号码只能是15位,或者18位\n”; else break; cout〈〈”重新输入身份证号码 ”; }while(1);//循环以保证读入数据有效 } void select_name(//根据姓名查询账户余额 { void getname(char *name; cout〈”***根据姓名查询账户余额***”〈endl; cout”账号〈”用户姓名〈身份证号码”〈存款余额”〈〈endl; cout------------------------〈endl〈endl; FILE * fp; struct user temp; char name[20]; if((fpfile,”rb)NULL) { cout〈”cannot open file〈〈endl; exit1; } cout〈”输入要查询的姓名”; //调用读取用户名函数 getname(name; whilefreadtemp,sizeofstruct user,1,fp //循环读取每