1.题目描写叙述:

本代码为银行管理系统,总体分为管理员模式和普通用户模式:

(1)在管理员模式中能完毕

①用户信息录入

②改动管理员password

③改动指定账户信息

④信息管理业务

(2)在普通用户模式下,能完毕注冊和转账

在注冊中用户必须输入必要的注冊信息

在登录功能中将须要password,登陆成功厚能实现

①存款 
②取款   ③转账  ④查询剩余金额  ⑤改动个人信息(账号、username、password、身份证号、电话)  ⑥显示账户信息

2.分析思路

(1)本银行管理系统下总体通过类来完毕。以实现更好的封装性。每个类对象即为一个独立的账户。在此对象中含有该账号的所有注冊信息。

(2)使用链表动态开辟对象空间。以节省空间。

(3)将每一个功能独立化。将其设置为单一函数如选择模式函数、注冊函数、存款函数、取款函数、转账函数、改动信息函数、显示账户信息函数、显示剩余金额函数。

(4)在设计函数时。将用户的全部误操作进行考虑,即使是用户存在误操作,也会人性化的给予提示,提醒用户再次输入正确操作,使程序更加完整、全面和人性化。

详细功能及结构例如以下所看到的:

3.输入:

依据操作指示输入1、2、3等序号以完毕选择所需业务

4.输出:

输出引导用户的提示以及客户所要查询的信息

  1. #include<iostream>
  2. #include<string>
  3. using namespace std;
  4.  
  5. //bool manbermark=0;//标记是否有注冊成员
  6. string loginmarknumber ;//记录登录时还没有一个注冊的,注冊时的账号
  7.  
  8. class information
  9. {
  10. public :
  11. string num ;//账号
  12. string name;//username
  13. string key;//password
  14. string ID;//身份证号
  15. string tel;//电话号码
  16. double money;//剩余金额
  17. information *next;//记录下一空间地址
  18. };
  19. int cheak_num(string str,information *head)//检查账号是否存在
  20. {
  21. int t=0;//记录该账号是否存在
  22. information * p=head;
  23. if(head==NULL)
  24. t=0;
  25. else
  26. {
  27. while(p->next!=NULL)//对已有账号进行遍历
  28. {
  29. if(p->num!=str)
  30. p=p->next;
  31. else
  32. {t=1;
  33. break;
  34. }
  35. }
  36. if(t==0)
  37. if(p->num==str)
  38. t=1;
  39. }
  40. return t;//若账号已经存在则返回1。否则返回0
  41. }
  42. information * get_information (information *head)//管理员录入信息
  43. {
  44. information *s,*p;
  45. s=new information;
  46. cout<<"请录入信息:"<<endl;
  47. cout<<"账号:";
  48. cin>>s->num;
  49. cout<<"username:";
  50. cin>>s->name;
  51. cout<<"password:";
  52. cin>>s->key;
  53. cout<<"身份证号:";
  54. cin>>s->ID;
  55. cout<<"电话号码:";
  56. cin>>s->tel;
  57. cout<<"剩余金额:";
  58. cin>>s->money;
  59. cout<<endl<<"====================================信息录入成功==============================="<<endl;
  60. while ( 1 )
  61. {
  62. char ch;
  63. if( head==NULL )
  64. {
  65. head = s ;
  66. //head->next=NULL;//头指针赋值
  67. }
  68. else
  69. p->next = s ; //将新结点插入已有链表的最后
  70. cout<<"是否继续录入信息 是(1),(2)否"<<endl;
  71. cin>>ch;
  72. while(ch!='1' && ch!='2'){
  73. cout<<"请又一次输入是否继续录入 是(1) 否(2)";
  74. cin>>ch;
  75. }
  76. if(ch=='1'){
  77. //选择“是?
  78.  
  79. p = s ;// p指向链表中最后的结点
  80. p->next=NULL;
  81. s=new information;
  82. s->next=NULL;
  83. cout<<"请输入注冊信息:"<<endl;
  84. cout<<"账号:";
  85. string str111;
  86. cin>>str111;
  87. int t;
  88. t=cheak_num(str111,head);
  89. while(t==1) //对已有账号进行推断 。直到新注冊账号不存在为止
  90. {
  91. cout<<"账号已存在。请又一次注冊:";
  92. cin>>str111;
  93. t=cheak_num(str111,head);
  94. }
  95. s->num=str111;
  96. cout<<"username:";
  97. cin>>s->name;
  98. cout<<"password:";
  99. cin>>s->key;
  100. cout<<"身份证号:";
  101. cin>>s->ID;
  102. cout<<"电话号码:";
  103. cin>>s->tel;
  104. cout<<"剩余金额:";
  105. cin>>s->money;
  106. cout<<endl;
  107. }
  108. else//选择“否”
  109. {
  110. s->next=NULL;
  111. break;
  112. }
  113. cout<<endl<<"====================================信息录入成功==============================="<<endl;
  114. }
  115. return head;
  116. }
  117. void output_information (information *head)//显示全部账号信息
  118. {
  119. if(head==NULL){
  120. cout<<"暂无注冊信息";
  121. return ;
  122. }
  123. int i=1;
  124. information *s;
  125. s=head;
  126. while(s->next!=NULL)
  127. {
  128. cout<<"用户注冊编码:"<<i<<endl;
  129. cout<<"账号:"<<s->num<<endl;
  130. cout<<"username: "<<s->name<<endl;
  131. cout<<"password:"<<s->key<<endl;
  132. cout<<"身份证号:"<<s->ID<<endl;
  133. cout<<"电话:"<<s->tel<<endl;
  134. cout<<"金额:"<<s->money<<endl<<endl;
  135. s=s->next;
  136. i++;
  137. }
  138. cout<<"用户注冊编码:"<<i<<endl;
  139. cout<<"账号:"<<s->num<<endl;
  140. cout<<"username: "<<s->name<<endl;
  141. cout<<"password:"<<s->key<<endl;
  142. cout<<"身份证号:"<<s->ID<<endl;
  143. cout<<"电话:"<<s->tel<<endl;
  144. cout<<"金额:"<<s->money<<endl;
  145. }
  146. int check_keys(string number,string keys,information *head)//检查账号是否存在且password是否正确
  147. {
  148. int t=0;
  149. information *p=head;
  150. while(p->next!=NULL)
  151. {
  152. if(p->num!=number)
  153. p=p->next;
  154. else
  155. {
  156. if(p->key==keys)
  157. {t=3;//账号存在且password正确
  158. break;
  159. }
  160. else
  161. {t=2;//账号存在可是password不对
  162. break;
  163. }
  164. }
  165. }
  166. if(t==0)
  167. if(p->num==number)
  168. if(p->key==keys)
  169. t=3;//账号存在且password正确
  170. else
  171. t=2;//账号存在可是password不对
  172. return t;
  173. }
  174. void take_money(information * p)//取钱函数
  175. {
  176. double m;
  177. cout<<"请输入提款金额:";
  178. cin>>m;
  179. if(m<=p->money)//推断是否超过账号剩余金额
  180. { p->money=p->money-m;
  181. cout<<"取款成功"<<endl;
  182. }
  183. else
  184. {
  185. while(m>p->money)//若取钱金额超过账户剩余金额
  186. {cout<<"剩余金额不足。请又一次操作"<<endl;
  187. cout<<"请输入提款金额:";
  188. cin>>m;
  189. }
  190. p->money=p->money-m;//对取现后的剩余金额进行改动
  191. cout<<endl<<"======================================取款成功=================================="<<endl;
  192. }
  193. }
  194. void save_money(information *p)//存钱函数
  195. {
  196. double m;
  197. cout<<"请输入存款金额:";
  198. cin>>m;
  199. p->money=p->money+m;//对所存入的账户剩余金额改动
  200. cout<<endl<<"======================================存款成功=================================="<<endl;
  201. }
  202. information*cheak_number(string number,information *head)//在管理员模式下或者是客户在正确输入password后查找客户信息
  203. {
  204. int a=0 ;//标记账户是否存在
  205. information *p=head;
  206. while(p->next!=NULL)
  207. {
  208. if(p->num==number)
  209. { a=1;
  210. break;
  211. }
  212. else
  213. p=p->next;
  214. }
  215. if(p->num==number)
  216. a=1;
  217. if(a==0)
  218. p=NULL;
  219. return p;//返回所查找的客户地址信息
  220. }
  221. void move_money(information *p,information *head)// 转账函数 p是正在登陆的账号地址
  222. {
  223. information *x;//记录所转账号地址
  224. x=NULL ;
  225. double m;//转账金额
  226. string str;//转账账号
  227. char ch ;//记录用户输入的是否继续转账决定
  228. cout<<"请输入要转账的账号:";
  229. cin>>str;
  230. x=cheak_number(str,head);//记录下了所转账好的地址
  231. while(x==NULL)//假设账户不存在
  232. {
  233. x=cheak_number(str,head);//记录下了所转账好的地址
  234. cout<<"账号不存在,是否又一次操作:(1)是 (2)否"<<endl;
  235. cin>>ch;
  236. if(ch=='1')
  237. {
  238. cout<<"请又一次输入要转账的账户:";
  239. cin>>str;
  240. x=cheak_number(str,head);//记录下了所转账好的地址
  241. }
  242. else
  243. break;
  244. }
  245. if(x!=NULL)//假设账户存在
  246. {
  247. cout<<"请输入转账金额:";
  248. cin>>m;
  249. while(p->money<m)
  250. {cout<<"剩余金额不足,请又一次输入转账金额:"<<endl;
  251. cin>>m;
  252. }
  253. x->money=x->money+m ;
  254. p->money=p->money-m;
  255. cout<<endl<<"=====================================转账成功================================"<<endl;
  256. }
  257. }
  258. void revise_information(information *p)//"改动信息"
  259. {
  260. string str,str1;//记录用户账号信息
  261. char ch;//记录用户决定
  262. while(1)
  263. {
  264. cout<<"请选择要改动的信息 (1)账号 (2)username (3)password (4)身份证号 (5)电话 (6)退出改动当前账户信息 ";
  265. cin>>ch;
  266. while(ch!='1'&&ch!='2'&&ch!='3'&&ch!='4'&&ch!='5'&&ch!='6')//用户若输入业务已有误
  267. {
  268. cout<<"请又一次输入有效的业务:";
  269. cin>>ch;
  270. }
  271. if( ch=='1')//改动账号
  272. {
  273. cout<<"请输入新账号:";
  274. cin>>str;
  275. p->num=str;
  276. cout<<endl<<"====================================改动账号成功================================"<<endl;
  277. }
  278. else
  279. if( ch=='2')//改动username
  280. {
  281. cout<<"请输入新的username:";
  282. cin>>str;
  283. p->name=str;
  284. cout<<endl<<"===================================改动username成功=============================="<<endl;
  285. }
  286. else
  287. if( ch=='3')//改动password
  288. {
  289. cout<<"请输入原password:";
  290. cin>>str;
  291. while(p->key!=str)
  292. {
  293. cout<<"与原password不一致,请又一次输入原password:";
  294. cin>>str;
  295. }
  296. cout<<"请输入新password:";
  297. cin>>str;
  298. cout<<"请确认password:";
  299. cin>>str1;
  300. while(str!=str1)
  301. {
  302. cout<<"与第一次输入不同,请又一次设定:";
  303. cout<<"请输入新password:";
  304. cin>>str;
  305. cout<<"请确认password:";
  306. cin>>str1;
  307. }
  308. cout<<endl<<"===============================设定成功,请记好新password=========================="<<endl;
  309. }
  310. else
  311. if( ch=='4')//改动身份证号
  312. {
  313. cout<<"请输入新身份证号:";
  314. cin>>str;
  315. p->ID=str;
  316. cout<<endl<<"==================================改动身份证成功==============================="<<endl;
  317. }
  318. else
  319. if( ch=='5')//改动电话号码
  320. {
  321. cout<<"请输入新电话号码:";
  322. cin>>str;
  323. p->tel=str;
  324. cout<<endl<<"==================================电话号码改动成功============================="<<endl;
  325. }
  326. else
  327. break;//退出改动账户信息
  328. }
  329. }
  330. void show_information(information*p)//显示当前账户信息
  331. {
  332. cout<<"账号:"<<p->num<<endl;
  333. cout<<"username:"<<p->name<<endl;
  334. cout<<"password:"<<p->key<<endl;
  335. cout<<"身份证号:"<<p->ID<<endl;
  336. cout<<"电话:"<<p->tel<<endl;
  337. cout<<"金额:"<<p->money<<endl;
  338. }
  339.  
  340. void query_money(information *p)//显示当前账户剩余金额
  341. {
  342. cout<<"您的剩余金额为:";
  343. cout<<p->money<<endl;
  344. }
  345. information* logon(information *head)//用户注冊账号
  346. {
  347. information *s;
  348. string str;//记录账号信息
  349. cout<<"请输入注冊账号:";
  350. cin>>str;
  351. int t;
  352. if(head==NULL)//假设链表不存在信息,默觉得新注冊的账号不存在
  353. t=0;
  354. else
  355. t=cheak_num(str,head);//推断账号是否已经存在
  356. while(t==1)//账号已经存在 又一次输入
  357. {
  358. cout<<"账号已存在。请又一次注冊:";
  359. cin>>str;
  360. t=cheak_num(str,head);
  361. }
  362. s=new information ;//为链表开辟新空间
  363. s->num=str;
  364. if(head==NULL)
  365. loginmarknumber=str;
  366. cout<<"username:";
  367. cin>>s->name;
  368. cout<<"password:";
  369. cin>>s->key;
  370. cout<<"身份证号:";
  371. cin>>s->ID;
  372. cout<<"电话号码:";
  373. cin>>s->tel;
  374. cout<<"剩余金额:";
  375. cin>>s->money;
  376. if(head==NULL)//假设当前链表没有不论什么信息
  377. {
  378. head=s;
  379. head->next=NULL;
  380. }
  381. else//将新注冊的插入当前链表
  382. {
  383. s->next=head->next;
  384. head->next=s;
  385. }
  386. cout<<endl<<"=====================================注冊成功==================================="<<endl;
  387. return head;
  388. }
  389.  
  390. information * choose(information *head)//普通用户登陆账号以及选择须要的业务
  391. {
  392. int t,loginmark=0;
  393. if(head==NULL){//还没有注冊账号
  394. cout<<endl<<"未有账户注冊,无法完毕登陆功能。请先注冊账户信息"<<endl<<"是否如今注冊:(1)是,(2)稍后注冊"<<endl;
  395. int x;
  396. cin>>x;
  397. while(x!=1&&x!=2){
  398. cout<<"请又一次选择:";
  399. cin>>x;
  400. }
  401. if(x==1){
  402. head=logon(head);
  403. loginmark=1;
  404. }
  405. else
  406. return head ;
  407. }
  408.  
  409. information *p;//p是用来记录所查找到的账号的地址的
  410. string number,keys;//number 记录登陆账号 keys记录账password
  411. if(loginmark==0){
  412. cout<<"请输入账号:";
  413. cin>>number;
  414. cout<<"请输入账号password:";
  415. cin>>keys;
  416. t=check_keys(number,keys,head); //t是用来记录是否存在账号以及password是否正确的。若账号不存在则返回0,若账号password错误返回2,账号存在且password正确时返回3
  417. while(t==0||t==2)//假设账号不存在或者是password输入错误
  418. {
  419. if(t==2)//用户输入password有误
  420. {cout<<"password输入错误,请又一次输入账号及password";
  421. cout<<"账号:";
  422. }
  423. else//账号不存在
  424. cout<<"账号不存在。请又一次输入账号及password,账号:";
  425. cin>>number;
  426. cout<<"password:";
  427. cin>>keys;
  428. t=check_keys(number,keys,head);//调用推断password 账号是否正确
  429. }
  430. }
  431. else
  432. number=loginmarknumber;
  433.  
  434. cout<<endl<<"==================================普通用户登陆成功=============================="<<endl<<endl;
  435. cout<<"请选择业务:(1)取钱 (2)存钱 (3)转账 (4)改动信息 (5)剩余金额查询 (6)显示账号信息 (7)退出账号"<<endl;
  436. p=cheak_number(number,head); //记录所登陆的账号地址
  437. char ch; //记录用户所做的选择
  438. cin>>ch;
  439. while(1)
  440. {
  441. while(ch!='1'&&ch!='2'&&ch!='3'&&ch!='4'&&ch!='5'&&ch!='6'&&ch!='7')//用户若出入业务有误
  442. {cout<<"请又一次输入所需业务:(1)取钱 (2)存钱 (3)转账 (4)改动信息 (5)剩余金额查询 (6)显示账号信息 (7)退出账号"<<endl;
  443. cin>>ch; //又一次输入业务
  444. }
  445. if(ch=='7') //退出当前账户
  446. break;
  447. else
  448. {
  449. switch(ch)
  450. {
  451. case '1':take_money(p);break; //取钱
  452. case '2':save_money(p);break; //存钱
  453. case '3':move_money(p,head);break; //转账
  454. case '4':revise_information(p);break; //改动信息
  455. case '5':query_money(p);break; //查询剩余金额
  456. case '6':show_information(p);break; //查看信息
  457. }
  458. cout<<"请选择业务:(1)取钱 (2)存钱 (3)转账 (4)改动信息 (5)剩余金额查询 (6)显示账号信息 (7)退出账号"<<endl;
  459. cin>>ch;
  460. }
  461. }
  462. return head;
  463. }
  464.  
  465. string change_monitor_keys(string monitor)
  466. {
  467. string string1,string2;//记录用户两次输入password
  468. cout<<"请输入原password:";
  469. cin>>string1;
  470. while(string1!=monitor)//假设管理员password输入不对
  471. {
  472. cout<<"与原password不符,是否又一次输入 (1)是 (2) 否 "<<endl;
  473. char chra;
  474. cin>>chra;//记录用户是否继续登陆
  475. while(chra!='1'&&chra!='2')//推断用户是否存在误操作
  476. {
  477. cout<<"选择有误,请又一次选择:(1)是 (2) 否 "<<endl;
  478. cin>>chra;
  479. }
  480. if(chra=='1')//继续登陆输入账号
  481. {
  482. cout<<"请再次输入原password:";
  483. cin>>string1;
  484. }
  485. else{//停止登陆
  486. cout<<endl<<"==================================password未改动===================================="<<endl;
  487. break;
  488. }
  489. }
  490. if(string1!=monitor)//退出改动管理员password
  491. return monitor;
  492. cout<<"请输入新password:";
  493. cin>>string1;
  494. cout<<"请再次输入确认改动password:";
  495. cin>>string2;
  496. while(string1!=string2)//推断两次输入的新password是否一致
  497. {
  498. cout<<"两次输入password不同样,请选择是否继续改动:(1)是 (2)否"<<endl;
  499. char jilu;//记录用户选择是否继续改动
  500. cin>>jilu;
  501. while(jilu!='1'&&jilu!='2')//推断用户是否存在误操作,是则提示
  502. {
  503. cout<<"请重修选择是否改动:(1)是 (2)否"<<endl;
  504. cin>>jilu;
  505. }
  506. if(jilu=='1')//继续改动password
  507. {
  508. cout<<"请输入新password:";
  509. cin>>string1;
  510. cout<<"请再次输入确认改动password:";
  511. cin>>string2;
  512. }
  513. else{//退出改动password
  514. break;
  515. }
  516. }
  517. if(string2==string1)//假设在两次输入改动password一致,成功改动
  518. {
  519. monitor=string1;
  520. cout<<endl<<"====================================password改动成功==============================="<<endl;
  521. }
  522. else
  523. cout<<endl<<"==================================password未改动=============================="<<endl;
  524. return monitor;
  525. }
  526. void choose_model(information *head,string monitor)//选择開始界面业务
  527. {
  528. information *p;
  529. char ch,mon_cho;//记录用户选择
  530. string str;//后面用到的是管理员password 客户账号
  531. cout<<"==============================欢迎进入银行管理系统=============================="<<endl;
  532. while(1)
  533. {
  534. cout<<"请选择进入模式:"<<endl;
  535. cout<<"(1)管理员模式 (2)普通用户模式 (3)退出系统 "<<endl;
  536. cin>>ch;
  537. while(ch!='1'&&ch!='2'&&ch!='3')//假设用户输入有误。提示
  538. { cout<<"请选择进入模式:"<<endl;
  539. cout<<"(1)管理员模式 (2)普通用户模式 (3)退出系统 "<<endl;
  540. cin>>ch;
  541. }
  542. if(ch=='1')//管理员模式
  543. {
  544. cout<<"您已进入管理员模式"<<endl<<"请输入管理员password:";
  545. cin>>str;
  546. if(monitor!=str)
  547. {
  548. char judge;//用来记录选择
  549. while(monitor!=str)//推断管理员password是否正确
  550. {
  551. cout<<"管理员password输入错误,是否又一次输入 (1)是 (2)否"<<endl;//此处考虑到可能是客户不小心进入能够选择退出管理员模式
  552. cin>>judge;
  553. while(judge!='1'&&judge!='2')//假设用户输入有误,提示
  554. {
  555. cout<<"请又一次选择是否又一次输入password (1)是 (2)否"<<endl;
  556. }
  557. if(judge=='1')//继续输入password
  558. {
  559. cout<<"请又一次输入管理员password:";
  560. cin>>str;//又一次输入管理员password
  561. }
  562. else
  563. {break;//结束本输入password循环
  564. }
  565. }
  566. }
  567. if(monitor==str)//成功登陆管理员
  568. {
  569. cout<<endl<<"==================================管理员登陆成功==============================="<<endl;
  570. while(1)
  571. {
  572.  
  573. cout<<endl<<endl<<"请输入要运行的操作"<<endl;
  574. cout<<"(1)客户信息录入 (2)管理客户信息 (3)改动管理员password (4)显示全部账户信息 (5)退出管理员模式"<<endl;
  575.  
  576. cin>>mon_cho;//记录用户选择
  577. while(mon_cho!='1'&&mon_cho!='2'&&mon_cho!='3'&&mon_cho!='4'&&mon_cho!='5')//假设用户输入有误,提示
  578. {
  579. cout<<endl<<endl<<"请又一次选择模式"<<endl;
  580. cout<<"(1)客户信息录入 (2)管理客户信息 (3)改动管理员password (4)显示全部账户信息 (5)退出管理员模式"<<endl;
  581. cin>>mon_cho;
  582. }
  583. if(mon_cho=='1')//客户信息录入
  584. head=get_information(head);
  585. else
  586. if(mon_cho=='2')//管理账户信息
  587. {
  588. if(head==NULL){
  589. cout<<"对不起,因为暂无账户注冊信息,该操作无法运行"<<endl;
  590. continue;
  591. }
  592. cout<<"请输入要改动的客户账号:";
  593. cin>>str;
  594. p=cheak_number(str,head);//推断账户是否存在
  595. while(p==NULL)//账户不存在。提示又一次输入
  596. {
  597. cout<<"该账号不存在,请又一次输入:";
  598. cin>>str;
  599. p=cheak_number(str,head);
  600. }
  601. revise_information(p);//改动已存在的账户信息
  602. }
  603. else
  604. if(mon_cho=='5')//结束管理员模式
  605. break;
  606. else
  607.  
  608. if(mon_cho=='4')//输出全部账户信息
  609. output_information (head);
  610. else//改动管理员password
  611. monitor=change_monitor_keys(monitor);
  612.  
  613. }
  614. }
  615. }
  616. else
  617. if(ch=='2')//选择普通客户模式
  618. {
  619. char jilu;//记录用户所选业务
  620. cout<<"==============================欢迎进入银行管理系统=============================="<<endl;
  621. while(1)
  622. {
  623. cout<<"请选择须要业务:(1) 注冊 (2) 登录 (3)退出普通用户模式 "<<endl;
  624. cin>>jilu;
  625. while(jilu!='1'&&jilu!='2'&&jilu!='3')//推断用户误操作,提示
  626. {
  627. cout<<"输入错误。请又一次选择业务::(1) 注冊 (2) 登录 (3)退出普通用户模式 "<<endl;
  628. cin>>jilu;
  629. }
  630. if(jilu=='1')//注冊
  631. head=logon(head);
  632. else
  633. if(jilu=='2')//登陆
  634. head=choose(head);
  635. else
  636. break;//退出普通用户模式
  637. }
  638. }
  639. else //退出该系统
  640. break;
  641. }
  642.  
  643. }
  644. int main ()
  645. { information *head=NULL;
  646. string monitor="123";//monitor为管理员初始password
  647. choose_model(head,monitor);
  648. return 0;
  649. }

c++ 银行管理系统及报告的更多相关文章

  1. 银行管理系统[C++]

    //项目:银行管理系统 //系统实现的主要有管理,取款机管理,用户查询等功能: //*管理模块:存款.取款.开户.销户.修改信息.办卡.挂失卡; //*用户查询模块; //*取款机信息管理模块:管理员 ...

  2. python 银行管理系统

    这是一个使用python连接mysql的例子 涉及到类的使用 import pymysql import function as f def mysql(): db=pymysql.connect(h ...

  3. 【代码审计】ESPCMSP8(易思企业建站管理系统)漏洞报告

    0x00简介 项目名称:ESPCMS-P8(易思企业建站管理系统) 测试平台:Windwos 版本信息:P8.19082801稳定版 更新时间:2019-08-30 00:56:32 网站官网:htt ...

  4. Bank Simulation Program银行管理系统C++ :)

    设计并实现简单的银行存取款系统,系统主界面包括登录和注册两个选项,选择登录,提示用户输入银行帐号和密码,验证通过后进入主界面,主界面包括:存款.取款.查询余额.历史记录.修改密码等功能.注册功能让用户 ...

  5. python连接mysql数据库实例demo(银行管理系统数据库版)

    主函数: import adminView import os import pickle from bankFunction import BankFunction import time def ...

  6. java实现银行管理系统

    Bank类 package First; import java.util.TreeSet; //银行类public class Bank {        private String Bankna ...

  7. JavaSwing开发简单的银行管理系统 附源码

    开发环境: Windows操作系统开发工具: MyEclipse/Eclipse+Jdk+mysql数据库 运行效果图:

  8. 我的Java语言学习日志1_"简单的银行管理系统实现"

    设计步骤:注意:本篇代码,直接建两个类( Bank_Account.BankManage)在BankManage往里面填方法就行.是为了让和我一样自学朋友可以更快的接受.但是代码优化的空间还是很大的( ...

  9. 基于Java的简单银行管理系统(MVC设计模式)

    项目导航 功能展示 项目描述 项目结构 `data` `service` `utils` `view ` 欠缺与总结 源码下载 功能展示 本系统基于命令台窗口,暂未与图形页面结合.话不多说,先上效果图 ...

随机推荐

  1. Android局域网访问webservice以及其中的一些问题

    应老师的要求,要做个安卓app,实现备份app上的数据到服务器上的mongodb上,网上搜了下相关的实现方式.利用webservice技术,具体来说就是客户端直接调用服务器端的接口.之前从来没接触这玩 ...

  2. ORM中的N+1问题

    在orm中有一个经典的问题,那就是N+1问题,比如hibernate就有这个问题,这一般都是不可避免的. [N+1问题是怎么出现的] N+1一般出现在一对多查询中,下面以Group和User为例,Gr ...

  3. thinkphp5最美跳转页面

    声明下:此教程来自TP官网,如果需要看原文,请点击一下链接   http://www.thinkphp.cn/code/3437.html 先给大家看下效果: 直接撸代码: 第一步:为了增加对移动设备 ...

  4. hdu6138(后缀数组)

    hdu6138 题意 给出若干个字符串,每次查询两个字符串,求两个字符串的公共子串且在给出的某一个字符串中作为前缀的最大长度. 分析 求公共子串:后缀数组 判断前缀:字典树 求完后缀数组,遍历下 \( ...

  5. Linux命令之free

    free [选项] 显示系统中未使用和使用的内存情况,包括物理内存.交换区内存(swap)和内核缓冲区内存.共享内存将被忽略. (1).选项 -b,-k,-m,-g 以Byte,KB,MB,GB为单位 ...

  6. 5、Flask实战第5天:页面跳转和重定向

    GET和POST请求 在网络请求中有许多请求方式,比如GET, POST, DELETE, PUT等,最常用的就是GET和POST GET 只会在服务器上获取资源,不会更改服务器的状态,这种请求方式推 ...

  7. NGUI_Sprites

    一.UI Sprites 控件: Sprites控件是NGUI的基础控件,几乎可以这么说所有的控件都可以基于Sprites控件添加 Box Collider然后进行附加相关的脚本组件来达到想要的插件效 ...

  8. inline select

  9. 【分类讨论】bzoj3856 Monster

    #include<cstdio> using namespace std; int T=0; long long h,a,b,k; int main() { freopen("b ...

  10. python3-关于GitHub的最基本操作

    阅读目录 介绍 什么是GitHub? 创建存储库 创建一个分支 做一个提交 打开拉取请求 合并拉取请求 一.介绍 Hello World项目是计算机编程历史悠久的传统.这是一个简单的练习,可以让你在学 ...