银行存取款管理系统.docx
《银行存取款管理系统.docx》由会员分享,可在线阅读,更多相关《银行存取款管理系统.docx(11页珍藏版)》请在冰豆网上搜索。
银行存取款管理系统
#include
#include
#include
#include
//自定义结构体程序
structstudent
{
characad[10],name[20],sex;//客户账号,姓名,性别
intage;//客户年龄
charaddr[30];//客户住址
longintnum;//存取款数目
};
voidinputing(student*p);//声明输入函数中的输数据部分并保存的函数
voidinput(student*p,inti);//声明输入函数
voidinsert(student*p,inti);//声明插入函数
voidoutput(student*p,inti);//声明输出函数
voidsort(student*p,intn);//声明排序函数
voidfind(student*p,intn);//声明查找函数
intdel(student*p,intn);//声明删除函数
voidmain()
{
system("color34");
student*q=NULL;//自定义类型指针
inti=0,j,k,b=0;
do
{
printf("\t\t|-------------------------------------------|\n");
printf("\t\t|----------一银行存取款管理系统-------------|\n");
printf("\t\t|by:
xiaqingsong|\n");
printf("\t\t|-------------------------------------------|\n");
printf("\t\t|1.输入客户信息2.添加客户信息|\n");
printf("\t\t|3.排序客户信息4.查找客户信息|\n");
printf("\t\t|5.删除客户信息6.显示客户信息|\n");
printf("\t\t|7.退出系统|\n");
printf("\t\t|-------------------------------------------|\n");
printf("\t\t\t\t请选择菜单:
");
scanf("%d",&j);
switch(j)
{
case1:
b++;
if(b!
=1)
{
printf("你已经输入过一次了,不能再选择,加入可以选择<2.添加客户信息>\n");
break;
}
else
{
printf("请输入要输入的客户人数:
");
scanf("%d",&i);
while(b<=0)
{
printf("输入错误,请重新输入要输入的客户人数:
");
scanf("%d",&i);
}
q=(student*)malloc(i*sizeof(student));
input(q,i);//调用输入函数
break;
}
case2:
i++;
q=(student*)realloc(q,i*sizeof(student));
insert(q,i-1);//调用插入函数
break;
case3:
sort(q,i);//调用排序函数
break;
case4:
find(q,i);//调用查找函数
break;
case5:
k=del(q,i);//调用删除函数
if(k==1)
{
i--;
q=(student*)realloc(q,i*sizeof(student));
}
break;
case6:
output(q,i);//调用输出函数
break;
case7:
printf("程序即将退出...\n");
break;
default:
printf("菜单选择错误!
");
}
}while(j!
=7);
free(q);
}
//输入函数中的输数据部分并保存的函数
voidinputing(student*p)
{
printf("请输入客户账号:
");
scanf("%s",p->acad);
printf("请输入客户姓名:
");
scanf("%s",p->name);
printf("输入客户住址:
");
scanf("%s",&(p->addr));
do
{
printf("输入客户性别男/f:
女>:
");
fflush(stdin);
scanf("%c",&(p->sex));
if(p->sex!
='m'&&p->sex!
='f')
{
printf("输入错误,重新");
}
}while(p->sex!
='m'&&p->sex!
='f');
do
{
printf("输入客户年龄:
");
scanf("%d",&(p->age));
if(p->age<1||p->age>100)
{
printf("输入错误,重新");
}
}while(p->age<1||p->age>100);
do
{
printf("输入客户存取款数目:
");
scanf("%ld",&(p->num));
if(p->num<0||p->num>1000000)
{
printf("输入错误,重新");
}
}while(p->num<0||p->num>1000000);
}
//输入函数
voidinput(student*p,inti)
{
intx;
for(x=0;x
{
printf("请输入第%d名客户存取款信息:
\n",x+1);
inputing(p);//调用输入函数中的输数据部分并保存的函数
printf("\n");
}
}
//输出函数
voidoutput(student*p,inti)
{
printf("账号\t姓名\t性别\t年龄\t住址\t存取款数目");
intx=0;
for(x=0;x
{
printf("%s\t%s\t%c\t%d\t%s\t%ld\n",p->acad,p->name,p->sex,p->age,p->addr,p->num);
}
printf("\n");
}
//插入函数
voidinsert(student*p,inti)
{
p=p+i;
printf("请输入要插入的客户存取款信息:
\n");
inputing(p);//调用输入函数中的输数据部分并保存的函数
printf("\n");
}
//排序函数
voidsort(student*p,intn)
{
studentt;
inti,j;
{
printf("要求按账号从小到大排序.\n");
for(i=0;i{
for(j=0;j{
if(strcmp((p+j)->acad,(p+j+1)->acad)==1)
{
t=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=t;
}
}
}
}
output(p,n);
}
//查找函数
voidfind(student*p,intn)
{
studentt;
inti=0;
printf("要求按客户姓名查找:
");
printf("请输入要查找的姓名:
");
scanf("%s",t.name);
for(i=0;i{
if(strcmp(t.name,(p+i)->name)==0)
{
break;
}
}
if(i>=n)
{
printf("查找的姓名是%s的客户,没有找到!
\n",t.name);
}
else
{
printf("查找的姓名是%s的客户,是所输入的客户中的%d个客户.\n",t.name,i+1);
printf("账号\t姓名\t性别\t年龄\t住址\t存取款数目");
printf("%s\t%s\t%c\t%d\t%s\t%ld\n",p->acad,p->name,p->sex,p->age,p->addr,p->num);
}
}
//删除函数
intdel(student*p,intn)
{
studentt;
inti=0,j;
charch;
printf("要求按客户姓名删除:
");
{
printf("输入要删除的客户的姓名:
");
scanf("%s",t.name);
for(i=0;i{
if(strcmp(t.name,(p+i)->name)==0)
{
break;
}
}
if(i>=n)
{
printf("删除的姓名是%s的客户,没有找到.\n",t.name);
return0;
}
else
{
printf("删除的姓名是%s的客户,是所输入的客户中的%d个客户.\n",t.name,i+1);
printf("要删除的客户存取款信息:
\n");
printf("账号\t姓名\t性别\t年龄\t住址\t存取款数目");
printf("%s\t%s\t%c\t%d\t%s\t%ld\n",p->acad,p->name,p->sex,p->age,p->addr,p->num);
printf("是否一定删除删除/n:
不删除>:
");
fflush(stdin);
scanf("%c",&ch);
if(ch!
='y')
{
printf("你选择了不删除%s客户存取款信息,没有删除\n",(p+i)->name);
return0;
}
else
{
printf("你选择了删除%s客户存取款信息,已删除\n",(p+i)->name);
for(j=i;j{
*(p+j)=*(p+j+1);
}
return1;
}
}
}
}