在上小学期的时间里,用C语言简单的写了一个银行的管理系统实例,整体上还是显得有些粗糙。但是对于初学者来说,可以作为一些参考。程序的编写环境是VS2013,为了能让学校运行,所以在DEVC++中进行了测试。由于在编写的时候在循环体中加入了局部变量,所以在VC++中是不能被编译的,如果有需要的同学可以自行修改。

1/全局头文件(banksystem.h)

  1. /*
  2. **banksystem文件头
  3. **ASorb time:201807
  4. */
  5. #include<stdio.h>
  6. #include<stdlib.h>
  7. #include<string.h>
  8. #include<time.h>
  9. //基本常量
  10. #define user_max 99 //用户最大数
  11. #define take_notes_max 20 //记录数
  12. #define data_file "bankdata.orb" //数据文件默认地址
  13. #define user_size sizeof(user)
  14. //结构体变量
  15. struct take_notes{
  16. char handle[10]; //操作
  17. float money; //操作的钱数
  18. struct tm T; //时间结构体
  19. };
  20. typedef struct{
  21. char name[25]; //用户名
  22. unsigned int card; //银行卡号
  23. char pass[8]; //密码
  24. float balance; //余额
  25. struct take_notes list[take_notes_max];
  26. }user;
  27. //宏

2/入口文件(main.cpp)

  1. /*
  2. **功能实现:银行系统实例
  3. **开发环境:VS2013
  4. **ASorb time:201807
  5. **默认管理名:asorb 号:18072801 密码:123456
  6. **测试环境:DEVC++5.10 (修改:1/结构体不能直接赋值,分成员赋值)
  7. */
  8. //主函数
  9. #include"banksystem.h"
  10. int main(){
  11. void file_true();
  12. void face();
  13. char face_1();
  14. void face_2();
  15. void add_user();
  16. user* login();
  17. face(); //初始化窗口
  18. file_true();
  19. char h1;
  20. while ((h1 = face_1()) != \'Q\') {
  21. if (h1 == \'A\'){
  22. if (login()->name[0] != NULL){
  23. system("cls");
  24. face_2();
  25. }
  26. }
  27. else if (h1 == \'B\')
  28. add_user();
  29. }
  30. return 0;
  31. }

3/功能函数文件(function.cpp)

  1. /*
  2. **功能函数
  3. **ASorb time:201807
  4. */
  5. #include"banksystem.h"
  6. //添加新用户
  7. void add_user(){
  8. int user_num();
  9. void file_read(user*);
  10. void file_save(user*, int);
  11. user p = { NULL };
  12. char y = NULL;
  13. printf("\n\n注册用户\n");
  14. printf("--------------\n你的姓名(20字符内):");
  15. fflush(stdin);
  16. gets(p.name);
  17. printf("你的密码(6个字符):");
  18. fflush(stdin);
  19. gets(p.pass);
  20. if (strlen(p.name) == 0 || strlen(p.name) > 20){
  21. printf("ERROR224:姓名格式错误!\n");
  22. y = \'N\';
  23. }
  24. if (strlen(p.pass) != 6){
  25. printf("ERROR224:密码格式错误!\n");
  26. y = \'N\';
  27. }
  28. if (y == NULL){
  29. user list[user_max] = { NULL };
  30. file_read(list);
  31. for (int i = user_num() - 1; i >= 0; i--)
  32. if (strcmp(list[i].name, p.name) == 0){
  33. printf("------------------\n");
  34. printf("提示:系统检测到存在相同的用户名,继续注册将添加新的卡号!\n");
  35. printf("\tY.继续\t回车键放弃\n");
  36. printf("键入选择:");
  37. fflush(stdin);
  38. y = getchar();
  39. }
  40. if (y == \'Y\' || y == NULL){
  41. (p.card) = ((list + (user_num() - 1))->card + 1); //新银行卡号
  42. p.balance = 0;
  43. list[user_num()] = p; //加入用户
  44. file_save(list, user_num() + 1);
  45. system("cls");
  46. printf("提示:注册成功!\n\t用户名:%s\t卡号:%d", p.name, p.card);
  47. }
  48. else{
  49. system("cls");
  50. printf("提示:用户放弃注册!");
  51. }
  52. }
  53. else{
  54. printf("\n提示:注册失败!回车键返回...\n");
  55. fflush(stdin);
  56. getchar();
  57. system("cls");
  58. }
  59. }
  60. //用户登录
  61. user* login(){
  62. static user p = { NULL };
  63. int user_num();
  64. void file_read(user*);
  65. user list[user_max] = { NULL };
  66. file_read(list);
  67. if (p.name[0] == NULL){
  68. printf("--------------------\n");
  69. printf("输入卡号:");
  70. fflush(stdin);
  71. scanf("%d", &p.card);
  72. printf("输入密码:");
  73. fflush(stdin);
  74. gets(p.pass);
  75. for (int i = user_num() - 1; i >= 0; i--){
  76. if (list[i].card == p.card){
  77. if (strcmp(list[i].pass, p.pass) == 0)
  78. p = list[i];
  79. else{
  80. p.name[0] = NULL;
  81. printf("提示:密码错误!回车键返回.....\n");
  82. fflush(stdin);
  83. getchar();
  84. system("cls");
  85. }
  86. break;
  87. }
  88. else if (i == 0){
  89. p.name[0] = NULL;
  90. printf("提示:卡号不存在!回车键返回......\n");
  91. fflush(stdin);
  92. getchar();
  93. system("cls");
  94. }
  95. }
  96. }
  97. else{
  98. for (int i = user_num(); i >= 0; i--)
  99. if (list[i].card == p.card){
  100. p = list[i];
  101. break;
  102. }
  103. }
  104. return &p;
  105. }
  106. //余额查询
  107. void balance_num(){
  108. user* login();
  109. user *p = login();
  110. void handle_save(struct tm*,float,char arr[]);
  111. struct tm* time_now();
  112. static int num_1 = 1;
  113. struct tm *t = time_now();
  114. printf("余额查询-银行系统实例\n\n\n\n");
  115. printf("\t┌────────────────┬────────────────┬──────────────────┐\n");
  116. printf("\t│姓名:%-10s│卡号:%-10d│余额:%10.2f元│\n", p->name, p->card, p->balance);
  117. printf("\t└────────────────┴────────────────┴──────────────────┘\n");
  118. handle_save(t, 0,"balance"); //保存记录
  119. printf("\n\t$$当前时间:%d-%d-%d %d:%d:%d 已记录", 1900+t->tm_year, 1+t->tm_mon,t->tm_mday,8+t->tm_hour,t->tm_min,t->tm_sec);
  120. printf("\n\nY.刷新\t回车键返回.....\n");
  121. printf("----------------\n键入选择:");
  122. fflush(stdin);
  123. if (getchar() == \'Y\'){
  124. system("cls");
  125. printf("第 %d 次刷新成功!\t",num_1++);
  126. balance_num();
  127. }
  128. else
  129. system("cls");
  130. }
  131. //取款
  132. void draw(){
  133. void file_read(user*);
  134. void file_save(user*,int);
  135. void handle_save(struct tm*, float, char arr[]);
  136. struct tm* time_now();
  137. struct tm *t = time_now();
  138. int user_num();
  139. int num_2 = 0;
  140. float money;
  141. user* login();
  142. user *p = login();
  143. user list[user_max] = { NULL };
  144. printf("\n--------------\n金额:");
  145. scanf("%f", &money);
  146. if (money <= 0){
  147. system("cls");
  148. printf("提示:取款失败,原因金额应大于零!\t");
  149. }
  150. else if (money > (p->balance)) {
  151. system("cls");
  152. printf("提示:取款失败,原因余额不足!\t");
  153. }
  154. else {
  155. file_read(list);
  156. for (num_2; list[num_2].card != p->card; num_2++);
  157. (p->balance) -= money;
  158. list[num_2].balance = p->balance;
  159. handle_save(t, money, "draw");
  160. file_save(list, user_num());
  161. system("cls");
  162. printf("提示:取款成功! 金额:%.2f元\t", money);
  163. }
  164. }
  165. //存款
  166. void deposit(){
  167. void file_read(user*);
  168. void file_save(user*, int);
  169. void handle_save(struct tm*, float, char arr[]);
  170. struct tm* time_now();
  171. struct tm *t = time_now();
  172. int user_num();
  173. int num_3 = 0;
  174. float money;
  175. user* login();
  176. user *p = login();
  177. user list[user_max] = { NULL };
  178. printf("\n--------------\n金额:");
  179. scanf("%f", &money);
  180. if (money <= 0){
  181. system("cls");
  182. printf("提示:存款失败,原因金额应大于零!\t");
  183. }
  184. else {
  185. file_read(list);
  186. for (num_3; list[num_3].card != p->card; num_3++);
  187. (p->balance) += money;
  188. list[num_3].balance = p->balance;
  189. handle_save(t, money, "deposit");
  190. file_save(list, user_num());
  191. system("cls");
  192. printf("提示:存款成功! 金额:%.2f元\t", money);
  193. }
  194. }
  195. //修改密码
  196. void editpass(){
  197. void file_read(user*);
  198. void file_save(user*, int);
  199. user* login();
  200. int user_num();
  201. void handle_save(struct tm*, float, char arr[]);
  202. struct tm* time_now();
  203. struct tm *t = time_now();
  204. user *p = login();
  205. user list[user_max] = { NULL };
  206. char pass[8];
  207. int num_6 = 0;
  208. printf("\n\n----------------------\n");
  209. printf("*认证/输入原密码:");
  210. fflush(stdin);
  211. gets(pass);
  212. if (strcmp(p->pass, pass) == 0){
  213. printf("输入新密码(6个字符):");
  214. fflush(stdin);
  215. gets(pass);
  216. if (strlen(pass) == 6){
  217. file_read(list);
  218. for (num_6; list[num_6].card != p->card; num_6++);
  219. strcpy(list[num_6].pass, pass);
  220. handle_save(t, 0, "editpass");
  221. file_save(list, user_num());
  222. system("cls");
  223. printf("提示:新密码设置成功,以后请使用新密码登录!\t");
  224. }
  225. else{
  226. system("cls");
  227. printf("提示:修改失败,原因新密码不符合规定!\t");
  228. }
  229. }
  230. else{
  231. system("cls");
  232. printf("提示:修改失败,原因认证失败!\t");
  233. }
  234. }
  235. //名下账户
  236. void account(){
  237. user* login();
  238. user *p = login();
  239. void file_read(user*);
  240. user list[user_max] = { NULL };
  241. int user_num();
  242. int num_8 = 0;
  243. file_read(list);
  244. system("cls");
  245. printf("用户:%s 名下账户\n\n\n", p->name);
  246. printf("\t\t┌─────┬─────────────────┬─────────────┐\n");
  247. printf("\t\t│序 号│ 姓 名 │卡 号 │\n");
  248. for (int i = user_num() - 1; i >= 0; i--, num_8++)
  249. if (strcmp(list[i].name, p->name) == 0){
  250. printf("\t\t├─────┼─────────────────┼─────────────┤\n");
  251. printf("\t\t│%5d│%17s│%13d│\n", i, list[i].name, list[i].card);
  252. }
  253. printf("\t\t└─────┴─────────────────┴─────────────┘\n");
  254. printf("\t\t$$共%d条数据\n", num_8);
  255. printf("\n\n回车键返回......\n");
  256. fflush(stdin);
  257. getchar();
  258. system("cls");
  259. }
  260. //注销
  261. char del_user(){
  262. user* login();
  263. user *p = login();
  264. int user_num();
  265. void file_read(user*);
  266. void file_save(user*, int);
  267. user list[user_max] = { NULL };
  268. char pass[8];
  269. int num_7 = 0;
  270. if (p->card != 18072801) {
  271. printf("\n\n--------------\n认证/输入密码:");
  272. fflush(stdin);
  273. gets(pass);
  274. if (strcmp(p->pass, pass) == 0){
  275. file_read(list);
  276. for (num_7; list[num_7].card != p->card; num_7++);
  277. for (num_7; num_7 < user_num() - 1; num_7++)
  278. list[num_7] = list[num_7 + 1];
  279. file_save(list, user_num() - 1);
  280. p->name[0] = NULL;
  281. printf("\n卡号:%d 注销成功,回车键返回......\n", p->card);
  282. fflush(stdin);
  283. getchar();
  284. return \'Q\';
  285. }
  286. else{
  287. system("cls");
  288. printf("提示:注销失败,原因认证失败!\t");
  289. return NULL;
  290. }
  291. }
  292. else{
  293. system("cls");
  294. printf("提示:默认管理员账户不能注销!\t");
  295. return NULL;
  296. }
  297. }
  298. //登出系统
  299. char out_login(){
  300. user* login();
  301. user *p = login();
  302. printf("\n\n------------------\n");
  303. printf("\tQ.返回\t回车键登出系统.......\n");
  304. fflush(stdin);
  305. if (getchar() == \'Q\'){
  306. system("cls");
  307. return NULL;
  308. }
  309. else{
  310. p->name[0] = NULL;
  311. return \'Q\';
  312. }
  313. }
  314. //记录查询
  315. void handle_list(){
  316. user* login();
  317. user *p = login();
  318. char h1;
  319. struct tm t[2];
  320. printf("\n\n---------------------\n\tA.近%d条记录\tB.按时间段查询\n", take_notes_max);
  321. printf("键入序号:");
  322. fflush(stdin);
  323. h1 = getchar();
  324. int num_9 = 0;
  325. if (h1 == \'A\'){
  326. system("cls");
  327. printf("卡号:%d 最近%d条记录\n\n", p->card, take_notes_max);
  328. for (int i = 0; (i < take_notes_max)&&(p->list[i].handle[0] != NULL); i++)
  329. printf("##日期:%d年%d月%d日 %d:%d:%d\n\t操作:%s\t金额:%.2f\n", 1900 + p->list[i].T.tm_year, 1 + p->list[i].T.tm_mon, p->list[i].T.tm_mday, 8 + p->list[i].T.tm_hour, p->list[i].T.tm_min, p->list[i].T.tm_sec, p->list[i].handle, p->list[i].money);
  330. printf("\n\n\n回车键返回........\n");
  331. fflush(stdin);
  332. getchar();
  333. system("cls");
  334. }
  335. else if (h1 == \'B\'){
  336. printf("\n\n------------------------\n输入开始日期(格式:2018-07-29):");
  337. scanf("%d-%d-%d", &t[0].tm_year, &t[0].tm_mon, &t[0].tm_mday);
  338. printf("输入结束日期:");
  339. scanf("%d-%d-%d", &t[1].tm_year, &t[1].tm_mon, &t[1].tm_mday);
  340. system("cls");
  341. printf("日期:%d年%d月%d日-%d年%d月%d日 的记录\n\n", t[0].tm_year,t[0].tm_mon, t[0].tm_mday, t[1].tm_year, t[1].tm_mon, t[1].tm_mday);
  342. for (int i = 0;( i < take_notes_max)&&(p->list[i].handle[0] != NULL); i++)
  343. if (p->list[i].T.tm_year >= (t[0].tm_year - 1900) && p->list[i].T.tm_mon >= (t[0].tm_mon - 1) && p->list[i].T.tm_mday >= t[0].tm_mday)
  344. if (p->list[i].T.tm_year <= (t[1].tm_year - 1900) && p->list[i].T.tm_mon <= (t[1].tm_mon - 1) && p->list[i].T.tm_mday <= t[1].tm_mday) {
  345. printf("##日期:%d年%d月%d日 %d:%d:%d\n\t操作:%s\t金额:%.2f\n", 1900 + p->list[i].T.tm_year, 1 + p->list[i].T.tm_mon, p->list[i].T.tm_mday, 8 + p->list[i].T.tm_hour, p->list[i].T.tm_min, p->list[i].T.tm_sec,p->list[i].handle,p->list[i].money);
  346. num_9++;
  347. }
  348. printf("\n\n$$共%d条记录\n", num_9);
  349. printf("\n\n回车键返回.......\n");
  350. fflush(stdin);
  351. getchar();
  352. system("cls");
  353. }
  354. else{
  355. system("cls");
  356. printf("提示:选择错误,重新选择!\t");
  357. }
  358. }
  359. //转账
  360. void cover(){
  361. user* login();
  362. void file_read(user*);
  363. void file_save(user*, int);
  364. int user_num();
  365. user *p = login();
  366. user list[user_max] = { NULL };
  367. int card;
  368. float money, F;
  369. printf("\n\n----------------\n收款人卡号:");
  370. scanf("%d", &card);
  371. file_read(list);
  372. for (int i = user_num() - 1; i >= 0; i--)
  373. if (list[i].card == card){
  374. int ii = strlen(list[i].name);
  375. printf("##收款人:%s\n", list[i].name);
  376. printf("$$输入转账金额:");
  377. scanf("%f", &money);
  378. if (money >= 0 && money <= p->balance){
  379. printf("\tY.确认转账\t回车键取消.........\n");
  380. printf("键入选择:");
  381. fflush(stdin);
  382. if (getchar() == \'Y\'){
  383. for (ii = user_num() - 1; ii >= 0 && (list[ii].card != p->card); ii--);
  384. list[i].balance += money;
  385. p->balance -= money;
  386. list[ii].balance = p->balance;
  387. file_save(list, user_num());
  388. system("cls");
  389. printf("提示:转账成功! 收款人:%d 金额:%.2f\t", card, money);
  390. }
  391. else{
  392. system("cls");
  393. printf("提示:取消转账!\t");
  394. }
  395. }
  396. else{
  397. system("cls");
  398. printf("提示:余额不足,转账失败!\t");
  399. }
  400. card = 0;
  401. break;
  402. }
  403. if (card != 0){
  404. system("cls");
  405. printf("提示:转账失败,原因不存在的收款人!\t");
  406. }
  407. }
  408. //用户列表,管理员
  409. void user_list(){
  410. user* login();
  411. user *p = login();
  412. void file_read(user*);
  413. void file_save(user*, int);
  414. int user_num();
  415. int user_u;
  416. char h1;
  417. user list[user_max] = { NULL };
  418. if (p->card == 18072801){
  419. printf("欢迎管理员%s\t卡号:%d\n", p->name, p->card);
  420. file_read(list);
  421. printf("\n\n");
  422. printf("\t┌──────┬───────────────┬───────────┬────────────┐\n");
  423. printf("\t│序号 │姓名 │卡号 │余额 │\n");
  424. for (int i = user_num() - 1; i >= 0; i--)
  425. if (list[i].card != 18072801){
  426. printf("\t├──────┼───────────────┼───────────┼────────────┤\n");
  427. printf("\t│%6d│%15s│%11d│%12.2f│\n", i, list[i].name, list[i].card, list[i].balance);
  428. }
  429. printf("\t└──────┴───────────────┴───────────┴────────────┘\n");
  430. printf("\t\t$$共有%d条数据\n", user_num() - 1);
  431. printf("\n\n--------------------\n对用户操作:\n\tA.修改密码\tB.删除用户\t回车键返回上一级.......\n");
  432. printf("键入序号:");
  433. fflush(stdin);
  434. h1 = getchar();
  435. if (h1 == \'A\' || h1 == \'B\') {
  436. printf("操作用户的序号:");
  437. scanf("%d", &user_u);
  438. if (user_u >= 0 && user_u <= (user_num() - 1)) {
  439. if (h1 == \'A\'){
  440. printf("输入新密码:");
  441. fflush(stdin);
  442. gets(list[user_u].pass);
  443. file_save(list, user_num());
  444. system("cls");
  445. printf("卡号:%d 密码修改成功!\t",list[user_u].card);
  446. user_list();
  447. }
  448. else{
  449. printf("Y.确定删除\t回车键返回.......\n");
  450. fflush(stdin);
  451. if (getchar() == \'Y\'){
  452. for (int i = user_num() - 1; i > user_u; user_u++)
  453. list[user_u] = list[user_u + 1];
  454. file_save(list, user_num() - 1);
  455. system("cls");
  456. printf("提示:删除成功!\t");
  457. user_list();
  458. }
  459. else{
  460. system("cls");
  461. printf("提示:放弃删除操作!\t");
  462. user_list();
  463. }
  464. }
  465. }
  466. else{
  467. system("cls");
  468. printf("提示:操作失败,原因不存在该序号!\t");
  469. user_list();
  470. }
  471. }
  472. else
  473. system("cls");
  474. }
  475. }
  476. //时间函数,获取当前时间
  477. /*tm返回UTC时间,转换北京时间year+1900,mon+1,hour+8*/
  478. struct tm* time_now(){
  479. struct tm *p;
  480. time_t *timep = (time_t*)malloc(sizeof(time_t));
  481. time(timep);
  482. p = gmtime(timep);
  483. free(timep);
  484. return p;
  485. }
  486. //操作记录
  487. void handle_save(struct tm *t, float money,char arr[10]){
  488. void file_read(user*);
  489. void file_save(user*, int);
  490. int user_num();
  491. user* login();
  492. user *p = login();
  493. user *p1 = (user*)calloc(user_max, user_size);
  494. int num_4 = 0;
  495. for (num_4; p->list[num_4].handle[0] != NULL; num_4++); //取得已存条数
  496. if (num_4 == take_notes_max){
  497. for (int i = 0; i < num_4; i++)
  498. p->list[i] = p->list[i + 1];
  499. }
  500. strcpy(p->list[num_4].handle, arr);
  501. p->list[num_4].T = *t;
  502. p->list[num_4].money = money;
  503. file_read(p1);
  504. for (num_4 = 0; (p1 + num_4)->card != p->card; num_4++);
  505. *(p1 + num_4) = *p;
  506. file_save(p1, user_num());
  507. free(p1);
  508. }
  509. //用户数量
  510. int user_num(){
  511. void file_read(user*);
  512. int num_5 = 0;
  513. user list[user_max] = { NULL };
  514. file_read(list);
  515. while ((list[num_5].name[0]) != NULL)
  516. num_5++;
  517. return num_5;
  518. }
  519. //加密
  520. void data_j(user *p){
  521. for (int i = 0; i < strlen(p->name); i++)
  522. p->name[i] += 2;
  523. for (int i = 0; i < 6; i++)
  524. p->pass[i] += 5;
  525. }
  526. //解密
  527. void data_i(user *p){
  528. for (int i = 0; i < strlen(p->name); i++)
  529. p->name[i] -= 2;
  530. for (int i = 0; i < 6; i++)
  531. p->pass[i] -= 5;
  532. }

4/数据操作文件(datalink.cpp)

  1. /*
  2. **文件操作
  3. **ASorb time:201807
  4. */
  5. #include"banksystem.h"
  6. //文件检测
  7. void file_true(){
  8. void file_save(user*, int);
  9. FILE *data = fopen(data_file, "rb");
  10. if (data == NULL){
  11. user p={NULL};
  12. strcpy(p.name,"asorb");
  13. p.card=18072801;
  14. strcpy(p.pass,"123456");
  15. p.balance=100; //定义一条测试数据
  16. file_save(&p, 1); //保存测试的数据
  17. }
  18. else
  19. fclose(data);
  20. }
  21. //写入文件
  22. void file_save(user *p, int count) {
  23. void data_j(user*);
  24. for (int i = 0; i < count; i++)
  25. data_j(p + i);
  26. FILE *data = fopen(data_file, "wb");
  27. fwrite(p, user_size, count, data);
  28. fclose(data);
  29. }
  30. //读取文件
  31. void file_read(user *p){
  32. void data_i(user*);
  33. FILE *data = fopen(data_file, "rb");
  34. fread(p, user_size, user_max, data);
  35. for (int i = 0; (p + i)->name[0] != NULL; i++)
  36. data_i(p + i);
  37. fclose(data);
  38. }

5/界面文件(interface.cpp)

  1. /*
  2. **显示菜单
  3. **ASorb time:201807
  4. */
  5. #include"banksystem.h"
  6. //初始化窗口
  7. void face(){
  8. system("title 银行系统实例");
  9. system("color 2F");
  10. }
  11. //初始界面
  12. char face_1(){
  13. char h1;
  14. printf("\nAuthor:ASorb\tTime:201807");
  15. printf("\n\n\n\n\n\n\t\t\tA.进入系统\tB.新用户\n\n\t\t\tQ.退出系统\n");
  16. printf("\n\n---------------\n键入序号:");
  17. fflush(stdin); //清除输入缓存
  18. h1 = getchar();
  19. if (h1 == \'A\' || h1 == \'B\' || h1 == \'Q\')
  20. return h1;
  21. else{
  22. system("cls");
  23. printf("提示:选择有误,重新选择!");
  24. }
  25. }
  26. //登录后界面
  27. void face_2(){
  28. user* login();
  29. user *p = login();
  30. void balance_num();
  31. void draw();
  32. void deposit();
  33. void editpass();
  34. void account();
  35. char del_user();
  36. char out_login();
  37. void handle_list();
  38. void user_list();
  39. void cover();
  40. char h1;
  41. while (1){
  42. printf("欢迎用户:%s\n", p->name);
  43. printf("\n\n\n\n\t\t\tA.余额查询\tB.取款\n");
  44. printf("\n\t\t\tC.修改密码\tD.存款\n");
  45. printf("\n\t\t\tE.名下账户\tF.注销\n");
  46. printf("\n\t\t\tG.登出系统\tH.记录\n");
  47. printf("\n\t\t\tQ.返回上一级\tI.转账\n");
  48. if (p->card == 18072801)
  49. printf("\n\t\t\t\tU.用户列表*\n");
  50. printf("\n----------------\n键入序号:");
  51. fflush(stdin);
  52. if ((h1 = getchar()) >= \'A\'&&h1 <= \'I\'){
  53. switch (h1){
  54. case \'A\':
  55. system("cls"); balance_num(); break;
  56. case \'B\':
  57. draw(); break;
  58. case \'C\':
  59. editpass(); break;
  60. case \'D\':
  61. deposit(); break;
  62. case \'E\':
  63. account(); break;
  64. case \'F\':
  65. h1 = del_user(); break;
  66. case \'G\':
  67. h1 = out_login(); break;
  68. case \'H\':
  69. handle_list(); break;
  70. case \'I\':
  71. cover();
  72. }
  73. if (h1 == \'Q\'){
  74. system("cls");
  75. break;
  76. }
  77. }
  78. else if (h1 == \'Q\'){
  79. system("cls");
  80. break;
  81. }
  82. else if (h1 == \'U\'){
  83. system("cls"); user_list();
  84. }
  85. else{
  86. system("cls");
  87. printf("提示:选择有误,重新选择!\n");
  88. }
  89. }
  90. }

效果图
测试效果图

 DEVC++下测试工程文件(源代码):

https://download.csdn.net/download/qq_42304721/10592413

版权声明:本文为nsleaf原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/nsleaf/archive/2004/01/13/13211053.html