为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

经典C语言版含文件的ATM银行取款机系统源代码与程序设计基础实训I文档

2017-09-30 33页 doc 102KB 197阅读

用户头像

is_511210

暂无简介

举报
经典C语言版含文件的ATM银行取款机系统源代码与程序设计基础实训I文档经典C语言版含文件的ATM银行取款机系统源代码与程序设计基础实训I文档 课程设计任务书 课程名称:程序设计基础课程设计 设计题目:银行ATM存取款系统、个人通信录系统,任选一题, 已知技术参数和设计要求: 需求说明及要求 题目一:银行ATM存取款系统 银行ATM存取款系统业务描述如下: 银行ATM存取款系统能为用户提供存款、取款、查询、转账和修改密码的功能。为了模拟真实的ATM业务环境~本系统必须实现存款、取款、查询、转账、修改密码以及开户的功能。用户通过开户业务在本系统开立银行账户~之后可以通过该银行账户登陆...
经典C语言版含文件的ATM银行取款机系统源代码与程序设计基础实训I文档
经典C语言版含文件的ATM银行取款机系统源代码与程序设计基础实训I文档 课程设计任务书 课程名称:程序设计基础课程设计 设计题目:银行ATM存取款系统、个人通信录系统,任选一题, 已知技术参数和设计要求: 需求说明及要求 题目一:银行ATM存取款系统 银行ATM存取款系统业务描述如下: 银行ATM存取款系统能为用户提供存款、取款、查询、转账和修改密码的功能。为了模拟真实的ATM业务环境~本系统必须实现存款、取款、查询、转账、修改密码以及开户的功能。用户通过开户业务在本系统开立银行账户~之后可以通过该银行账户登陆ATM系统~在系统中实现存款、取款、查询账户信息、修改密码的操作。本系统各个业务有如下注意点: ,1, 登陆系统 用户登陆之前~必须在登陆界面输入其银行账户~通过其正确输入的银行账户登陆系统。 ,2, 开户业务 要使用本系统必须首先执行开户业务开立新的银行账户~并且将此新开的银行存储于文件当中。同时~系统以身份证号码作为开户的充分条件~即一个身份证号码只能开立一次银行账户。 ,3, 存款业务 客户登陆系统后~选择存款业务~即可以将输入的存款金额存入相应的账户。 ,4, 取款业务 客户登陆系统后~选择取款业务~即可以将输入的取款金额从相应的银行账户取出~但是取款金额必须大于目前的账户余额。 1 ,5, 查询业务 客户登陆系统后~可以选择查询业务~查询账户余额。 ,6, 转账业务 客户登陆系统后~可以选择转账业务~进行转账。注意的是转账的目的账户必须是本系统已经存在的银行账户。 ,7, 修改密码 客户登陆系统后~可以选择修改密码业务~进行密码修改。 题目二:个人通信录系统 个人通信录系统业务描述如下: 个人通信录必须为用户提供好友管理、系统管理和帮助三个部分。好友管理包括好友信息录入、好友信息修改、好友信息删除和好友信息查询查询的功能~在此基础上可以设臵好友分组,系统管理包括密码修改、分组配臵,帮助需要为用户提供系统的操作帮助。本系统各个业务有如下注意点: ,1,登陆系统 用户在登陆界面输入用户名和密码~校验正确后可以登陆系统。 ,2,好友管理业务 新增的好友信息保存至文件~之后对好友信息的管理都是对文件中的好友信息进行处理~并且可以将好友信息进行分组。 ,3,系统管理 可以在密码修改中修改本用户的密码,可以在此功能中配臵系统需要的分组名~并且将分组名保存到文件中。 ,4,帮助 帮助业务需要为用户提供系统的操作帮助。 各阶段具体要求: 2 1、需求分析阶段 熟悉系统业务~从业务中抽取出系统的需求~形成完善的需求说明书。 2、系统设计阶段 根据需求~进行程序设计~包括定义系统的界面、定义系统数据的存储方式等~形成完善的设计说明书。 3、编码实现阶段 ,1,完成代码编写 ,2,要求代码编写 4、系统测试阶段 ,1,完成功能调试 ,2,要求完成必要的测试工作 5、交付实施阶段 ,1,提交可正常执行的系统 ,2,提交系统需求说明书、设计说明书、程序代码 ,3,撰写课程设计书 ,4,要求规范地书写文档 设计工作量: ,1,软件设计:完成问题陈述中所提到的所有需求功能。 ,2,论文:要求撰写不少于3000个文字的文档~详细说明各阶段具体要求。 工作: 理论课结束后一周进行课程设计~软件开发如下步骤~论文同步进行, 1) 选定题目 3 2) 需求分析 3) 系统设计 4) 编码实现 5) 系统测试 6) 交付实施 注意事项 , 提交文档 , 长沙学院课程设计任务书 ,每学生1份, , 长沙学院课程设计论文 ,每学生1份, , 长沙学院课程设计鉴定 ,每学生1份, 指导教师签名: 日期: 教研室主任签名: 日期: 系主任签名: 日期: 4 长沙学院课程设计鉴定表 姓名 XX 学号 XX 专业 软件工程 班级 X班 设计题目 ATM存取款系统 指导教师 XX 指导教师意见: 评定等级: 教师签名: 日期: 答辩小组意见: 评定等级: 答辩小组长签名: 日期: 教研室意见: 教研室主任签名: 日期: 系,部,意见: 系主任签名: 日期: 课程设计成绩分“优秀”、“良好”、“及格”、“不及格”四类, 说明 ~ 5 摘要 银行ATM存取款系统能为用户提供存款、取款、查询、转账和修改密码的功能。为了模拟真实的ATM业务环境~本系统能实现存款、取款、查询、转账、修改密码以及开户的功能。用户通过开户业务在本系统开立银行账户~之后可以通过该银行账户登陆ATM系统~在系统中实现存款、取款、查询账户信息、修改密码的操作。此系统方便客户使用~并能够随时进行存取款操作。 关键词:ATM业务环境,ATM系统,开户业务 6 1 引言 ....................................................................... 10 编写目的 ...................................................................................................................................... 10 项目背景 ...................................................................................................................................... 10 名词解释 ...................................................................................................................................... 10 参考资料 ...................................................................................................................................... 10 2 软件结构概述 ............................................................... 11 3 模块设计 ................................................................... 11 模块1,编号010100,.......................................................... 11 3.1 3.1.1功能 ...................................................................................................................................... 11 3. 1.2输入项 ................................................................................................................................. 12 3.1.2输出项 .................................................................................................................................. 12 3.1.3流程/算法 ............................................................................................................................. 12 3.1.4对应文件............................................................................................................................... 12 3.2模块2,编号000200,.......................................................... 13 3.2.1 功能 .................................................................................................................................... 13 3.2.2 输入项 ................................................................................................................................ 14 3.2.3 输出项 ................................................................................................................................ 14 3.2.4 流程/算法 ........................................................................................................................... 14 3.2.5 对应文件............................................................................................................................. 14 3.3模块3,编号000201,.......................................................... 19 3.3.1功能 ...................................................................................................................................... 19 3.3.2 输入项............................................................................................................................... 19 3.3.3 输出项 ................................................................................................................................ 19 3.3.4流程/算法 ............................................................................................................................. 19 7 3.3.5 对应文件........................................................................................................................... 20 3.4 模块 4,编号000202,。 ...................................................... 21 3.4.1 功能 .................................................................................................................................... 21 3.4.2 输入项 ................................................................................................................................ 21 3.4.3 输出项 ................................................................................................................................ 22 3.4.4 流程/算法 ........................................................................................................................... 22 3.4.5 对应文件............................................................................................................................. 22 3.5 模块,编号00203, .......................................................... 22 3.5.1 功能 .................................................................................................................................... 22 3.5.2 输入项 ................................................................................................................................ 22 3.5.3 输出项 ................................................................................................................................ 23 3.5.4 流程/算法 ........................................................................................................................... 23 3.5.5 对应文件............................................................................................................................. 23 3.6 模块6,00204, ............................................................. 24 3.6.1 功能 .................................................................................................................................... 24 3.6.2 输入项 ................................................................................................................................ 24 3.6.3 输出项 ................................................................................................................................ 24 3.6.4 流程/算法 ........................................................................................................................... 24 3.6.5 对应文件............................................................................................................................. 25 3.7 模块7,编号00205,.......................................................... 26 3.7.1 功能 .................................................................................................................................... 26 3.7.2 输入项 ................................................................................................................................ 26 3.7.3 输出项 ................................................................................................................................ 27 3.7.4 流程/算法 ........................................................................................................................... 27 3.7.5 对应文件............................................................................................................................. 27 8 3.8 模块8,编号00206,.......................................................... 27 3.8.1 功能 .................................................................................................................................... 27 3.8.2 输入项 ................................................................................................................................ 28 3.8.3 输出项 ................................................................................................................................ 28 3.8.4 流程/算法 ........................................................................................................................... 28 3.8.5对应文件............................................................................................................................... 28 4 用户界面设计 ............................................................... 29 4.1用户界面图 ..................................................................................................................................... 29 4.1.1 登陆界面............................................................................................................................. 29 4.1.2 开户界面............................................................................................................................. 29 4.1.3 功能界面............................................................................................................................. 30 4.1.4 修改密码界面..................................................................................................................... 30 4.1.5 转账界面............................................................................................................................. 30 4.1.6退卡界面............................................................................................................................... 31 9 1 引言 编写目的 编写该文档的目的是让用户非常清楚的了解与使用该软件的功能~从而更好的发挥该软件的功能~获得更好的经济利益~该软件主要针对各银行的ATM自动取款机系统而设计的~应用于各银行。 预期读者:杜老师。 项目背景 该系统的名称为ATM银行自动取款机系统。 该项目为学校锻炼学生的实战操作能力而提出的~学生自主设计与调试。 本项目开发的目的为锻炼学生自主操作与设计能力~为以后的实战积累经验~使学生将来更好的适应社会的各种需求做好充足的准备。使学生在实战中找出自己的不足~查漏补缺~更好的掌握所学知识。 任务提出者 长沙大学 开发者 李安平 使用者 存取款用户 维护者 李安平 名词解释 ATM:银行自动存取款系统。 该软件中的 stdio.h 为头文件。 参考资料 资料名称 《C程序设计第三版》 10 作者 谭浩强 出版社 清华大学出版社 2005 出版时间 2 软件结构概述 ATM系统 开登 户 录 取存转查修退 款 款 账 询改卡 余密 额 码 3 模块设计 3.1模块1(编号010100) 3.1.1功能 录入客户信息 11 3. 1.2输入项 输入项名称 标志 数据类型 有效范围 Person.name 用户姓名 字符串 20位 Person.ID 用户卡号 字符串 10位 Person.key 用户密码 字符串 6位 Person.addr 用户家庭地址 字符串 50位 3.1.2输出项 告诉用户开户是否成功~若没有成功~则让用户重新输入信息。 3.1.3流程/算法 第一步:新用户输入准确的信息~比如说姓名~身份证号,卡号,~家庭地址~密码等。 第二步:”对用户输入的信息进行判断~若用户输入的密码不为六位数~则通知用户重新输入信息~ 第三步:若用户两次输入的密码不完全相同~则同样提醒用户~知道完全相同为止。然后把用户的 准确信息保存于文件之中~便于用户使用时安全登录。 第四步:然后提醒用户开户成功~欢迎进入下一个登录阶段。 3.1.4对应文件 对应文件:void save,,,//开户界面。 对应的源代码: void save() { printf(" ***********************\n"); printf(" * 欢迎来建设银行开户 *\n"); printf(" ***********************\n"); FILE *fp; 12 int i; printf("请输入您的姓名\n"); scanf("%s",person[i].name); printf("请输入您的身份证号码\n"); scanf("%s",person[i].ID ); printf("请输入您的密码\n"); scanf("%d",person[i].key ); printf("请输入您的家庭地址\n"); scanf("%s",person[i].addr ); if((fp=fopen("bank.txt","a+"))==NULL) /*建立输入信息函数输入到文件中*/ { printf("cannot open file\n"); return; } if(fwrite(&person1,sizeof(struct person_type),1,fp)!=1) printf("file write error\n"); fclose(fp); printf("开户成功~请登录\n"); system("pause"); system("cls"); 3.2模块2(编号000200) 3.2.1 功能 客户登录成功后~让客户按自己的需求选择业务 13 3.2.2 输入项 输入项名 标志 数据类型 有效位 cardid 卡号 字符型 1 0位 mima 密码 字符型 6位 3.2.3 输出项 输出供用户选择的各项业务。 3.2.4 流程/算法 第一步:提示用户输入正确的卡号与密码 第二步:当用户的卡号或密码输入有误时~提醒用户重新输入账号与密码。 第三步:当用户输入完全正确时~提示用户登录成功~进入业务选择界面。 第四步:结束。 3.2.5 对应文件 Void into (); //登录函数。 Void chance();// 业务选择函数。 对应的源代码为:void into() { void mima(); void chance(); int id=1234; int cardid; /*对chance函数进行调用*/ 14 printf(" *****************************\n"); printf(" ** 欢迎来到ATM登陆系统 **\n"); printf(" *****************************\n\n\n\n\n"); do { printf("请输入卡号:\n"); scanf("%d",&cardid); if(cardid==id) { printf("输入正确\n"); } else if(cardid!=id) { printf("您的输入有误~请重新输入卡号\n"); system("pause"); system("cls"); } }while(cardid!=id); mima(); printf("登录成功\n\n"); system("pause"); system("cls"); chance(); 15 } void mima() { int a=123456; int b; do { printf("请输入密码:\n"); scanf("%d",&b); if(a==b) { printf("输入正确\n"); } else if(a!=b) { printf("您的输入有误~请重新输入密码\n"); system("pause"); system("cls"); } }while(a!=b); } void chance() { void cunkuan(); 16 void qukuan(); /*对qukuan函数进行调用*/ void chance(); void chaxun(); void je(); void zhuanzhang(); /*对zhuanzhang函数进行调用*/ void tuichu(); void xgmm(); /*对xgmm函数进行调用*/ int i; printf("请选择您需要的业务\n"); printf("***********************************\n"); printf("** 1取款 ***** 2查询 **\n"); printf("***********************************\n"); printf("** 3转账 ***** 4修改密码**\n"); printf("***********************************\n"); printf("** 5存款 ***** 6退出 **\n"); printf("***********************************\n"); scanf("%d",&i); switch(i) { case 1: printf("取款\n"); system("pause"); system("cls"); qukuan(); system("pause"); 17 system("cls"); chance(); break; /*对qukuan函数进行调用*/ case 2: printf("查询\n"); chaxun(); system("pause"); chance(); system("pause"); system("cls"); break;; case 3: printf("转账\n"); system("cls"); zhuanzhang(); je(); chance(); /*对zhuanzhang函数进行调用*/ break; case 4: printf("修改密码\n"); system("cls"); xgmm(); system("cls"); chance(); /*对xgmm函数进行调用*/ break; 18 case 5: printf("存款\n"); cunkuan(); chance(); break; case 6: printf("退出\n"); system("cls"); tuichu(); system("pause"); system("cls"); exit(0); break: } 3.3模块3(编号000201) 3.3.1功能 实现用户取款功能。让用户按程序要求进行取款。 3.3.2 输入项 输入项名 标志 数据类型 有效位 i 特定款项的代码 整型 16位 3.3.3 输出项 当用户正确输入选项时~显示用户取款金额与余额。 3.3.4流程/算法 第一步:提示用户输入要取金额的选项。 第二步:判断用户的输入是否合法~若不合法~提示用户返回主菜单重新输入~直到用 户 输入正确为止。 19 第三步:客户输入正确后~提示用户取款成功~显示用户取款金额与余额。 第四步:结束。 3.3.5 对应文件 Void qukuan( );//取款函数 对应的源代码 :void qukuan() { /*对tunkuan函数进行调用*/ printf("请您选择您要取的金额\n"); printf("***********************************\n"); printf("**1~ 100元 **** 2~ 200元 **\n"); printf("***********************************\n"); printf("**3~ 300元 **** 4~ 400元 **\n"); printf("***********************************\n"); scanf("%d",&k); if(k>0) { if(k<=money) { printf("您取了%d元钱",100*k); } else { printf("您卡里余额不足"); } 20 } if(k<0) { printf("您的输入有误~请重新输入\n"); } system("pause"); system("cls"); switch(k) { case 1:money=money-100;printf("您卡里的余额是%d元钱",money); printf("取款成功"); break; case 2:money=money-200;printf("取款成功"); printf("您卡里的余额是%d元钱",money); break; case 3:money=money-500;printf("取款成功"); printf("您卡里的余额是%d元钱",money); break; case 4:money=money-1000;printf("取款成功"); printf("您卡里的余额是%d元钱",money); break; } 3.4 模块 4(编号000202)。 3.4.1 功能 实行用户金额查询功能 3.4.2 输入项 输入项名 标志 数据类型 有效位 21 I 特定款项的代码 整型 16位 3.4.3 输出项 当用户正确输入选项时~显示用户余额。 3.4.4 流程/算法 第一步:提示用户输入特定查询项目的选项。 第二步:判断用户的输入是否合法~若不合法~提示用户返回主菜单重新输入~直到用 户 输入正确为止。 第三步:客户输入正确后~显示用户余额。 第四步:结束。 3.4.5 对应文件 Void chaxun ( ); // 查询函数。 查询函数的源代码为: void chaxun() { printf("您的卡上余额为:%d\n",money); } 3.5 模块(编号00203) 3.5.1 功能 实行用户修改密码功能。 3.5.2 输入项 输入项名 标识 类型 有效位 22 x 第一次输入的密码 字符串 6位 x1 第二次输入的密码 字符串 6位 3.5.3 输出项 密码是否修改成功 3.5.4 流程/算法 第一步:第一次输入要改的密码。 第二步:第二次输入要修改的密码。 第三步:判断两次输入的密码是否相同~相同则操纵成功~否则操作失败。 第四步:结束。 3.5.5 对应文件 void xgmm(): 修改密码的函数 对应的源代码为: void xgmm() { void tuichu(); int password=112233; int x,x1; printf("原密码是%d\n",password); printf("请输入新密码:"); scanf("%d",&x); printf("请确认新密码"); scanf("%d",&x1); if(x==x1){ printf("修改密码成功\n"); 23 system("pause"); system("cls"); }else { printf("两次密码不一致:"); } tuichu(); system("pause"); system("cls"); } 3.6 模块6(00204) 3.6.1 功能 实现帐号之间的转账功能 3.6.2 输入项 输入项名 标识 类型 有效位 num 要转的帐号 字符串 10位 x 要转的金额 字符串 6位 3.6.3 输出项 是否转账成功 3.6.4 流程/算法 第一步:用户输入要转的帐号。 第二步:判断此帐号是否存在~若存在则进行下一步操作。 24 第三步:输入要转的金额~并判断所转的金额是否大于用户卡上的金额~若大于则转账失败。 第四步:结束 3.6.5 对应文件 void zhuanzhang():转账函数 该函数的源代码为: void zhuanzhang() { int id=123456; int num; do { printf("请输入卡号:\n"); scanf("%d",&num); if(num==id) { printf("您可以进行转账\n"); } else if(num!=id) { printf("您的输入有误~请重新输入卡号\n"); system("pause"); system("cls"); } }while(num!=id); 25 } void je() { int x,y; printf("请输入转账金额\n"); scanf("%d",&x); if(x<=money) { printf("您转了%d元钱\n",x); y=money-x; printf("您卡里的余额是%d元钱\n",y); } else { printf("您卡里的余额不足\n"); } } 3.7 模块7(编号00205) 3.7.1 功能 实现用户存款功能 3.7.2 输入项 输入项名 标识 类型 有效位 a 6 输入的金额 字符串 26 3.7.3 输出项 是否存款成功 3.7.4 流程/算法 第一步:输入要存的金额。 第二步:结束。 3.7.5 对应文件 void cunkuan():存款函数 该函数的源代码为: void cunkuan() {int a,b; printf("请您输入您要存的金额\n"); scanf("%d",&a); b=money+a; printf("交易成功,您的卡上余额为:%d\n",b); } void chaxun() { printf("您的卡上余额为:%d\n",money); } 3.8 模块8(编号00206) 3.8.1 功能 实现退出功能 27 3.8.2 输入项 选择功能界面中的2选项 3.8.3 输出项 退卡是否成功 3.8.4 流程/算法 第一步:选择功能界面的退出选项。 第二步:结束。 3.8.5对应文件 void tuichu():退出函数 该函数的源代码为: void tuichu() { void tuichu(); void chance(); int a; printf("请选择1返回主菜单~2结束服务\n"); printf("****************************\n"); printf("***1 返回主菜单 ***\n"); printf("****************************\n"); printf("***2 结束服务~谢谢光临***\n"); printf("****************************\n"); scanf("%d",&a); switch(a) { case 1:printf("返回主菜单\n"); system("pause"); 28 system("cls"); chance(); system("pause"); system("cls"); break; case 2:printf("结束服务~谢谢光临"); exit(0); system("cls"); break; } } 4 用户界面设计 4.1用户界面图 4.1.1 登陆界面 4.1.2 开户界面 29 4.1.3 功能界面 4.1.4 修改密码界面 4.1.5 转账界面 30 4.1.6退卡界面 31
/
本文档为【经典C语言版含文件的ATM银行取款机系统源代码与程序设计基础实训I文档】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索