- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
简易提款机(作业)
简易提款机
目录:
系统介绍与系统简述
数据及档案结构说明
主程序解析
子程序解析
程序执行范例
完整程序代码和批注
一、系统介绍与系统简述
简易提款机是一个简化的提款机系统,它提供以下几个功能:
存簿提款:提供数据库中客户邮局提款功能。
跨行提款:提供数据库中客户跨行提款功能。
查询余额:提供数据库客户查询数据库中自己的金额。
有了以上的假设,我们应该要有以下这些档案:///非常重要
会员档:用来提供客户信息,档案每一行应包含四个字段:会员代码、会员账号、会员姓名、会员存款。
member2.txt
1 22 9032 1座机电话号码
2 11 9031 座机电话号码
3 33 9030 座机电话号码
4 44 9034 座机电话号码
5 55 9035 座机电话号码
二、数据及档案结构说明
在程序当中,我们建构并使用了一个数据结构:会员数据结构 member structure ,用来纪录每一笔会员数据,每一笔会员数据应含有以下的字段:
代码 int num
账号(int ID)
密码(long int password)
存款(long int money),表示会员账号内存款。
图示概念图如下:
会员 member 字段意义 字段名称 代码 int num 账号 int id 密码 Long int password 存款 Long int money
三、主程序解析
主程序main
功能:根据使用者的选择而执行相对应的动作(1.提款,2.转帐,3.查询纪录)。
流程图
//作业点一(画出主程序的流程图)
//流程图的依据是代码段
程序代码
void main long int PW 0;
int a,j,i,l; /*a试判断ID与密码用的*/
int id;
fp fopen member2.txt,r ;
q readfile guide ; /*读入档案,共有q-1组*/
fclose fp ;
printf 欢迎光临此提款机\n ;
for j 1;j 3;j++ printf 请输入提款卡ID: ; /*输入账号ID*/
scanf %d,id ;
a check_id id ; /*子程序:确认数据库是否有此ID*/
if a 1 break;
else printf ID输入错误\n ; for i 1;i 3;i++ printf 请输入密码: ; /*输入密码PW*/
scanf %d,PW ; a check_PW PW ; /*子程序:确认密码*/
if a 1 break;
else
printf 密码输入错误\n ;
if i 3 printf 你的卡已经被怪兽吃掉啦!!\n ; /*密码输入错误三次*/ printf 请带100万元向TANGYUNTING赎回 ; /*程序中断结束*/ goto end; withdraw ; /*选择服务项目*/
writefile guide ; /*数据更改后写入档案*/
end: /*终止用*/ printf \n ; 四、子程序解析
int readfile struct member guide[]
功能:读档进来
参数:struct member guide[]
回传值:回传值i告知档案里有i组数据
流程图:
程序代码:
int readfile struct member guide[] /*子程序*/ if fp fopen member2.txt,r NULL /*看是否能开启档案*/ printf can not open the file ; /不行的话就显示”can not open the file” */
int i 0; int fileend 0; /*fileend 宣告侦测是否已到档案结尾*/
while fileend feof fp /*feof函数检查是否已到档案结尾,*/
/*若不是则传回0,若是则传回非0的值*/ i i+1;
fscanf fp,%d,guide[i].num ; /*读取档案数据的num*/ fscanf fp,%s,guide[i].ID ; /*读取档案数据的ID*/
fscanf fp,%ld,guide[i].password ; /*读取档案数据的password*/
fscanf fp,%ld,guide[i].money ; /*读取档案数据的money*/ return i; 2. check_id int id
说明:当我们输入账号时,寻找数据库中是否有此账号
输入参数
文档评论(0)