鱼C论坛

 找回密码
 立即注册
查看: 4224|回复: 12

c++银行账号管理系统,编译无误,输入有问题,帮我看看代码哪里有问题

[复制链接]
发表于 2013-8-20 12:16:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

#ifndef CUSTOMER_H

#define CUSTOMER_H

#include<string>

#include<stdlib.h>

#include<iostream>

#include<fstream>

using namespace std;

struct consumer

{

     char name[10];//姓名

     int ID;  //账户

char sex[10];//性别

char passwd[30];//密码

float money;//金额

int telephone;//电话

int phone;//手机

char address[50];//地址

int ID_card;//身份证

};

int functionshow();          //系统窗口

int initial();               //账户文件初始化

int set_account();           //开户

int get_account();           //分配账号

int del_account();           //销户

int load();                  //读取信息

int enter_account();         //登陆账户

int enter_ID();              //确定账户

int find();                  //查询

int find_name();             //查询姓名

int find_ID();               //查询账号

int find_telephone();        //查询电话

int find_phone();            //查询手机

int find_address();          //查询地址

int find_ID_card();          //查询身份证

int display();               //显示信息

int transfer();              //转账

int savemoney();             //存钱

int fetchmoney();            //取钱

int change_password();       //修改密码

int createtxt();             //建立文本文件

int exit_account();          //退出系统

int endmark(consumer bank);        //判断空标志记录

#endif


#include "customer.h"

int main()

{

functionshow();

return 0;

}


#include "customer.h"

//functionshow.cpp

//系统窗口

int functionshow()

{

load();

    char chioce;

    while(1)

{

     system("cls");                        //清除屏幕

     cout<<"*******************欢迎使用银行账户管理系统V3.0*******************\n";

     cout<<"                        1)用户开户\n";

     cout<<"                        2)登录账户\n";

     cout<<"                        3)账户注销\n";

     cout<<"                        4)清除数据\n";

     cout<<"                        5)查询数据\n";

     cout<<"                        6)建立文本\n";

     cout<<"                        7)退出系统\n";

     cout<<"******************************************************************\n";

     cout<<"                请您输入相应的操作序号进行操作:";

     cin>>chioce;

     switch(chioce)

{

      case'1':set_account();break;

      case'2':enter_account();break;

      case'3':del_account();break;

      case'4':initial();break;

case'5':find();break;

      case'6':createtxt();break;

      case'7':exit_account();break;

      default:cout<<"输入错误,请您重新输入:";

}

}

return 0;

}


static int note;          //记录//怎么弄个变量可以在各函数里面赋值并且可以全局使用?

const char*filedat="bank.txt";

const consumer mark={"noname\0",0,"nosex\0","nopasswd\0",0,0,0,"noaddress\0",0};//空记录


//load.cpp

//读取数据文件

int load()

{

cout<<"\tLOADING...\n";

ifstream infile(filedat,ios::in);                //以读方式打开

if(!infile)                                      //判断有无文件

{                             

        cout<<"\t无数据文件,请您进行初始化操作\n";

}

else

{

        cout<<"\t读取文件成功!请按回车键继续!";

}

infile.close();

cin.get();

return 0;

}

//get_account.cpp

//获得系统分配的账号

int get_account()

{

int num=100000;//以100000为开始来分配账户

consumer bank;

fstream infile(filedat,ios::in|ios::binary);     //以读方式打开

infile.seekg(0,ios::beg);                        //文件读指针移到开始位置

while(1)                  //查找

{

do{infile.read((char*)&bank,sizeof(consumer));//读一个记录

}while(bank.ID!=num||!endmark(bank)||!infile.eof());//判断是否找到记录

if(bank.ID==num)num++;                       //找到记录,找下一个

else if(endmark(bank))

{

       note=num;

infile.close();                          //关闭文件

return 0;                              //获得账号

}

    }   

}


小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-8-20 12:18:41 | 显示全部楼层
本帖最后由 唔系DOG屎笑~ 于 2013-8-20 12:25 编辑

//set_account.cpp

//开户设置

int set_account()

{

consumer bank;

float m;

int s,a=0,i=0,n=0;

char passwd1[30],passwd2[30];

system("cls"); //清除屏幕

fstream infile(filedat,ios::in|ios::out|ios::binary);   //以读/写方式打开文件

if(!infile)

{

cout<<"\t无数据文件,请进行初始化操作";

return 0;

}

cout<<"*******************欢迎使用银行账户管理系统V3.0*******************\n";

cout<<"****************************开户设置******************************\n";

infile.seekg(0,ios::beg);                       //读指针移到文件头

do                                              //查找文件尾

{infile.read((char*)&bank,sizeof(consumer));    //读一个记录

}while(!endmark(bank)||!infile.eof());                //判断是否结束标志

cout<<"\t请您输入开户人姓名:";

cin>>bank.name;

cout<<"\t获得系统分配账号:"<<note<<"\t请牢记!\n";

bank.ID=note;

cout<<"\t请您输入性别\n(1)boy(2)girl:";

cin>>s;

if(s!=1&&s!=2){cout<<"\t输入错误\n";return 0;}

else if(s==1){strcpy(bank.sex,"boy");cout<<"\tboy\n";}

else {strcpy(bank.sex,"girl");cout<<"\tgirl\n";}

&#8203;cout<<"\t请您输入开户密码:";                      //设置密码

cin>>passwd1;

while(i<=2)

{

cout<<"\t请您再次输入密码:";

cin>>passwd2;

if(!strcmp(passwd1,passwd2))                 //判断两次输入密码是否真确

{

cout<<"\t密码设置成功!请您记住密码!\n";

strcpy(bank.passwd,passwd2);

break;

}

i++;

cout<<"\t"<<3-i<<"次机会\n";

cout<<"\t请您输入正确的密码!\n";

if(n=3)

{

cout<<"\t密码错误!系统异常!强制退出!\n";

return 0;

}           

}

cout<<"\t请输入存入金额:";

cin>>m;

n=0;

while(m<=0)

{

n++;

cout<<"\t还有"<<3-n<<"次机会\n";

cout<<"\t请您输入正确的金额!\n";

cin>>m;

if(n=3)

{

cout<<"\t!系统异常!强制退出!\n";

return 0;

}

}

cout<<"\t输入成功!";

bank.money=m;

cout<<"\t请您输入电话号码:";

cin>>bank.telephone;

cout<<"\t请您输入手机号码:";

cin>>bank.phone;

cout<<"\t请您输入家庭地址:";

cin>>bank.address;

cout<<"\t请您输入身份证号码:";

cin>>bank.ID_card;

cout<<"****************************开户成功******************************\n";

infile.seekp(-long(sizeof(consumer)),ios::cur);

infile.write((char*)&bank,sizeof(consumer));   //写记录

display();

infile.write((char*)&mark,sizeof(consumer));   //写文件结束标志

infile.close();

cin.get();

return 0;

}


//enter_ID.cpp
//确定账户
int enter_ID()
{
system("cls");
int id,i=0;
char p[30];
consumer bank;
cout<<"*******************欢迎使用银行账户管理系统V3.0*******************\n";
cout<<"\t请输入账号:";
cin>>id;
fstream infile(filedat,ios::in|ios::binary);   //以读方式打开文件
infile.seekg(0,ios::beg);
    do                                          //查找
{infile.read((char*)&bank,sizeof(consumer));//读一个记录                  
}while(bank.ID!=id&&!infile.eof());         //判断是否找到记录
if(infile.eof())
{cout<<"\t账号不存在!\n";return 0;}
else
{cout<<"\t请输入密码:\n";            
cin>>p;
while(i<=2)
{
if(!strcmp(p,bank.passwd))
{
cout<<"\t密码正确!\n";
           cout<<"*************************账户登录成功*****************************\n";
}
i++;
cout<<"\t请输入正确的密码!\n";
cout<<"\t还有"<<3-i<<"次机会!\n";
cout<<"\t请再次输入密码:\n";
        cin>>p;
if(i=3){cout<<"\t密码错误!系统异常!强制退出!\n";}return 0;}
}
note=bank.ID;                          //留下标记
if(bank.ID_card!=0){}                  //移动流指针到尾部
infile.close();
cin.get();
return 0;
}

//void enter_account.cpp
//登陆账户
int enter_account()
{
char chioce;
fstream infile(filedat,ios::in|ios::binary);       //以读方式打开文件
if(!infile)
{
cout<<"\t无数据文件,请进行初始化操作!\n";
return 0;
}
infile.close();
enter_ID();
while(1)
{
system("cls");
  cout<<"*******************欢迎使用银行账户管理系统V3.0*******************\n";
  cout<<"                        1)查看信息\n";
  cout<<"                        2)存款\n";
  cout<<"                        3)取款\n";
  cout<<"                        4)转账\n";
   cout<<"                        5)修改密码\n";
   cout<<"                        6)返回系统\n";
   cout<<"                 请您输入相应的操作序号进行操作:\n";
   cout<<"******************************************************************\n";
   cin>>chioce;
   switch(chioce)
{
case'1':display();break;
case'2':savemoney();break;
case'3':fetchmoney();break;
case'4':transfer();break;
case'5':change_password();break;
case'6':note=0;break;
}
}
cin.get();
return 0;
}//del_account.cpp
//账户注销
int del_account()
{
fstream infile(filedat,ios::in|ios::binary);       //以读方式打开文件
if(!infile)
{
cout<<"\t无数据文件,请进行初始化操作!\n";
return 0;
}
infile.close();
enter_ID();
system("cls");
display();
cout<<"*******************欢迎使用银行账户管理系统V3.0*******************\n";
cout<<"\t确定是否要销户!\n\t(1)是(0)否:";
cin>>note;
if(note==1||note==0)
if(note==1)infile.write((char*)&mark,sizeof(consumer));//写文件结束标志
else {cout<<"\t取消操作!\n";return 0;}
else{cout<<"\t输入错误!\n";return 0;}
cout<<"************************账户注销成功******************************\n";
infile.close();
cin.get();
return 0;
}
//find.cpp
//查询数据
int find()
{
fstream infile(filedat,ios::in|ios::binary);       //以读方式打开文件
if(!infile)
{
cout<<"\t无数据文件,请进行初始化操作!\n";
return 0;
}
infile.close();
char n;
cout<<"*******************欢迎使用银行账户管理系统V3.0*******************\n";
cout<<"***************************查询数据*******************************\n";
cout<<"                         1)查询姓名\n";
cout<<"                         2)查询账号\n";
cout<<"                         3)查询电话\n";
cout<<"                         4)查询手机\n";
cout<<"                         5)查询地址\n";
cout<<"                         6)查询身份证\n";
cout<<"                         7)退出查询\n";
cout<<"                 请您输入相应的操作序号进行操作:\n";
cout<<"******************************************************************\n";
cin>>n;
switch(n)
{case'1':find_name();break;
case'2':find_ID();break;
case'3':find_telephone();break;
case'4':find_phone();break;
case'5':find_address();break;
case'6':find_ID_card();break;
case'7':return 0;
}
}

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-20 12:20:53 | 显示全部楼层
本帖最后由 唔系DOG屎笑~ 于 2013-8-20 12:22 编辑

不会排版sorry:sweat:最后我输入的信息变成空标记了,肿么办啊?
QQ截图20130820111306.png
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-20 13:22:05 | 显示全部楼层
求顶,求解:mad:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-20 14:43:18 | 显示全部楼层
:big不错,我喜欢,有机会可以试试看
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-20 20:53:07 | 显示全部楼层
就是输入不进去怎么解?:mad:
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-9-11 07:12:52 | 显示全部楼层
求助,作业要交了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-9-11 07:15:03 | 显示全部楼层
who can help me
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-9-11 07:17:20 | 显示全部楼层
怎么没有人的
:sad:sad:sad:sad:sad:sad:sad:sad:sad:sad:sad:sad:sad:sad:sad:sad:sad:sad
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-9-11 07:18:05 | 显示全部楼层
那我只好自己顶起来了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-9-11 09:07:17 | 显示全部楼层
初学者,不会,但是,可以帮你顶顶。加油。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-9-11 15:31:22 | 显示全部楼层
代码略长,你是哪个输入有问题我给你看看
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-11-5 11:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表