#include <stdio.h>#include <string.h>struct information { char account[20]char IDcardNumchar workUintchar homeAddressfloat moneychar cardNumlong int password}void openAccount(){ cardNum++user[cardNum].cardNum = cardNumprintf("
请输入您的姓名:")gets(user[cardNum].account)printf("请输入您的身份z号:")gets(user[cardNum].IDcardNum)printf("请输入您的工作单位:")gets(user[cardNum].workUnit)print("请输入您的家庭住址:")gets(user[cardNum].homeAddress)printf("请输入您的密码:")gets(user[cardNum].password)printf("请输入您要存入的金拍慎闷额:")scanf("%d",user[cardNum].money)//写入文件out.txt中,写入后,光标移至下一行 read()//读取孝派文件 write()//写入文件 cardNum++} void deposit(){ int moneyprintf("请输入您的卡号:")scanf("%d",&cardNum)printf("请输入您要存入的金额:")scanf("%f",money)user[cardNum].money = user[cardNum].money + moneyprintf("您现在账户中的余额是¥%f",user[cardNum].money)} void withdraw(){ int moneyprintf("请输入您的卡号:")scanf("%d",&cardNum)printf("请输入您要存入的金额:")scanf("%f",money)user[cardNum].money = user[cardNum].money - moneyprintf("您现在账户中的余额是¥%f",user[cardNum].money) } void changeInformation(){ printf("请输入您的卡号:")scanf("%d",&cardNum)user[cardNum].cardNum = cardNumprintf("请输入您的姓名:")gets(user[cardNum].account)printf("请输入您的身份z号:袭弯")gets(user[cardNum].IDcardNum)printf("请输入您的工作单位:")gets(user[cardNum].workUnit)print("请输入您的家庭住址:")gets(user[cardNum].homeAddress)printf("请输入您的密码:")gets(user[cardNum].password)printf("请输入您要存入的金额:")scanf("%d",user[cardNum].money)//写入文件out.txt中,写入后,光标移至下一行 read()//读取文件 write()//写入文件 } void reportLoss(){ } void closeAccount(){ } void read(){ } void write(){ } int main() { int iunsigned long int cardNum = 00001information user[cardNum]printf("请您选择要进行的 *** 作:\n")printf("------------------------------------------------------\n")printf("1、开户/办卡 2、
存款 3、取款 4、修改信息 5、挂失 6、销户\n")printf("------------------------------------------------------\n")scanf("%d",&i)if(i <1 || i >6) printf("ERROR!\n")else { switch(i) { case 1 : openAccount()breakcase 2 : deposit()breakcase 3 : withdraw()breakcase 4 : changeInformation()breakcase 5 : reportLoss()breakcase 6 : closeAccount()break} } return 0} 没有写完,楼主可以参考一下!功能:能够输入和查询客户存款取款记录。在客户文件中,每个客户是一条记录,包括编号、客户姓名、支取密码、客户地址、客户电话、账户总金额;在存取款文件中,每次存取款是一条记录,包括编号、日期、类别、存取数目、经办人。类别分为取款和存款两种。本系统能够输入客户存款或取款记录;根据客户姓名查询存款和取款记录。分步实施:1、初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数;2、建立一个文件,输入客户弯察的必要信息,能对文件进行显示、输入、修订、删除等。3、进一步要求:完成客户姓名查询存款和取款记录,并能得到每次帐户总金额。要求:1、用C语言实现系统;2、利用结构体数组实现信息的数据结构设计;3、系统的各个功能模块要求用函数的形式实现;4、界面友好(良好的人机交互),程序加必要的注释。课程设计实验报告要求:1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分 。2、实验总结报告:流程图、主要源程序代码(需打印)、测试情况及调试中问题与解决方案、小结等要求:标核闹肆明所用函数的用途和目改轿的,简单叙述制作思路。按照你的愿意把空都填好了,VC++ 6.0下编译能通过,有警告信息,运行基本上能用,不过个人认为这个系统有很大的不足,比如输入账号的时候没有输出反馈信息,以及没有对误 *** 作的处理等等。需要的话可以帮你改改!
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#define AN 9 //表示账号8位
#define PN 7 //表示密码6位
#define ASN 3 //表示系统尘饥中共有3个账户信息
struct Account
{
char accountnumber[AN]//表示账号信息
char password[PN]//表示账户的密码信息
double balance //表示账户的余额
}
struct Account ats[ASN]={{"00000001","123456",100},{"00000002","123456",200},{"00000003","123456",300}}
//ats数组用于存储系统中三个账户的信息
int isCorrect(char *an,char *psd)
{
int i
for(i=0i<ASNi++)
if(strcmp(ats[i].accountnumber,an)==0 &&strcmp(psd,ats[i].password)==0)
return 1
return 0
}
double getBalance(char *an)
{
int i
for(i=0i<ASNi++)
if(strcmp(an,ats[i].accountnumber)==0)
return ats[i].balance
}
void deposit(char *an,int amount)
{
int i
for(i=0i<ASNi++)
if(strcmp(an,ats[i].accountnumber)==0)
ats[i].balance+=amount
}
int withdraw(char *an,int amount)
{
int i
for(i=0i<ASNi++)
if(strcmp(an,ats[i].accountnumber)==0)
return ats[i].balance-=amount
}
void main()
{
char AccountNumber[AN]={'\0'}
char psd[PN]={'\0'}
int i,errorcount=0
while(1)
{
printf("\n请输入8位账号:")
for(i=0i<8i++)
AccountNumber[i]=getch()
printf("\n请输入6为密码:")
for(i=0i<6i++)
{
psd[i]=getch()
putchar('*')
}
if(isCorrect(AccountNumber,psd)==1)
{
int tag,amount
while(1)
{
printf("\n欢迎登录银行账户管理派蚂返系统,请选择您要的服务:1、查询余额;2、存款 *** 作;3、取款 *** 作;4、退出系统\n")
scanf("%d",&tag)
switch(tag)
{
case 1:
printf("您现在的余额为%f元\n",getBalance(AccountNumber))
break
case 2:
printf("请输入您的存款金额:")
scanf("%d",&amount)
deposit(AccountNumber,amount)
printf("存款成功!您的当前余额为:%f元\n",getBalance(AccountNumber))
break
case 3:
printf("请输入您的取款金额:")
scanf("%d",&amount)
if(amount<=getBalance(AccountNumber))
printf("取款成功!您的当前余额为:%f元物喊\n",withdraw(AccountNumber,amount))
else
printf("取款失败!\n")
break
case 4:
break
}
if(tag==4)
break
}
}
else
{
errorcount++
if(errorcount==3)
{
printf("您已经连续三次输入错误,系统将自动关闭\n")
break
}
}
}
}
评论列表(0条)