求大神们帮帮忙,帮我用c语言编写一个银行账户管理系统!要不回不了家了。。

求大神们帮帮忙,帮我用c语言编写一个银行账户管理系统!要不回不了家了。。,第1张

#include<stdioh>

#include<stringh>

struct bank{

char name[20];

char num[20];

double money;

};

int input(struct bank gusts[],int n);

void output(struct bank gusts[],int n);

void find(struct bank gusts[],int n);

int main()

{

struct bank gusts[100];

int n,choose;

printf("请输入要录入数据条数:");

scanf("%d",&n);

input(gusts,n);

printf("按照提示选择相应的 *** 作!\n");

while(1)

{

printf("1:查找 2输出 0结束\n");

scanf("%d",&choose);

if(choose==0)

break;

switch(choose){

case 1:find(gusts,n);break;

case 2:output(gusts,n);break;

default:printf("无此 *** 作!\n");break;

}

}

return 0;

}

int input(struct bank gusts[],int n)

{

int i;

if(n>100)

{

printf("数据过多!\n");

return 0;

}

printf("按以下格式输入%d条数据!\n",n);//加了一条提示

printf("姓名 账号 金额 \n");

for(i=0;i<n;i++)

{

scanf("%s %s %lf",gusts[i]name,gusts[i]num,&gusts[i]money);//账号不要带空格

}

printf("成功录入%d条账户数据!\n",n);

return 0;

}

void output(struct bank gusts[],int n)

{

int i;

printf("姓名 账号 金额 \n");

for(i=0;i<n;i++)

{

printf("%d:%s %s %03lf\n",i+1,gusts[i]name,gusts[i]num,gusts[i]money);

}

printf("成功输出所有账户数据!\n");

}

void find(struct bank gusts[],int n)

{

int i,choose;

int count;

char name[20],num[20];

printf("请输入查找类型对应的数字编号[1-3]:1姓名查找 2账户查找 3编号查找 4结束查找:\n");

while(1){

scanf("%d",&choose);

if(choose==4)

break;

else if(choose<1||choose>3)

{

printf("无此种查找!请重新选择!\n");

continue;

}

count=0;

switch(choose){

case 1:

printf("请输入查找的客户姓名:");

scanf("%s",name);

printf("查询结果如下:\n姓名 账户 编号\n");

for(i=0;i<n;i++)

{

if(strcmp(gusts[i]name,name)==0)

{

printf("%d:%s %s %03lf\n",i+1,gusts[i]name,gusts[i]num,gusts[i]money);

count++;

}

}

printf("共查询到%d条结果!\n",count);//加入结果统计

break;

case 2:

printf("请输入查找的客户账户:");

scanf("%s",num);

printf("查询结果如下:\n姓名 账户 编号\n");

for(i=0;i<n;i++)

{

if(strcmp(gusts[i]num,num)==0)

{

count++;

printf("%d:%s %s %03lf\n",i+1,gusts[i]name,gusts[i]num,gusts[i]money);

}

}

printf("共查询到%d条结果!\n",count);//加入结果统计

break;

case 3:

printf("请输入查找的客户编号:");

scanf("%d",&i);

printf("查询结果如下:\n姓名 账户 编号\n");

printf("%d:%s %s %03lf\n",i+1,gusts[i]name,gusts[i]num,gusts[i]money);

break;

}

}

}

#include

"stdafxh"

#include

<stdioh>

#include

<stdlibh>

#include

<timeh>

#include

<stringh>

#include

<conioh>

#define

MAX_SIZE

500

struct

tagCustom

{

int

m_nID;

//

客户的编号

int

m_nProcessTime;

//

需要处理业务的时间

int

m_nArrivalTime;

//

到达时间

int

m_nDepartTime;

//

离开时间

};

struct

tagTeller

{

int

m_nCustomNum;

//

处理的客户数

int

m_nAllServiceTime;

//

所有服务时间

int

m_nFinishServiceTime;

//

柜台针对一个客户服务的结束时间

bool

m_bBusy;

//

柜台是否忙

int

m_nCustomID;

//

正在服务的客户的ID号

};

tagTeller

g_aryTellers[MAX_SIZE];

int

g_nTellerNum;

//

柜台数量

//

用户到达数组(随机的,无序的)

tagCustom

g_aryAllCustoms[MAX_SIZE];

int

g_nCustomsNum;

int

g_nWorkTime;

//

经营时间

int

g_nArrivalRange,g_nServiceRange;

//

用户队列

tagCustom

g_CustomQueue[MAX_SIZE];

int

g_nHeader,g_nTail;

//

队列的 *** 作

void

InitQueue()

{

g_nHeader

=

g_nTail

=

-1;

}

void

AddToTail(tagCustom

aCustom)

{

g_nTail++;

g_CustomQueue[g_nTail]

=

aCustom;

}

bool

RemoveFromHeader(tagCustom

pCustom)

{

if(g_nHeader

<

g_nTail)

{

g_nHeader++;

(pCustom)

=

g_CustomQueue[g_nHeader];

return

true;

}

return

false;

}

//

功能:模拟用户的随机到来

void

GenerateCustom()

{

tagCustom

aCustom;

for(int

nCounter

=

0;

nCounter

<

g_nCustomsNum;

nCounter++)

{

aCustomm_nID

=

nCounter;

aCustomm_nArrivalTime

=

rand()

%

g_nWorkTime

;

aCustomm_nProcessTime

=

(rand()

%

g_nServiceRange

+

1)

6;

aCustomm_nDepartTime

=

-1;

g_aryAllCustoms[nCounter]

=

aCustom;

}

}

void

Init()

{

g_nTellerNum

=

3;

g_nWorkTime

=

200;

g_nCustomsNum

=

30;

g_nArrivalRange

=

18

;

g_nServiceRange

=

5

;

srand((unsigned)time(NULL));

InitQueue();

GenerateCustom();

for(int

nC

=

0;

nC

<

g_nTellerNum;

nC++)

{

g_aryTellers[nC]m_nAllServiceTime

=

0;

g_aryTellers[nC]m_nCustomID

=

-1;

g_aryTellers[nC]m_bBusy

=

false;

g_aryTellers[nC]m_nFinishServiceTime

=

-1;

}

}

FILE fp = fopen("filename",ab+);//追加到文件末尾

修改原有的应该读出来数据再以truncate方式打开并写入文件,除非你能很精确的定位信息再文件中的位置

使用fseek修改文件指针偏移再写数据

可以用switch语句

switch(var)

{

case a:do:break;

case b:do;break;

case c:do;break;

}

以上就是关于求大神们帮帮忙,帮我用c语言编写一个银行账户管理系统!要不回不了家了。。全部的内容,包括:求大神们帮帮忙,帮我用c语言编写一个银行账户管理系统!要不回不了家了。。、用C语言编银行叫号系统、C语言做一个模拟银行系统要以文件保存.一开始初始化结构体数组,并且把写入文件.功能开户怎么实现等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zz/10113726.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存