❶ '账号密码管理软件'的开发,用c语言编程,c++,求大神
写两个数组存储账号跟密码,判断输入的数字是你自己设置的数字吗,是的话就进入系统,不是就显示错误
❷ 用C语言实现**账号管理(单向链表)
/*头文件*/#include#include#include/*其它说明*/#include/*字符串函数*/#include/*内存操作函数*/#include/*字符操作函数*/#include/*动态地址分配函数*/#defineLENsizeof(STUDENT)typedefstructstu/*定义结构体数组用于缓存数据*/{charnum[6];charname[5];intscore[3];intsum;floataverage;intorder;structstu*next;}STUDENT;/*函数原型*/STUDENT*init();/*初始化函数*/intmenu_select();/*菜单函数*/STUDENT*create();/*创建链表*/voidprint(STUDENT*head);/*显示全部记录*/voidsearch(STUDENT*head);/*查找记录*/STUDENT*delete(STUDENT*head);/*删除记录*/STUDENT*sort(STUDENT*head);/*排序*/STUDENT*insert(STUDENT*head,STUDENT*new);/*插入记录*/voidsave(STUDENT*head);/*保存文件*/STUDENT*load();/*读文件*//*主函数界面*/main(){STUDENT*head,new;head=init();/*链表初始化,使head的值为NULL*/for(;;)/*循环无限次*/{switch(menu_select()){case1:head=create();break;case2:print(head);break;case3:search(head);break;case4:head=delete(head);break;case5:head=sort(head);break;case6:head=insert(head,&new);break;/*&new表示返回地址*/case7:save(head);break;case8:head=load();break;case9:exit(0);/*如菜单返回值为9则程序结束*/}}}/*初始化函数*/STUDENT*init(){returnNULL;/*返回空指针*/}/*菜单选择函数*/menu_select(){intn;structdated;/*定义时间结构体*/getdate(&d);/*读取系统日期并把它放到结构体d中*/printf("\n按任一键进入主菜单\npressanykeytoenterthemenu");/*按任一键进入主菜单*/getch();/*从键盘读取一个字符,但不显示于屏幕*/clrscr();/*清屏*/printf("********************************************************************************\n");printf("\t\t欢迎Welcometo\n");printf("\n\t\t\t使用学生管理系统1.0\n\n\t\t\t\t\t-----------景炎中学计算机组WJQ\n");printf("*************************************MENU***************************************\n");printf("\t\t\t1.输入学生成绩记录Entertherecord\n");/*输入学生成绩记录*/printf("\t\t\t2.显示Printtherecord\n");/*显示*/printf("\t\t\t3.寻找Searchrecordonname\n");/*寻找*/printf("\t\t\t4.删除Deletearecord\n");/*删除*/printf("\t\t\t5.排序Sorttomakenewafile\n");/*排序*/printf("\t\t\t6.插入Insertrecordtolist\n");/*插入*/printf("\t\t\t7.保存Savethefile\n");/*保存*/printf("\t\t\t8.读取Loadthefile\n");/*读取*/printf("\t\t\t9.退出Quit\n");/*退出*/printf("\n\t\t制作吴俊遒WJQMadebyWuJunqiu.\n");printf("********************************************************************************\n");printf("\t\t\t\t当前系统日期:%d\\%d\\%d\n",d.da_year,d.da_mon,d.da_day);/*显示当前系统日期*/do{printf("\n\t\t\t输入你的选择Enteryourchoice(1~9):");scanf("%d",&n);}while(n9);/*如果选择项不在1~9之间则重输*/return(n);/*返回选择项,主函数根据该数调用相应的函数*/}/*输入函数*/STUDENT*create(){inti,s;STUDENT*head=NULL,*p;/*定义函数.此函数带回一个指向链表头的指针*/clrscr();for(;;){p=(STUDENT*)malloc(LEN);/*开辟一个新的单元*/if(!p)/*如果指针p为空*/{printf("\n输出内存溢出.Outofmemory.");/*输出内存溢出*/return(head);/*返回头指针,下同*/}printf("输入学号Enterthenum(0:listend):");scanf("%s",p->num);if(p->num[0]=='0')break;/*如果学号首字符为0则结束输入*/printf("输入名字Enterthename:");scanf("%s",p->name);printf("请输入3门成绩Pleaseenterthe%dscores\n",3);/*提示开始输入成绩*/s=0;/*计算每个学生的总分,初值为0*/for(i=0;iscore[i]);if(p->score[i]score[i]>100)/*确保成绩在0~100之间*/printf("数据错误,请重新输入Dataerror,pleaseenteragain.\n");}while(p->score[i]score[i]>100);s=s+p->score[i];/*累加各门成绩*/}p->sum=s;/*将总分保存*/p->average=(float)s/3;/*先用强制类型转换将s转换成float型,再求平均值*/p->order=0;/*未排序前此值为0*/p->next=head;/*将头结点做为新输入结点的后继结点*/head=p;/*新输入结点为新的头结点*/}return(head);}/*显示全部记录函数*/voidprint(STUDENT*head){inti=0;/*统计记录条数*/STUDENT*p;/*移动指针*/clrscr();p=head;/*初值为头指针*/printf("\n************************************STUDENT************************************\n");printf("-------------------------------------------------------------------------------\n");printf("|Rec|Num|Name|Sc1|Sc2|Sc3|Sum|Ave|Order|\n");printf("-------------------------------------------------------------------------------\n");while(p!=NULL){i++;printf("|%3d|%4s|%-4s|%3d|%3d|%3d|%3d|%4.2f|%-5d|\n",i,p->num,p->name,p->score[0],p->score[1],p->score[2],p->sum,p->average,p->order);p=p->next;}printf("-------------------------------------------------------------------------------\n");printf("**************************************END**************************************\n");}/*查找记录函数*/voidsearch(STUDENT*head){STUDENT*p;/*移动指针*/chars[5];/*存放姓名用的字符数组*/clrscr();printf("请输入个姓名来查找.Pleaseenternameforsearching.\n");scanf("%s",s);p=head;/*将头指针赋给p*/while(strcmp(p->name,s)&&p!=NULL)/*当记录的姓名不是要找的,或指针不为空时*/p=p->next;/*移动指针,指向下一结点*/if(p!=NULL)/*如果指针不为空*/{printf("\n*************************************FOUND************************************\n");printf("-------------------------------------------------------------------------------\n");printf("|Num|Name|sc1|sc2|sc3|Sum|Ave|Order|\n");printf("-------------------------------------------------------------------------------\n");printf("|%4s|%4s|%3d|%3d|%3d|%3d|%4.2f|%-5d|\n",p->num,p->name,p->score[0],p->score[1],p->score[2],p->sum,p->average,p->order);printf("-------------------------------------------------------------------------------\n");printf("***************************************END**************************************\n");}elseprintf("\n没有该学生Thereisnonum%sstudentonthelist.\n",s);/*显示没有该学生*/}/*删除记录函数*/STUDENT*delete(STUDENT*head){intn;STUDENT*p1,*p2;/*p1为查找到要删除的结点指针,p2为其前驱指针*/charc,s[6];/*s[6]用来存放学号,c用来输入字母*/clrscr();printf("请输入要删除的学号Pleaseenterthedeletednum:");scanf("%s",s);p1=p2=head;/*给p1和p2赋初值头指针*/while(strcmp(p1->num,s)&&p1!=NULL)/*当记录的学号不是要找的,或指针不为空时*/{p2=p1;/*将p1指针值赋给p2作为p1的前驱指针*/p1=p1->next;/*将p1指针指向下一条记录*/}if(strcmp(p1->num,s)==0)/*学号找到了*/{printf("**************************************FOUND************************************\n");printf("-------------------------------------------------------------------------------\n");printf("|Num|Name|sc1|sc2|sc3|Sum|Ave|Order|\n");printf("-------------------------------------------------------------------------------\n");printf("|%4s|%4s|%3d|%3d|%3d|%3d|%4.2f|%-5d|\n",p1->num,p1->name,p1->score[0],p1->score[1],p1->score[2],p1->sum,p1->average,p1->order);printf("-------------------------------------------------------------------------------\n");printf("***************************************END**************************************\n");printf("\n是否要删除,输入Y删除,N则退出\/N?");/*提示是否要删除,输入Y删除,N则退出*/for(;;){scanf("%c",&c);if(c=='n'||c=='N')break;/*如果不删除,则跳出本循环*/if(c=='y'||c=='Y'){if(p1==head)/*若p1==head,说明被删结点是首结点*/head=p1->next;/*把第二个结点地址赋予head*/elsep2->next=p1->next;/*否则将一下结点地址赋给前一结点地址*/n=n-1;printf("\n学号为(Num):%s学生以被删除(studenthavebeendeleted.)\n",s);printf("别忘了保存.Don'tforgettosave.\n");break;/*删除后就跳出循环*/}}}elseprintf("\n没有这个学生在表上\nThereisnonum%sstudentonthelist.\n",s);/*找不到该结点*/return(head);}/*排序函数*/STUDENT*sort(STUDENT*head){inti=0;/*保存名次*/STUDENT*p1,*p2,*t,*temp;/*定义临时指针*/temp=head->next;/*将原表的头指针所指的下一个结点作头指针*/head->next=NULL;/*第一个结点为新表的头结点*/while(temp!=NULL)/*当原表不为空时,进行排序*/{t=temp;/*取原表的头结点*/temp=temp->next;/*原表头结点指针后移*/p1=head;/*设定移动指针p1,从头指针开始*/p2=head;/*设定移动指针p2做为p1的前驱,初值为头指针*/while(t->averageaverage&&p1!=NULL)/*作成绩平均分比较*/{p2=p1;/*待排序点值小,则新表指针后移*/p1=p1->next;}if(p1==p2)/*p1==p2,说明待排序点值大,应排在首位*/{t->next=p1;/*待排序点的后继为p*/head=t;/*新头结点为待排序点*/}else/*待排序点应插入在中间某个位置p2和p1之间,如p为空则是尾部*/{t->next=p1;/*t的后继是p1*/p2->next=t;/*p2的后继是t*/}}p1=head;/*已排好序的头指针赋给p1,准备填写名次*/while(p1!=NULL)/*当p1不为空时,进行下列操作*/{i++;/*结点序号*/p1->order=i;/*将结点序号赋值给名次*/p1=p1->next;/*指针后移*/}printf("排序成功Sortingissucessful.\n");/*排序成功*/return(head);}/*插入记录函数*/STUDENT*insert(STUDENT*head,STUDENT*new){STUDENT*p0,*p1,*p2;intn,sum1,i;p1=head;/*使p1指向第一个结点*/p0=new;/*p0指向要插入的结点*/printf("\nPleaseenteranewrecord.\n");/*提示输入记录信息*/printf("输入学号Enterthenum:");scanf("%s",new->num);printf("输入名字Enterthename:");scanf("%s",new->name);printf("Pleaseenterthe%dscores.\n",3);sum1=0;/*保存新记录的总分,初值为0*/for(i=0;iscore[i]);if(new->score[i]>100||new->score[i]score[i]>100||new->score[i]score[i];/*累加各门成绩*/}new->sum=sum1;/*将总分存入新记录中*/new->average=(float)sum1/3;new->order=0;if(head==NULL)/*原来的链表是空表*/{head=p0;p0->next=NULL;}/*使p0指向的结点作为头结点*/else{while((p0->averageaverage)&&(p1->next!=NULL)){p2=p1;/*使p2指向刚才p1指向的结点*/p1=p1->next;/*p1后移一个结点*/}if(p0->average>=p1->average){if(head==p1)head=p0;/*插到原来第一个结点之前*/elsep2->next=p0;/*插到p2指向的结点之后*/p0->next=p1;}else{p1->next=p0;p0->next=NULL;}/*插到最后的结点之后*/}n=n+1;/*结点数加1*/head=sort(head);/*调用排序的函数,将学生成绩重新排序*/printf("\n学生Student%s已被更新havebeeninserted.\n",new->name);printf("不要忘了保存Don'tforgettosavethenewfile.\n");return(head);}/*保存数据到文件函数*/voidsave(STUDENT*head){FILE*fp;/*定义指向文件的指针*/STUDENT*p;/*定义移动指针*/charoutfile[10];printf("输出文件例如:c:\\scoreEnteroutfilename,forexamplec:\\score\n");scanf("%s",outfile);if((fp=fopen(outfile,"w"))==NULL)/*为输出打开一个二进制文件,为只写方式*/{printf("打不开文件Cannotopenthefile\n");return;/*若打不开则返回菜单*/}printf("\n保存中Savingthefile\n");p=head;/*移动指针从头指针开始*/while(p!=NULL)/*如p不为空*/{fwrite(p,LEN,1,fp);/*写入一条记录*/p=p->next;/*指针后移*/}fclose(fp);/*关闭文件*/printf("保存成功.Savethefilesuccessfully!\n");}/*从文件读数据函数*/STUDENT*load(){STUDENT*p1,*p2,*head=NULL;/*定义记录指针变量*/FILE*fp;/*定义指向文件的指针*/charinfile[10];printf("倒入文件例如:c:\\scoreEnterinfilename,forexamplec:\\score\n");scanf("%s",infile);if((fp=fopen(infile,"r"))==NULL)/*打开一个二进制文件,为只读方式*/{printf("打不开文件Cannotopenthefile.\n");return(head);}printf("\n寻找文件Loadingthefile!\n");p1=(STUDENT*)malloc(LEN);/*开辟一个新单元*/if(!p1){printf("内存溢出!Outofmemory!\n");return(head);}head=p1;/*申请到空间,将其作为头指针*/while(!feof(fp))/*循环读数据直到文件尾结束*/{if(fread(p1,LEN,1,fp)!=1)break;/*如果没读到数据,跳出循环*/p1->next=(STUDENT*)malloc(LEN);/*为下一个结点开辟空间*/if(!p1->next){printf("Outofmemory!\n");return(head);}p2=p1;/*使p2指向刚才p1指向的结点*/p1=p1->next;/*指针后移,新读入数据链到当前表尾*/}p2->next=NULL;/*最后一个结点的后继指针为空*/fclose(fp);printf("\n你成功的从文件中读取了数据!\!\n");return(head);}
❸ 用C语言编写银行帐户账户管理系统
使用 C 语言编写一个银行帐户管理系统?你的这个编程要求实在是太高了,肯定是不会有人满足你的要求的。
因为这个要求已经不是简单地答疑 C 语言的语法错误之类的问题了,而是需要从头设计整个该帐户管理系统的各种数据存储结构、以及各种算法(在编写此软件的过程中,肯定需要涉及:到底采用哪一种排序算法效率最高、以及采取哪一种查找算法对人员进行查询效率最高),并且要想彻底从编写一个源程序,到编译、链接、直到该应用软件能够运行出用户所要求的最终正确结果,那是需要花费很多的时间和精力去调试的,而不是只要写出程序代码,即使程序的编程思路是正确的,也不一定能够保证程序的运行结果是正确的。
❹ C语言编写账号,密码登录怎么写
同意其他楼的说法,别以为这工作很简单,或者按键精灵简单。
建议你用循序渐进的思路
先实现在windows记事本里输入任意文字---这就是你说的类似按键精灵的操作,涉及到寻找窗口句柄、发送消息等windows api。
再实现在最基本的网站上的文本框里输入内容---也是类似找句柄,不过网页的结构层次很复杂,难以定位
最后再说登陆126这种,因为它可能有各种验证码等阻止自动化登陆的方法,别说c语言了,就是其他像python这种,也不是轻而易举就能绕过的
不排除126这种大型网站已经公开了邮箱api,不通过界面也可以访问你的邮件,这需要看官方文档
❺ C语言怎样设置特定的密码帐号登录系统
首先需要确定使用的是那种编译环境,如turbo C,Unix C还是VC,然后在选用编译器提供的合适的API函数,这样才能达到事半功倍的效果,写出高效率的代码。不过,不管是基于那种编程环境,基本思路是一样的,就是通过字符串读取函数gets()从客户端(命令窗口或对话框)读取用户输入的用户名和密码,然后与设置好的用户名和密码分别进行比较(可以采用字符串比较函数strcmp()),比较结果为真,则用户名和密码匹配,从登陆界面切换到执行界面,否则,提示错误。
❻ 银行账户管理系统 c语言
如果你用VC编译,有几处警告,你可以把下面有双斜杠那一行去掉就行
通过VC++6.0编译
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define BUFFERSIZE 1024
#define MAXACCOUNT 1000
typedef struct BankAccount
{
int account;
int key;
char name[32];
float balance;
}BANKACCOUNT;
BANKACCOUNT accountCollection[MAXACCOUNT];
int curAccount = 0;
void InsertAccount(FILE *fp)
{
BANKACCOUNT newaccount;
printf("please input the account information\n");
printf(">>account num:");
scanf("%d",&(newaccount.account));
printf(">>key:");
scanf("%d",&(newaccount.key));
printf(">>name:");
scanf("%s",newaccount.name);
printf(">>balance:");
scanf("%f",&(newaccount.balance));
fseek(fp,0L,SEEK_END);
fprintf(fp,"%d %d %s %.2f\n",newaccount.account,newaccount.key,newaccount.name,newaccount.balance);
}
void GetAccount(FILE *fp)
{
int accountnum;
int key;
char name[32];
float balance;
int i =0;
//char buffer[BUFFERSIZE];
//int len;
curAccount = 0;
fseek(fp,0,SEEK_SET);
while(!feof(fp)) /* 因为feof()最后会读2遍,所以最后curAccount多加了1 */
{
fscanf(fp,"%d %d %s %f",&accountnum,&key,name,&balance);
accountCollection[curAccount].account = accountnum;
accountCollection[curAccount].key = key;
strcpy(accountCollection[curAccount].name ,name);
accountCollection[curAccount].balance = balance;
curAccount++;
}
}
void ListAccount(FILE *fp)
{
int i =0;
printf("There is %d accounts at all:\n",curAccount-1);/* curAccount减去多加的1 */
for(i = 0;i< curAccount-1;i++)
{
printf("ACCOUNT[%d]:\n",i+1);
printf(">>accountnum:%d\n",accountCollection[i].account);
printf(">>accountnum:%s\n",accountCollection[i].name);
printf(">>accountnum:%.2f\n",accountCollection[i].balance);
}
}
int SearchAccount(FILE *fp,int accountnum)
{
int i =0;
for(i = 0;i< curAccount-1;i++)
{
if(accountCollection[i].account == accountnum)
{
printf("ACCOUNT[%d]:\n",i+1);
printf(">>accountnum:%d\n",accountCollection[i].account);
printf(">>accountnum:%s\n",accountCollection[i].name);
printf(">>accountnum:%.2f\n",accountCollection[i].balance);
return 1;
}
}
return 0;
}
void DelAccount(FILE *fp,int accountnum)
{
int i;
if(SearchAccount(fp,accountnum)==0)
printf("Can't find the account\n");
else
{
for(i = 0;i<curAccount-1;i++)
{
if(accountCollection[i].account != accountnum)
fprintf(fp,"%d %d %s %.2f\n",accountCollection[i].account,accountCollection[i].key,accountCollection[i].name,accountCollection[i].balance);
}
printf("delete successfully!\n");
}
}
int main()
{
FILE *fp;
int accountnum;
int i;
do{
// clrscr();
puts("********************************************");
puts("* You can choose : *");
puts("* 1 : Insert a new Account *");
puts("* 2 : List all Accounts *");
puts("* 3 : Find a Account *");
puts("* 4 : Delete a Account *");
puts("* 5 : quit *");
puts("********************************************");
puts("Please input your choice:");
scanf("%d",&i);
//clrscr();
switch(i)
{
case 1:
if(!(fp = fopen("account.txt","a+")))
{
printf("can't open the file account.txt\n");
exit(0);
}
InsertAccount( fp);
printf("press any key to continue.....\n");
//getch();
fclose(fp);
break;
case 2:
if(!(fp = fopen("account.txt","r")))
{
printf("can't open the file account.txt\n");
exit(0);
}
GetAccount(fp);
ListAccount(fp);
fclose(fp);
printf("press any key to continue.....\n");
//getch();
break;
case 3:
printf("please input the account num:\n");
scanf("%d",&accountnum);
if(!(fp = fopen("account.txt","r")))
{
printf("can't open the file account.txt\n");
exit(0);
}
GetAccount(fp);
if(!SearchAccount(fp,accountnum))
printf("There is not the account:%d\n",accountnum);
fclose(fp);
printf("press any key to continue.....\n");
//getch();
break;
case 4:
printf("please input the account num:\n");
scanf("%d",&accountnum);
if(!(fp = fopen("account.txt","r")))
{
printf("can't open the file account.txt\n");
exit(0);
}
GetAccount(fp);
fclose(fp);
if(!(fp = fopen("account.txt","w+")))
{
printf("can't open the file account.txt\n");
exit(0);
}
DelAccount(fp,accountnum);
fclose(fp);
printf("press any key to continue.....\n");
// getch();
break;
default:
break;
}
}while(i != 5);
// getch();
return 0;
}
❼ 编写 c语言 银行账户信息管理系统
请将我采纳为最佳答案后联系我,谢谢!
❽ 用c语言写个帐号管理系统(带注册的)分普通用户和管理员。。
用c语言实现不了,c语言是一种对数值操作的编程语言。
你要实现这个功能可以用c++builder,很好用。
看一看关于数据库方面,很简单。
❾ 求简单的C语言编程,银行账户管理系统
简单的管理系统代码(按照你的要求:输入输出加查找)
优化如下:
#include<stdio.h>
#include<string.h>
structbank{
charname[20];
charnum[20];
doublemoney;
};
intinput(structbankgusts[],intn);
voidoutput(structbankgusts[],intn);
voidfind(structbankgusts[],intn);
intmain()
{
structbankgusts[100];
intn,choose;
printf("请输入要录入数据条数:");
scanf("%d",&n);
input(gusts,n);
printf("按照提示选择相应的操作! ");
while(1)
{
printf("1:查找2输出0结束 ");
scanf("%d",&choose);
if(choose==0)
break;
switch(choose){
case1:find(gusts,n);break;
case2:output(gusts,n);break;
default:printf("无此操作! ");break;
}
}
return0;
}
intinput(structbankgusts[],intn)
{
inti;
if(n>100)
{
printf("数据过多! ");
return0;
}
printf("按以下格式输入%d条数据! ",n);//加了一条提示
printf("姓名账号金额 ");
for(i=0;i<n;i++)
{
scanf("%s%s%lf",gusts[i].name,gusts[i].num,&gusts[i].money);//账号不要带空格
}
printf("成功录入%d条账户数据! ",n);
return0;
}
voidoutput(structbankgusts[],intn)
{
inti;
printf("姓名账号金额 ");
for(i=0;i<n;i++)
{
printf("%d:%s%s%0.3lf ",i+1,gusts[i].name,gusts[i].num,gusts[i].money);
}
printf("成功输出所有账户数据! ");
}
voidfind(structbankgusts[],intn)
{
inti,choose;
intcount;
charname[20],num[20];
printf("请输入查找类型对应的数字编号[1-3]:1姓名查找2账户查找3编号查找4结束查找: ");
while(1){
scanf("%d",&choose);
if(choose==4)
break;
elseif(choose<1||choose>3)
{
printf("无此种查找!请重新选择! ");
continue;
}
count=0;
switch(choose){
case1:
printf("请输入查找的客户姓名:");
scanf("%s",name);
printf("查询结果如下: 姓名账户编号 ");
for(i=0;i<n;i++)
{
if(strcmp(gusts[i].name,name)==0)
{
printf("%d:%s%s%0.3lf ",i+1,gusts[i].name,gusts[i].num,gusts[i].money);
count++;
}
}
printf("共查询到%d条结果! ",count);//加入结果统计
break;
case2:
printf("请输入查找的客户账户:");
scanf("%s",num);
printf("查询结果如下: 姓名账户编号 ");
for(i=0;i<n;i++)
{
if(strcmp(gusts[i].num,num)==0)
{
count++;
printf("%d:%s%s%0.3lf ",i+1,gusts[i].name,gusts[i].num,gusts[i].money);
}
}
printf("共查询到%d条结果! ",count);//加入结果统计
break;
case3:
printf("请输入查找的客户编号:");
scanf("%d",&i);
printf("查询结果如下: 姓名账户编号 ");
printf("%d:%s%s%0.3lf ",i+1,gusts[i].name,gusts[i].num,gusts[i].money);
break;
}
}
}
运行截图:
❿ 求c语言,银行账户管理系统
#include <conio.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
char cFile[] = "date.txt";
struct bank
{
char id[10+1];
char psw[6+1];
double money;
};
welcome1()
{
printf("\n\n\t\t欢迎使用虚拟银行自动取款机服务!\t\t\n\n");
printf("请选择功能:\n");
printf("\n=================================================\n");
printf(" || 请输入序号 ||\n");
printf(" || 1.新用户开户。 ||\n");
printf(" || 2.老用户登陆。 ||\n");
printf(" || 3.退出系统。 ||\n");
printf("=================================================\n");
}
welcome2()
{
printf("\n\n\t\t注册须知\n\n");
printf("**************************************************\n");
printf("* 1.请填写您的真实资料! *\n");
printf("* 2.开户首期必须存入100元以上 *\n");
printf("**************************************************\n");
}
welcome3()
{
printf("\n\n\t\t\3 欢迎进入虚拟银行系统 \3\n\n");
printf("\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\n");
printf("\1\1\t 请选择功能:1.取款(最多透资2000); \1\1\n");
printf("\1\1\t 2.存款; \1\1\n");
printf("\1\1\t 3.查询余额; \1\1\n");
printf("\1\1\t 4.修改密码; \1\1\n");
printf("\1\1\t 5.返回主页面; \1\1\n");
printf("\1\1\t 任意键退出. \1\1\n");
printf("\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\n");
}
int search(char* user, char* pwd, char* real_pwd)/*判断帐号是否相同,不相同返回1*/
{
FILE* file;
char user_buff[256], pwd_buff[256];
file = fopen(cFile, "r");
if (!file) return 0;
while (!feof(file))
{
if (fscanf(file, "%s%s\n", user_buff, pwd_buff) == EOF) return 0;
if (!strcmp(user_buff, user))
{
if (real_pwd) strcpy(real_pwd, pwd_buff);
return 1;
}
}
fclose(file);
return 0;
}
int add(char* user, char* pwd, double coin_n)
{
FILE* file;
file = fopen(cFile, "a");
if (!file) return 0;
fprintf(file, "%s %s %.2lf\n", user, pwd, coin_n);
fclose(file);
return 0;
}
int wenjian(char* user, char* pwd,double coin)
{
if (search(user, pwd, NULL)) return 0;
else add(user, pwd, coin);
return 1;
}
zhuce()/*注册*/
{
struct bank *p;
int i=0,k=0,judge1,judge2;
char name[30];
char sex,ch;
char sh[18];
int n;
p=(struct bank*)malloc(sizeof(struct bank));/*给p分配内存*/
welcome2();
printf("请输入您的名字(纯英文):");
gets(name);
printf("请输入您的性别(男:1 女2):");
fflush(stdin);
scanf("%c",&sex);
fflush(stdin);
printf("请输入您的身份证号码:");
gets(sh);
for(n=0;n<strlen(name);n++)/*判断输入信息是否正确*/
{
if(name[n]>='0'&&name[n]<='9')
{
printf("您输入的名字有误!\n");
printf("\n请选择:按1返回主页面. 按任意键退出:");
fflush(stdin);
scanf("%c",&ch);
fflush(stdin);
if(ch=='1'){system("cls");main();}
else exit(0);
}
}