收藏 分销(赏)

C语言专业课程设计方案报告银行存取款管理设计.doc

上传人:精*** 文档编号:2864514 上传时间:2024-06-07 格式:DOC 页数:24 大小:127.04KB 下载积分:10 金币
下载 相关
C语言专业课程设计方案报告银行存取款管理设计.doc_第1页
第1页 / 共24页
C语言专业课程设计方案报告银行存取款管理设计.doc_第2页
第2页 / 共24页


点击查看更多>>
资源描述
错误!未找到目录项。 C程序课程设计汇报 题目 车票管理系统 院别 数学和计算机学院 班级 姓名 学号 指导老师 邓永江 二○一五年 六 月 预习汇报 一:设计题目 银行存取款管理设计 二:功效要求 ①能够添加和修改和删除用户文件。(在用户文件中,每个用户是一条统计,包含编号、用户姓名、支取密码、用户地址、用户电话、账户总金额)。 ②能够输入和查询用户存款取款统计。(在存取款文件中,每次存取款是一条统计,包含编号、日期、类别、存取数目、经办人。类别分为取款和存款两种)。 ③能够给程序提供运行提醒。 三:设计要求 ①、用C语言实现系统; ②、函数功效要划分好(结构化程序设计); ③、界面友好(良好人机交互),加必需注释; ④、要提供程序测试方案,程序一定要经得起测试,宁可功效少部分,也要能运行起来,不能运行程序是没有价值。 四:设计目标 ①、经过这次课程设计,使我们愈加深入地了解和掌握C语言基础概念,切身体会用结构化程序设计工程思想,感受C语言魅力。 ②、经过这次课程设计,培养我们独立思索、勇于探索、主动创新、严谨求实、有过必改工作态度和较熟上级操作能力,同时加强我们团结友爱,协作攻关团体合作意识。 取款办理 存款办理 存取款办理 用户资料添加和操作 功效选择 五:设计框架图 相关 存取款查询 添加 修改 删除 查询 取款查询 存款查询 六:函数和变量说明 ㈠自定义函数 void main(): 在里面写了“功效选择”SWITCH函数; void kehu(); 用户资料添加和操作主菜单; void kehu1(struct cou p[],char *re,long *h); 用户资料查询函数; void kehu2(struct cou *p,char *re,long h); 用户资料添加函数; void kehu3(struct cou *p,char *re,long h); 用户资料修改函数; void kehu4(struct cou *p,char *re,long h); 用户资料清楚函数; void kehup(struct cou *p,char *re,long *h); 用户资料打印函数; void cunq1(); 存取款办理选择主菜单; void cunq11(struct cou *p,char *re,long h); 用户存款资料键入; void cunq12(struct cou *p,char *re,long h); 用户取款资料键入; void cunq2(); 存取款选择查询主菜单; void cunq211(struct cou p[],char *re,long *h); 把用户存款资料从文件读到缓冲区; void cunq212(struct cou *p,char *re,long *h); 打印存款资料; void cunq221(struct cou p[],char *re,long *h); 把用户取款资料从文件读到缓冲区; void cunq222(struct cou *p,char *re,long *h); 打印取款资料; void help(); 使用说明模块。 ㈡变量 ①全局结构体型数组w(用来存放200多个结构体变量): extern struct cou { long b; char x[20]; long m; char a[50]; long d; float j; long bc; char jin[20]; char jin2[20]; char t[20]; float j1; float j2; float j3; float j4; } w[200]; ②局部变量int m;用来在主和其它函数中进行SWITCH选择判定; ③全局变量long t;用于统计用户卡号,而卡号是在整个程序中全部要用到,因为是全局变量,所以一个用户卡号不能变更。 ④char r[20],b[20],c[20];全部为统计用户姓名一维数组,用在生成用户和存取款文件和读取用户文件和存取款文件; 七:函数调用步骤图(用户资料添加和查询 部分 ) void main() while(1) scanf("%d",&m); m=1? 其它函数 是 kehu(); scanf("%d",&m); switch(m); m=? 1 2 scanf("%s",b); kehu1(w,b,&t); kehup(w,b,&t); break; scanf("%s",r); scanf("%ld",&h); kehu2(w,r,h); break; 注:上叙具体函数功效见 六(一)函数说明 八:用户资料添加和查询 部分 设计思想 ①、因为是银行存取款管理设计,考虑到要有较周全功效要求,所以在设计之初就对最终成品功效进行了较为具体布局,最终确定了4个主功效(见源代码)。 ②、采取了结构化程序设计思想,在主函数外定义了void kehu();(用户文件操作)、void cunq1();(存取款办理)、void cunq2();(存取款查询)、void help();(使用帮助)和她们嵌套函数,使产品功效愈加健全。 ③、对于怎样使每次次级操作后能方便返回主界面,我们在主函数里用到了while(1)这么函数,再在里面用到多个break;就实现了返回主界面功效。 ④、对于用户及存取款统计保留我们在这里用到了用FILE类型定义文件指针,从而来以文件形式存放数据,而又用到fopen函数打开文件,用fclose关闭文件,释放文件缓冲区;又用到fwrite函数使数据写入到磁盘保留,用fread函数把数据拉到缓冲区。 ⑤、对于怎样使用户文件和用户存取款统计很灵活结合到一起,我们在主函数前面结构了一个含有多个组员结构体,从用户文件统计用户地址、用户电话、目前金额等到用户存取款统计办理时间、办理人、存取金额等全部囊括在同一个名为cou结构体类型中。 ⑥、程序在主函数之前定义了全局结构体型数组w,为相关文件提供了较为灵活存取空间,而程序中在fwrite函数之前输入了用户姓名和卡号,这实际上就创建了一个名为所输入用户姓名文件, 从而在资料读取时直接用姓名读取很方便。 。 试验总结汇报 九:测试方案 方案①、能够直接打开所给名为“银行存取款及用户资料管理系统.exe”应用程序进行操作,而操作是纯键盘式,提议先添加用户文件,或先查看“相关”中帮助。 方案②、假如是对源代码进行操作,能够双击名为“银行存取款及用户资料管理系统.c”.c文件,进入C++运行环境,按“重新组建”,然后点击运行按钮“!”,运行成功,便可进入主界面,相关操作见上。而这同时C++又在后台生成了.exe文件,这就是我们所需要应用程序。 十:调试中问题及处理方案 调试过程并不是一帆风顺,比如 ①、怎样对用户多种具体资料进行表示,之前我们并没有想到用结构体,然后再写程序过程中碰到很多困难,一段时间以后,组员进行仔细研究,并查阅相关书籍,最终确定了用结构体这么便捷数据类型,而这一决定也为后续工作指明了方向; ②、对用户资料打印,因为没有注意到要把文件资料从文件读取到缓冲区,所以一直不能正确打印出所要数据,而最终在组员一致努力下,觉察到问题,然后fread函数被用到,这问题迎刃而解; ③、在程序编写过程中,因为时间关系,难免还有些问题还未处理,我们不怕暴露问题,我们只求进步。比如说在写入用户卡号时,用到fwrite(&h,4,1,fp);这么函数语句,即使h已经被我们定义为long型变量,然为何上限为245至今还未得到很好处理。但这并不影响我们程序运行,只要稍微注意一下卡号,程序还是很理想。 十一:心得和体会 这次C语言课程设计我们付出不少,一次一次编写,一次次修改,花了不少时间,甚至有时也用上了休息时间。但我们收获是那些付出比量不了。在一次次调试和失败中,我们愈加坚强,愈加专注。在团体合作过程中也发生过小小矛盾,但这些终被我们克服,从而转化为难得友谊,而又使我们对团体这个概念认识又上升到一个新高度。其实一切一切,全部没有知识来关键,在这次课程设计过程中我们查阅了大量资料,而有些是书本上全部较少提到,而这些给我们便是知识,无形宝贵财富。 最终,老师提供给我们这次难得课程实习机会,我们是受益匪浅,当看到一个完整应用程序出现在我们面前,作为一个初涉软件学徒来说,又何尝不是感慨万千呢?我们深怀感恩,一路前行,软件工程,我们来了! 十二:附源程序清单 #include<stdio.h> #include<string.h> void kehu(); void kehu1(struct cou p[],char *re,long *h); /*(把用户资料)从文件读到缓冲区*/ void kehu2(struct cou *p,char *re,long h); /*用户资料输入*/ void kehu3(struct cou *p,char *re,long h); /*新用户资料输入*/ void kehu4(struct cou *p,char *re,long h); /* 资料清除*/ void kehup(struct cou *p,char *re,long *h); /*打印用户资料*/ void cunq1(); void cunq11(struct cou *p,char *re,long h); /*用户存款资料键入*/ void cunq12(struct cou *p,char *re,long h); /*用户取款资料键入*/ void cunq2(); void cunq211(struct cou p[],char *re,long *h); /*(把用户存款资料)从文件读到缓冲区*/ void cunq212(struct cou *p,char *re,long *h); void cunq221(struct cou p[],char *re,long *h); /*(把用户取款资料)从文件读到缓冲区*/ void cunq222(struct cou *p,char *re,long *h); void help(); long t; extern struct cou { long b; char x[20]; long m; char a[50]; long d; float j; long bc; char jin[20]; char jin2[20]; char t[20]; float j1; float j2; float j3; float j4; }; struct cou w[200]; void main() { int m; while(1) { system("cls"); printf("\n▂▃▂▃▂▃▂▃▂▃▃银行存取款管理系统▂▃▂▃▃▂▃▂▃▂▃▂\n"); printf("…………………………………【功效选择】……………………………………\n"); printf(" 一:用户添加和操作 二:存取款办理 三:存取款查询 四:相关\n"); printf("\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n"); printf("------------------------------------------------请按对应数字选择您需要------\n"); scanf("%d",&m); switch(m) { case 1:kehu();break; case 2:cunq1();break; case 3:cunq2();break; case 4:help();break; } getchar(); printf("\n\n\n\n\n ┄┅ ┄ ┄ ┄┅ ┄┅按回车键返回主界面..."); getchar(); } } void kehu() { int m; char r[20],b[20],c[20]; long h,k; system("cls"); printf("\n▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄"); printf("\n 用户文件:1:用户资料查询"); printf("\n 2:用户资料添加"); printf("\n 3:用户资料修改"); printf("\n 4:用户资料删除"); printf("\n 5:后退\n\n"); printf("▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄\n"); printf("-------------------------------------------------按对应数字以选择您需要-----\n"); scanf("%d",&m); switch(m) { case 1: printf(" ┏━━━━━━━━━━━┓\n"); printf(" ▍ 1:用户资料查询 ▍\n"); printf(" ┗━━━━━━━━━━━┛\n"); printf(" ┭┮┯┬┭ 请输入您要查询用户姓名:\n"); scanf("%s",b); kehu1(w,b,&t); /*从文件读到缓冲区*/ kehup(w,b,&t); /*打印*/ break; case 2: printf(" ┏━━━━━━━━━━━┓\n"); printf(" ▍ 2:用户资料添加 ▍\n"); printf(" ┗━━━━━━━━━━━┛\n"); printf("▄▄▄▄▄请输入新用户姓名和卡号(1-245):▄▄▄▄▄\n"); printf("┅┄┅┄请输入姓名:\n"); scanf("%s",r); printf("┅┄┅┄请输入卡号:\n"); scanf("%ld",&h); kehu2(w,r,h); /*把数据从缓冲区输入到文件*/ break; case 3: printf(" ┏━━━━━━━━━━━┓\n"); printf(" ▍ 3:用户资料修改 ▍\n"); printf(" ┗━━━━━━━━━━━┛\n"); printf("\n▄▄▄▄▄请输入您要修改 用户姓名和卡号▄▄▄▄▄:\n"); printf("┅┄┅┄请输入姓名:\n"); scanf("%s",c); printf("┅┄┅┄请输入卡号:\n"); scanf("%ld",&k); kehu3(w,c,k); /*把 新数据从缓冲区输入到文件*/ break; case 4: printf(" ┏━━━━━━━━━━━┓\n"); printf(" ▍ 4:用户资料删除 ▍\n"); printf(" ┗━━━━━━━━━━━┛\n"); printf("\n▄▄▄▄▄请输入您要删除 用户姓名和卡号▄▄▄▄▄:\n"); printf("┅┄┅┄请输入姓名:\n"); scanf("%s",c); printf("┅┄┅┄请输入卡号:\n"); scanf("%ld",&k); kehu4(w,c,k); /*把 0 数据从缓冲区输入到文件*/ break; case 5:break; default: fprintf(stderr,"输入有误!"); } } void kehu1(struct cou p[],char *re,long *h) { FILE *fp; system("cls"); fp=fopen(re,"rb"); fread(h,4,1,fp); fread(&p[*h],sizeof(struct cou),1,fp); fclose(fp); } void kehup(struct cou *p,char *re,long *h) { printf(" 用户 【 %s 】具体资料\n",re); printf("┄┅┄┅┄┅┄┅┄┅┄┅┄┅┄┄┅┄┅┄┅┄┅┅┄┅┄┅┄┅"); printf("用户卡号 "); printf("%ld\n",*h); printf("┄┅┄┅┄┅┄┅┄┅┄┅┄┅┄┅┄┄┅┄┅┄┅┄┅┅┄┅┄┅"); printf("用户密码 "); printf("%ld\n",p[*h].m); printf("┄┅┄┅┄┅┄┅┄┅┄┅┄┅┄┅┄┄┅┄┅┄┅┄┅┅┄┅┄┅┅"); printf("用户电话 "); printf("%ld\n",p[*h].d); printf("┄┅┄┅┅┄┅┄┅┄┅┄┄┅┄┅┅┄┅┄┅┄┅┄┅┄┅┄┅┄┅"); printf("用户地址 "); printf("%s\n",p[*h].a); printf("┄┅┄┅┄┅┄┅┄┅┄┅┄┅┄┅┄┄┅┄┅┄┅┄┅┅┄┅┄┅"); printf("账户目前金额 "); printf("%.2f\n",p[*h].j); printf("┄┅┄┅┄┅┄┅┄┅┄┅┄┅┄┅┄┄┅┄┅┄┅┄┅┅┄┄┅┄┅"); } void kehu2(struct cou *p,char *re,long h) { FILE *fp; system("cls"); fp=fopen(re,"wb"); fwrite(&h,4,1,fp); printf("▄▄▄▄▄请键入用户 【%s】(卡号 【 %ld 】 )用户资料:▄▄▄▄▄\n",re,h); p[h].b=h; printf("\n┭┮┯┬┭ 用户密码:\n"); scanf("%ld",&p[h].m); printf("\n┭┮┯┬┭ 用户地址:\n"); scanf("%s",p[h].a); printf("\n┭┮┯┬┭ 用户电话:(只接收10位以下号码)\n"); scanf("%ld",&p[h].d); printf("\n┭┮┯┬┭ 用户目前金额:(提议不要使账户满100万)\n"); scanf("%f",&p[h].j); fwrite(&p[h],sizeof(struct cou),1,fp); fclose(fp); } void kehu3(struct cou *p,char *re,long h) { FILE *fp; system("cls"); fp=fopen(re,"wb"); fwrite(&h,4,1,fp); printf("\n▄▄▄请键入用户 【%s】(卡号 【 %ld 】 )新用户资料:▄▄▄\n",re,h); p[h].b=h; printf("\n┭┮┯┬┭ 修改后用户密码:\n"); scanf("%ld",&p[h].m); printf("\n┭┮┯┬┭ 修改后用户地址:\n"); scanf("%s",p[h].a); printf("\n┭┮┯┬┭ 修改后用户电话:\n"); scanf("%ld",&p[h].d); fwrite(&p[h],sizeof(struct cou),1,fp); fclose(fp); } void kehu4(struct cou *p,char *re,long h) { FILE *fp; system("cls"); fp=fopen(re,"wb"); fwrite(&h,4,1,fp); printf("\n\n\n\n ┭┮┭┮┯ 请输入0键以清除 ┭┮┭┮┯:\n"); scanf("%s",p[h].a); p[h].m=0; p[h].d=0; p[h].j=0; p[h].bc=0; fwrite(&p[h],sizeof(struct cou),1,fp); fclose(fp); } /*--------------------------------------------------------------------------------------------------------*/ void cunq1() { int m; char g[20]; long m1; system("cls"); printf("▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄\n"); printf("\n 1.存款办理 2.取款办理 3:后退\n"); printf("\n▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄"); printf("\n\n--------------------------------------------按对应数字以选择您需要-----\n"); scanf("%d",&m); switch(m) { case 1: printf(" ┏━━━━━━━━━━━┓\n"); printf(" ▍ 1.存款办理 ▍\n"); printf(" ┗━━━━━━━━━━━┛\n"); printf("┭┮┯ 请输入办理存款业务用户姓名和卡号(1-245)┭┮┯ \n\n"); printf("┄┅┄┅输入用户姓名:\n"); scanf("%s",g); printf("┄┅┄┅输入用户卡号:\n"); scanf("%ld",&m1); cunq11(w,g,m1); /*存款数据输入*/ break; case 2: printf(" ┏━━━━━━━━━━━┓\n"); printf(" ▍ 2:取款办理 ▍\n"); printf(" ┗━━━━━━━━━━━┛\n"); printf("┭┮┯ 请输入办理取款业务用户姓名和卡号(1-245)┭┮┯ \n\n"); printf("┄┅┄┅输入用户姓名:\n"); scanf("%s",g); printf("┄┅┄┅输入用户卡号:\n");scanf("%ld",&m1); cunq12(w,g,m1); break; case 3:break; default: fprintf(stderr,"输入有误!"); } } void cunq11(struct cou *p,char *re,long h) { FILE *fp; system("cls"); fp=fopen(re,"wb"); fwrite(&h,4,1,fp); printf("▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄\n\n"); printf(" 存款办理\n\n"); printf("▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄\n"); printf("▂▂▂▂▂请键入用户 【%s】(卡号 %ld ) 存款明细:▂▂▂▂▂▂\n",re,h); printf("┄┅┄┅请输入存款流水号:\n"); scanf("%ld",&p[h].bc); printf("┄┅┄┅请输入存款数目(提议不要一次存超出百万):\n"); scanf("%f",&p[h].j1); p[h].j2=p[h].j+p[h].j1; p[h].j=p[h].j2; printf("┄┅┄┅经办人:\n"); scanf("%s",p[h].jin); printf("┄┅┄┅办理时间(形如06月2日):\n"); scanf("%s",p[h].t); fwrite(&p[h],sizeof(struct cou),1,fp); fclose(fp); } void cunq12(struct cou *p,char *re,long h) { FILE *fp; system("cls"); fp=fopen(re,"wb"); fwrite(&h,4,1,fp); printf("▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄\n\n"); printf(" 取款办理\n\n"); printf("▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄\n\n"); printf("▂▂▂▂请键入用户 【%s】(卡号 %ld ) 取款明细:▂▂▂▂▂\n\n",re,h); printf("┄┅┄┅请输入取款流水号:\n"); scanf("%ld",&p[h].bc); printf("┄┅┄┅请输入取款数目(提议不要一次存超出百万):\n"); scanf("%f",&p[h].j3); p[h].j4=p[h].j-p[h].j3; p[h].j=p[h].j4; printf("┄┅┄┅经办人:\n"); scanf("%s",p[h].jin2); printf("┄┅┄┅办理时间(形如06月2日):\n"); canf("%s",p[h].t); fwrite(&p[h],sizeof(struct cou),1,fp); fclose(fp); } /*--------------------------------------------------------------------------------------------------------*/ void cunq2() { int m; char v[20]; system("cls"); printf("▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄\n\n"); printf(" 1.存款查询 2.取款查询 3:后退\n\n"); printf("▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄\n"); printf("---------------------------------------------按对应数字以选择您需要---------\n"); scanf("%d",&m); switch(m) { case 1: printf(" ┏━━━━━━━━━━━┓\n"); printf(" ▍ 1:存款查询 ▍\n"); printf(" ┗━━━━━━━━━━━┛\n"); printf("┭┮┯┰┱ 请输入您要查询用户姓名:\n"); scanf("%s",v); cunq211(w,v,&t); cunq212(w,v,&t); break; /*注意*/ case 2: printf(" ┏━━━━━━━━━━━┓\n"); printf(" ▍ 2:取款查询 ▍\n"); printf(" ┗━━━━━━━━━━━┛\n"); printf("┭┮┯┰┱ 请输入您要查询用户姓名:\n"); scanf("%s",v); cunq221(w,v,&t); cunq222(w,v,&t);break; case 3:break; default: fprintf(stderr,"输入有误!"); } } void cunq211(struct cou p[],char *re,long *h) { FILE *fp; system("cls"); fp=fopen(re,"rb"); fread(h,4,1,fp); fread(&p[*h],sizeof(struct cou),1,fp); fclose(fp); } void cunq212(struct cou *p,char *re,long *h) { printf(" 用户 【 %s 】存款明细\n",re); printf("┄┅┄┅┄┅┄┅┅┄┅┄┅┄┅┅┄┅┄┅┄┅┄┅┄┅┄┅┄┅"); printf(" 用户卡号 "); printf("%ld\n",*h); printf("┄┅┅┄┅┄┅┄┄┅┄┅┄┅┄┅┅┄┅┄┅┄┅┄┅┄┅┄┅┄┅"); printf(" 存款流水号 "); printf("%ld\n",p[*h].bc); printf("┄┅┅┄┅┄┅┄┄┅┄┅┄┅┄┅┅┄┅┄┅┄┅┄┅┄┅┄┅┄┅"); printf(" 类别 "); printf("存款\n"); printf("┄┅┄┄┅┄┅┄┄┅┄┅┄┅┄┅┅┄┅┄┅┄┅┄┅┄┅┄┅┄┅"); printf(" 存款数目 "); printf("%.2f\n",p[*h].j1); printf("┄┅┅┄┅┄┅┄┄┅┄┅┄┅┄┅┅┄┅┄┅┄┅┄┅┄┅┄┅┄┅"); printf(" 账户目前总金额 "); printf("%.2f\n",p[*h].j2); printf("┄┅┅┄┅┄┅┄┄┅┄┅┄┅┄┅┅┄┅┄┅┄┅┄┅┄┅┄┅┄┅"); printf(" 经办人 "); printf("%s\n",p[*h].jin); printf("┄┅┄┅┄┅┄┄┅┄┅┄┅┄┅┅┄┅┄┅┄┅┄┅┄┅┄┅┄┅"); printf(" 用户地址 "); printf("%s\n",p[*h].a); printf("┄┅┄┅┄┅┄┄┅┄┅┄┅┄┅┅┄┅┄┅┄┅┄┅┄┅┄┅┄┅"); printf(" 办理时间 "); printf("%s\n",p[*h].t); printf("┄┅┄┅┄┅┅┄┅┄┅┄┅┄┅┅┄┅┄┅┄┅┄┅┄┅┄┅┄┅"); } void cunq221(struct cou p[],char *re,long *h) { FILE *fp;
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服