鱼C论坛

 找回密码
 立即注册
查看: 1890|回复: 1

银行账户管理系统代码及问题

[复制链接]
发表于 2015-1-4 15:30:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

  1. <P> </P>
  2. <P> </P>
  3. <P> </P>
  4. <P> </P>
  5. <P>#include <string.h>
  6. #include <stdio.h>
  7. #include <stdlib.h>
  8. char cfile[] = "date.txt";//创建一个文件
  9. struct bank
  10. {
  11. char id[10+1];
  12. char psw[6+1];
  13. float money; //定义账号,密码,金额
  14. };

  15. menu1()
  16. {
  17. printf("*************欢迎使用虚拟银行服务!*****************\n");
  18. printf("***************************************************\n");
  19. printf(" || 请输入序号 ||\n");
  20. printf(" || 1.新用户开户。 ||\n");
  21. printf(" || 2.老用户登陆。 ||\n");
  22. printf(" || 3.退出系统。 ||\n");
  23. printf("***************************************************\n");
  24. printf("请选择功能:\n");
  25. }//一级菜单,实现新用户注册和老用户




  26. menu2()
  27. {
  28. printf("************** 欢迎进入虚拟银行系统 ***************\n");
  29. printf("***************************************************\n");
  30. printf("**************1.取款; ***************\n");
  31. printf("**************2.存款; ***************\n");
  32. printf("**************3.查询余额; ***************\n");
  33. printf("**************4.返回主页面; ***************\n");
  34. printf("**************任意键退出. ***************\n");
  35. printf("***************************************************\n");
  36. }//二级菜单实现老用户登陆后的各种功能



  37. int search(char* user, char* pwd, char* real_pwd)//将注册的账号与已注册的账号对比是否重复
  38. {
  39. FILE* file;
  40. char user_no[256], pwd_no[256];
  41. file = fopen(cfile, "r");//以只读方式打开文本文件。
  42. if (!file)
  43. return 0;
  44. while (!feof(file))//feof(fp)有两个返回值:如果遇到文件结束,函数feof(fp)的值为非零值,否则为0。
  45. {
  46. if (fscanf(file, "%s%s\n", user_no, pwd_no) == EOF)
  47. return 0;
  48. if (!strcmp(user_no, user))//字符串的比较,(前1,后2)若str1==str2,则返回零;若str1>str2,则返回正数;若str1<str2,则返回负数。
  49. {
  50. if (real_pwd) strcpy(real_pwd, pwd_no);//将字符串2复制到字符串1中,应确保字符数组1足够大以便于存储字符串2。
  51. return 1;
  52. }
  53. }
  54. fclose(file);//把缓冲区内最后剩余的数据输出到磁盘文件中,并释放文件指针和有关的缓冲区。
  55. return 0;
  56. }


  57. int add(char* user, char* pwd)//如果新注册的账号不重复,则将其添加至文件data.txt中
  58. {
  59. FILE* file;
  60. file = fopen(cfile, "a");//以只写的方式打开文本文件,位置指针指向文件末尾,原文件数据保留。
  61. if (!file)
  62. return 0;
  63. fprintf(file, "%s %s \n", user, pwd );
  64. fclose(file);
  65. return 0;
  66. }



  67. int wenjian(char* user, char* pwd )
  68. {
  69. if (search(user, pwd, NULL))
  70. return 0;
  71. else add(user, pwd );
  72. return 1;
  73. }




  74. zhuce()//新用户注册
  75. {
  76. struct bank *p;
  77. int i=0;
  78. char name[30];
  79. float money;
  80. char sh[18],n;
  81. p=(struct bank*)malloc(sizeof(struct bank));//p创造动态存储空间
  82. printf("请输入您的名字:");
  83. gets(name);
  84. fflush(stdin); //清空输入缓冲区,通常是为了确保不影响后面的数据读取(例如在读完一个字符串后紧接着又要读取一个字符,此时应该先执行fflush(stdin);)
  85. printf("请输入您的身份证号码:");
  86. gets(sh);
  87. fflush(stdin);
  88. printf("请输入您的帐号10位:\n");
  89. fflush(stdin);
  90. scanf("%s",p->id);
  91. fflush(stdin);
  92. printf("请输入您的密码(6位数字):\n");
  93. fflush(stdin);
  94. scanf("%s",p->psw);
  95. fflush(stdin);
  96. printf("请输入您的存款:\n");
  97. fflush(stdin);
  98. scanf("%f",&money);
  99. fflush(stdin);
  100. if (wenjian(p->id,p->psw))
  101. {
  102. system("cls");
  103. printf("注册成功!");
  104. printf("您的注册信息如下:\n");
  105. printf("名字:");
  106. puts(name);
  107. printf("身份证号码:");
  108. puts(sh);
  109. printf("帐号:");
  110. puts(p->id);
  111. printf("密码:");
  112. puts(p->psw);
  113. printf("存款");
  114. printf("%f",money);
  115. printf("按1返回主页面. 按任意键退出:");
  116. fflush(stdin);
  117. scanf("%c",&n);
  118. fflush(stdin);
  119. if(n=='1')
  120. {
  121. system("cls");
  122. return 0;
  123. }
  124. else
  125. exit(0);//当输入1时返回上一级菜单,否则程序终止
  126. }
  127. else
  128. {
  129. system("cls");
  130. printf("您输入的帐号已经存在注册失败!按1返回,按任意键退出\n");

  131. scanf("%c",&n);
  132. if(n=='1')
  133. {
  134. system("cls");
  135. return 0;
  136. }
  137. else
  138. exit(0);
  139. }
  140. }




  141. gongneng(char Account[10],char Password[6],float Money)//实现老用户登陆后的各种功能
  142. {
  143. FILE *ps;
  144. struct bank xin[100];
  145. int k=0,j=0,n;
  146. char Chiose;

  147. float inmoney,outmoney;
  148. menu2();
  149. fflush(stdin);
  150. scanf("%c",&Chiose);
  151. fflush(stdin);
  152. ps=fopen(cfile,"r");
  153. if (!ps)
  154. {
  155. exit(0);
  156. }
  157. if(Chiose=='1')
  158. {
  159. printf("输入您的取款金额:");
  160. fflush(stdin);
  161. scanf("%lf",&outmoney);
  162. fflush(stdin);
  163. while(!feof(ps))
  164. {
  165. fscanf(ps, "%s %s %lf",&xin[k].id,&xin[k].psw,&xin[k].money);
  166. k++;
  167. }
  168. fclose(ps);
  169. ps=fopen(cfile,"wb");
  170. if (!ps)
  171. {
  172. exit(0);
  173. }

  174. for (j=0;;j++)


  175. {if ((strcmp(Account, xin[j].id)==0)&&(strcmp(Password, xin[j].psw)==0))

  176. { xin[j].money=xin[j].money-outmoney;

  177. printf("%.2lf\n",xin[j].money);
  178. fprintf(ps, "%s %s %.2lf\n", xin[j].id, xin[j].psw, xin[j].money);
  179. j++; break;}

  180. }//实现菜单2中的取款功能
  181. printf("按1返回主页面. 按任意键退出:");
  182. fflush(stdin);
  183. scanf("%c",&n);
  184. fflush(stdin);
  185. if(n=='1')
  186. {
  187. system("cls");
  188. return 0;
  189. }
  190. else
  191. exit(0);

  192. }

  193. if(Chiose=='2')

  194. {
  195. printf("输入您的存款款金额:");
  196. fflush(stdin);
  197. scanf("%lf",&inmoney);
  198. fflush(stdin);
  199. while(!feof(ps))
  200. {
  201. fscanf(ps, "%s %s %lf",&xin[k].id,&xin[k].psw,&xin[k].money);
  202. k++;
  203. }
  204. fclose(ps);
  205. ps=fopen(cfile,"wb");
  206. if (!ps)
  207. {
  208. exit(0);
  209. }

  210. for (j=0;;j++)
  211. {

  212. { if ((strcmp(Account, xin[j].id)==0)&&(strcmp(Password, xin[j].psw)==0))

  213. xin[j].money=xin[j].money+inmoney;

  214. printf("%.2lf\n",xin[j].money);
  215. fprintf(ps, "%s %s %.2lf\n", xin[j].id, xin[j].psw, xin[j].money);
  216. j++; break;
  217. } }//实现菜单2中的存款功能

  218. printf("按1返回主页面. 按任意键退出:");
  219. fflush(stdin);
  220. scanf("%c",&n);
  221. fflush(stdin);
  222. if(n=='1')
  223. {
  224. system("cls");
  225. return 0;
  226. }
  227. else
  228. exit(0);



  229. }

  230. if(Chiose=='3')
  231. {
  232. while(!feof(ps))
  233. {
  234. fscanf(ps, "%s %s %lf",&xin[k].id,&xin[k].psw,&xin[k].money);
  235. k++;
  236. }

  237. fclose(ps);
  238. ps=fopen(cfile,"r");
  239. if (!ps)
  240. {
  241. exit(0);
  242. }

  243. for(j=0;;j++)
  244. {

  245. {if ((strcmp(Account, xin[j].id)==0)&&(strcmp(Password, xin[j].psw)==0))

  246. printf("%.2lf\n",xin[j].money);
  247. fprintf(ps, "%s %s %.2lf\n", xin[j].id, xin[j].psw, xin[j].money);
  248. j++; break;
  249. } }


  250. }//实现菜单2中的查询余额的功能

  251. printf("按1返回主页面. 按任意键退出:");
  252. fflush(stdin);
  253. scanf("%c",&n);
  254. fflush(stdin);
  255. if(n=='1')
  256. {
  257. system("cls");
  258. return 0;
  259. }
  260. else
  261. exit(0);


  262. if(Chiose=='4')

  263. return 0;


  264. }

  265. denglu()
  266. {
  267. FILE *fp;
  268. char account[10],password[6],h;
  269. int m=0;
  270. char real_account[10];
  271. char real_password[6];
  272. float real_money=0.0;

  273. fp = fopen(cfile, "r");
  274. if (!fp)
  275. {
  276. exit(0);
  277. }
  278. while (m<=2)
  279. {
  280. printf("请输入您的帐号(10位):");

  281. gets(account);
  282. fflush(stdin);
  283. printf("请输入您的密码(6位):");

  284. gets(password);
  285. fflush(stdin);
  286. while(fscanf(fp, "%s %s %lf", &real_account, &real_password,&real_money) != EOF)
  287. {
  288. if ((strcmp(real_account, account)==0)&&(strcmp(real_password, password)==0))
  289. {
  290. system("cls");
  291. printf("登陆成功!");
  292. gongneng(real_account,real_password,real_money);
  293. fclose(fp);
  294. return 0;
  295. }//输入曾经注册过的账号进行登陆,账号或密码输入错误则有三次重新输入的机会,否则退出程序
  296. else
  297. rewind (fp);
  298. printf("您输入的帐号不不正确!请重新输入:\n");
  299. m++;


  300. printf("请输入您的帐号(10位):");

  301. gets(account);
  302. fflush(stdin);
  303. printf("请输入您的密码(6位):");

  304. gets(password);
  305. fflush(stdin);
  306. } }
  307. fclose(fp);
  308. printf("您输入帐号密码不正确已经3次,被强制退出(按任意键退出)!");
  309. fflush(stdin);
  310. scanf("%c",&h);
  311. fflush(stdin);
  312. exit(0);
  313. }










  314. int main()
  315. {
  316. char chiose;


  317. char flag;
  318. while (flag!='N')
  319. {menu1();
  320. scanf("%c",&chiose);
  321. getchar();
  322. if(chiose <='0' ||chiose>='4')
  323. {
  324. while(chiose <='0' || chiose>='4')
  325. {
  326. printf("您的输入有误,请重新输入:");
  327. scanf("%c",&chiose);
  328. getchar(); //在一级菜单中所输入的账号必须在1~5之间,否则无法进行下一步操作
  329. }
  330. }
  331. if(chiose=='1')
  332. {
  333. system("cls");
  334. zhuce(); printf ("继续请按任意键,退出请按N"); scanf ("%c",&flag);
  335. }
  336. if(chiose=='2')
  337. {
  338. system("cls");
  339. denglu(); printf ("继续请按任意键,退出请按N"); scanf ("%c",&flag);
  340. }
  341. if(chiose=='3')
  342. {
  343. printf("谢谢您的使用!");
  344. exit(0);
  345. }
  346. }
  347. }//一级菜单中按3直接退出程序

  348. #include <string.h>
  349. #include <stdio.h>
  350. #include <stdlib.h>
  351. char cfile[] = "date.txt";//创建一个文件
  352. struct bank
  353. {
  354. char id[10+1];
  355. char psw[6+1];
  356. float money; //定义账号,密码,金额
  357. };

  358. menu1()
  359. {
  360. printf("*************欢迎使用虚拟银行服务!*****************\n");
  361. printf("***************************************************\n");
  362. printf(" || 请输入序号 ||\n");
  363. printf(" || 1.新用户开户。 ||\n");
  364. printf(" || 2.老用户登陆。 ||\n");
  365. printf(" || 3.退出系统。 ||\n");
  366. printf("***************************************************\n");
  367. printf("请选择功能:\n");
  368. }//一级菜单,实现新用户注册和老用户




  369. menu2()
  370. {
  371. printf("************** 欢迎进入虚拟银行系统 ***************\n");
  372. printf("***************************************************\n");
  373. printf("**************1.取款; ***************\n");
  374. printf("**************2.存款; ***************\n");
  375. printf("**************3.查询余额; ***************\n");
  376. printf("**************4.返回主页面; ***************\n");
  377. printf("**************任意键退出. ***************\n");
  378. printf("***************************************************\n");
  379. }//二级菜单实现老用户登陆后的各种功能



  380. int search(char* user, char* pwd, char* real_pwd)//将注册的账号与已注册的账号对比是否重复
  381. {
  382. FILE* file;
  383. char user_no[256], pwd_no[256];
  384. file = fopen(cfile, "r");//以只读方式打开文本文件。
  385. if (!file)
  386. return 0;
  387. while (!feof(file))//feof(fp)有两个返回值:如果遇到文件结束,函数feof(fp)的值为非零值,否则为0。
  388. {
  389. if (fscanf(file, "%s%s\n", user_no, pwd_no) == EOF)
  390. return 0;
  391. if (!strcmp(user_no, user))//字符串的比较,(前1,后2)若str1==str2,则返回零;若str1>str2,则返回正数;若str1<str2,则返回负数。
  392. {
  393. if (real_pwd) strcpy(real_pwd, pwd_no);//将字符串2复制到字符串1中,应确保字符数组1足够大以便于存储字符串2。
  394. return 1;
  395. }
  396. }
  397. fclose(file);//把缓冲区内最后剩余的数据输出到磁盘文件中,并释放文件指针和有关的缓冲区。
  398. return 0;
  399. }


  400. int add(char* user, char* pwd)//如果新注册的账号不重复,则将其添加至文件data.txt中
  401. {
  402. FILE* file;
  403. file = fopen(cfile, "a");//以只写的方式打开文本文件,位置指针指向文件末尾,原文件数据保留。
  404. if (!file)
  405. return 0;
  406. fprintf(file, "%s %s \n", user, pwd );
  407. fclose(file);
  408. return 0;
  409. }



  410. int wenjian(char* user, char* pwd )
  411. {
  412. if (search(user, pwd, NULL))
  413. return 0;
  414. else add(user, pwd );
  415. return 1;
  416. }




  417. zhuce()//新用户注册
  418. {
  419. struct bank *p;
  420. int i=0;
  421. char name[30];
  422. float money;
  423. char sh[18],n;
  424. p=(struct bank*)malloc(sizeof(struct bank));//p创造动态存储空间
  425. printf("请输入您的名字:");
  426. gets(name);
  427. fflush(stdin); //清空输入缓冲区,通常是为了确保不影响后面的数据读取(例如在读完一个字符串后紧接着又要读取一个字符,此时应该先执行fflush(stdin);)
  428. printf("请输入您的身份证号码:");
  429. gets(sh);
  430. fflush(stdin);
  431. printf("请输入您的帐号10位:\n");
  432. fflush(stdin);
  433. scanf("%s",p->id);
  434. fflush(stdin);
  435. printf("请输入您的密码(6位数字):\n");
  436. fflush(stdin);
  437. scanf("%s",p->psw);
  438. fflush(stdin);
  439. printf("请输入您的存款:\n");
  440. fflush(stdin);
  441. scanf("%f",&money);
  442. fflush(stdin);
  443. if (wenjian(p->id,p->psw))
  444. {
  445. system("cls");
  446. printf("注册成功!");
  447. printf("您的注册信息如下:\n");
  448. printf("名字:");
  449. puts(name);
  450. printf("身份证号码:");
  451. puts(sh);
  452. printf("帐号:");
  453. puts(p->id);
  454. printf("密码:");
  455. puts(p->psw);
  456. printf("存款");
  457. printf("%f",money);
  458. printf("按1返回主页面. 按任意键退出:");
  459. fflush(stdin);
  460. scanf("%c",&n);
  461. fflush(stdin);
  462. if(n=='1')
  463. {
  464. system("cls");
  465. return 0;
  466. }
  467. else
  468. exit(0);//当输入1时返回上一级菜单,否则程序终止
  469. }
  470. else
  471. {
  472. system("cls");
  473. printf("您输入的帐号已经存在注册失败!按1返回,按任意键退出\n");

  474. scanf("%c",&n);
  475. if(n=='1')
  476. {
  477. system("cls");
  478. return 0;
  479. }
  480. else
  481. exit(0);
  482. }
  483. }




  484. gongneng(char Account[10],char Password[6],float Money)//实现老用户登陆后的各种功能
  485. {
  486. FILE *ps;
  487. struct bank xin[100];
  488. int k=0,j=0,n;
  489. char Chiose;

  490. float inmoney,outmoney;
  491. menu2();
  492. fflush(stdin);
  493. scanf("%c",&Chiose);
  494. fflush(stdin);
  495. ps=fopen(cfile,"r");
  496. if (!ps)
  497. {
  498. exit(0);
  499. }
  500. if(Chiose=='1')
  501. {
  502. printf("输入您的取款金额:");
  503. fflush(stdin);
  504. scanf("%lf",&outmoney);
  505. fflush(stdin);
  506. while(!feof(ps))
  507. {
  508. fscanf(ps, "%s %s %lf",&xin[k].id,&xin[k].psw,&xin[k].money);
  509. k++;
  510. }
  511. fclose(ps);
  512. ps=fopen(cfile,"wb");
  513. if (!ps)
  514. {
  515. exit(0);
  516. }

  517. for (j=0;;j++)


  518. {if ((strcmp(Account, xin[j].id)==0)&&(strcmp(Password, xin[j].psw)==0))

  519. { xin[j].money=xin[j].money-outmoney;

  520. printf("%.2lf\n",xin[j].money);
  521. fprintf(ps, "%s %s %.2lf\n", xin[j].id, xin[j].psw, xin[j].money);
  522. j++; break;}

  523. }//实现菜单2中的取款功能
  524. printf("按1返回主页面. 按任意键退出:");
  525. fflush(stdin);
  526. scanf("%c",&n);
  527. fflush(stdin);
  528. if(n=='1')
  529. {
  530. system("cls");
  531. return 0;
  532. }
  533. else
  534. exit(0);

  535. }

  536. if(Chiose=='2')

  537. {
  538. printf("输入您的存款款金额:");
  539. fflush(stdin);
  540. scanf("%lf",&inmoney);
  541. fflush(stdin);
  542. while(!feof(ps))
  543. {
  544. fscanf(ps, "%s %s %lf",&xin[k].id,&xin[k].psw,&xin[k].money);
  545. k++;
  546. }
  547. fclose(ps);
  548. ps=fopen(cfile,"wb");
  549. if (!ps)
  550. {
  551. exit(0);
  552. }

  553. for (j=0;;j++)
  554. {

  555. { if ((strcmp(Account, xin[j].id)==0)&&(strcmp(Password, xin[j].psw)==0))

  556. xin[j].money=xin[j].money+inmoney;

  557. printf("%.2lf\n",xin[j].money);
  558. fprintf(ps, "%s %s %.2lf\n", xin[j].id, xin[j].psw, xin[j].money);
  559. j++; break;
  560. } }//实现菜单2中的存款功能

  561. printf("按1返回主页面. 按任意键退出:");
  562. fflush(stdin);
  563. scanf("%c",&n);
  564. fflush(stdin);
  565. if(n=='1')
  566. {
  567. system("cls");
  568. return 0;
  569. }
  570. else
  571. exit(0);



  572. }

  573. if(Chiose=='3')
  574. {
  575. while(!feof(ps))
  576. {
  577. fscanf(ps, "%s %s %lf",&xin[k].id,&xin[k].psw,&xin[k].money);
  578. k++;
  579. }

  580. fclose(ps);
  581. ps=fopen(cfile,"r");
  582. if (!ps)
  583. {
  584. exit(0);
  585. }

  586. for(j=0;;j++)
  587. {

  588. {if ((strcmp(Account, xin[j].id)==0)&&(strcmp(Password, xin[j].psw)==0))

  589. printf("%.2lf\n",xin[j].money);
  590. fprintf(ps, "%s %s %.2lf\n", xin[j].id, xin[j].psw, xin[j].money);
  591. j++; break;
  592. } }


  593. }//实现菜单2中的查询余额的功能

  594. printf("按1返回主页面. 按任意键退出:");
  595. fflush(stdin);
  596. scanf("%c",&n);
  597. fflush(stdin);
  598. if(n=='1')
  599. {
  600. system("cls");
  601. return 0;
  602. }
  603. else
  604. exit(0);


  605. if(Chiose=='4')

  606. return 0;


  607. }

  608. denglu()
  609. {
  610. FILE *fp;
  611. char account[10],password[6],h;
  612. int m=0;
  613. char real_account[10];
  614. char real_password[6];
  615. float real_money=0.0;

  616. fp = fopen(cfile, "r");
  617. if (!fp)
  618. {
  619. exit(0);
  620. }
  621. while (m<=2)
  622. {
  623. printf("请输入您的帐号(10位):");

  624. gets(account);
  625. fflush(stdin);
  626. printf("请输入您的密码(6位):");

  627. gets(password);
  628. fflush(stdin);
  629. while(fscanf(fp, "%s %s %lf", &real_account, &real_password,&real_money) != EOF)
  630. {
  631. if ((strcmp(real_account, account)==0)&&(strcmp(real_password, password)==0))
  632. {
  633. system("cls");
  634. printf("登陆成功!");
  635. gongneng(real_account,real_password,real_money);
  636. fclose(fp);
  637. return 0;
  638. }//输入曾经注册过的账号进行登陆,账号或密码输入错误则有三次重新输入的机会,否则退出程序
  639. else
  640. rewind (fp);
  641. printf("您输入的帐号不不正确!请重新输入:\n");
  642. m++;


  643. printf("请输入您的帐号(10位):");

  644. gets(account);
  645. fflush(stdin);
  646. printf("请输入您的密码(6位):");

  647. gets(password);
  648. fflush(stdin);
  649. } }
  650. fclose(fp);
  651. printf("您输入帐号密码不正确已经3次,被强制退出(按任意键退出)!");
  652. fflush(stdin);
  653. scanf("%c",&h);
  654. fflush(stdin);
  655. exit(0);
  656. }










  657. int main()
  658. {
  659. char chiose;


  660. char flag;
  661. while (flag!='N')
  662. {menu1();
  663. scanf("%c",&chiose);
  664. getchar();
  665. if(chiose <='0' ||chiose>='4')
  666. {
  667. while(chiose <='0' || chiose>='4')
  668. {
  669. printf("您的输入有误,请重新输入:");
  670. scanf("%c",&chiose);
  671. getchar(); //在一级菜单中所输入的账号必须在1~5之间,否则无法进行下一步操作
  672. }
  673. }
  674. if(chiose=='1')
  675. {
  676. system("cls");
  677. zhuce(); printf ("继续请按任意键,退出请按N"); scanf ("%c",&flag);
  678. }
  679. if(chiose=='2')
  680. {
  681. system("cls");
  682. denglu(); printf ("继续请按任意键,退出请按N"); scanf ("%c",&flag);
  683. }
  684. if(chiose=='3')
  685. {
  686. printf("谢谢您的使用!");
  687. exit(0);
  688. }
  689. }
  690. }//一级菜单中按3直接退出程序
  691. </P>
复制代码

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-1-4 15:35:22 | 显示全部楼层
对不住啊!第一次发帖,格式有点错误,问题没有发出去,现在补一下。这个是我们学校的课程设计——银行账户管理系统的代码,在运行时只有老用户登陆的存款取款和查询余额会出现-107374176.00这个数字,解决不了,麻烦小甲鱼帮忙看看,谢谢!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-18 16:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表