c++个人财务管理系统_个人财务管理系统c
c++个人财务管理系统由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“个人财务管理系统c”。
个人财务管理系统
//mynumber.h #include #include #include #include #include using namespace std;struct record {string time;string operate;int money;};struct code {
string paword;stringacnumber;string person1;string person2;};const record mark={“notimen”,“non”,0};cla account {public: struct record A;struct code B;intcheckacnumber();intcheckpaword();voidoldrecord(const char *filetxt);void inquire(const char *filetxt);void del(const char *filetxt);void increase(const char *filetxt);voidCreateTxt(const char *filetxt);voidprintall(const char *filetxt);voidprintincome(const char *filetxt);voidprintpay(const char *filetxt);voidModifynumber();voidCreateDat();void Initial(const char *filetxt);intendmark(record A);intfindback();voidrecyclebin(const char *filetxt);};//main.cpp #include“mynumber.h” const char *file=“E:RecordFile.txt”;int main(){cout
欢迎使用个人财务管理系统n“;cout
|n”;cout
1.登陆
|n“;cout
2.注册
|n”;cout
cout>n;account X;if(n==2){X.CreateDat();n=1;} if(n==1)
{k=X.checkacnumber();if(k==0)exit(0);else {t=X.checkpaword();if(t==0)exit(0);else while(1){cout
cout
0.退出系统
cout
1.查找记录
cout
2.增加记录
cout
3.删除记录
cout
4.输出所有记录
cout
5.输出所有收入记录
cout
6.输出所有支出记录
cout
7.修改密码
cout
8.初始化记录
cout
9.回收站
char choice;cin>>choice;switch(choice){case'0':cout
|n“;|n”;
|n“;|n”;|n“;|n”;|n“;|n”;|n“;|n”;|n“;|n”;case'6':X.printpay(file);break;case'7':X.Modifynumber();break;case'8':X.Initial(file);break;case'9':X.recyclebin(file);break;} cout
//check-acnumber.cpp #include“mynumber.h” int account::checkacnumber(){stringa;int j=3;ifstreamfdat(“E:accountFile.dat”,ios::in);cout>a;fdat.seekg(0,ios::beg);fdat.read((char*)&B,sizeof(code));if(a==B.acnumber){fdat.close();return 1;} else cout
//check-paword.cpp #include“mynumber.h” int account::checkpaword(){ifstreamfdat(“E:accountFile.dat”,ios::in);strings;int j=3,x;cout>s;fdat.seekg(0,ios::beg);fdat.read((char*)&B,sizeof(code));if(s==B.paword){fdat.close();return 1;} else cout>answer;if(answer=='Y'||answer=='y'){x=account::findback();if(x==1)return 1;else return 0;} else {cout
//CreateDat.cpp #include“mynumber.h” void account::CreateDat(){codeB;stringa,b;account::oldrecord(“E:RecordFile.txt”);fstream temp(“E:lalala.txt”,ios::out|ios::binary);fstream rub(“E:RecycleBin.txt”,ios::out|ios::binary);temp.seekp(0,ios::beg);temp.write((char*)&mark,sizeof(record));rub.seekp(0,ios::beg);rub.write((char*)&mark,sizeof(record));while(1){cout>B.acnumber;cout>B.paword;cout>b;cout>a;cout
{
cout>B.person1;cout>B.person2;cout
“
{stringE;int n=0;char answer;cout>E;fdat.seekg(0,ios::beg);do {fdat.read((char*)&A,sizeof(record));if(E==A.time){n++;cout
{ cout>answer;if(answer=='Y'||answer=='y'){cout>answer;if(answer=='Y'||answer=='y'){ fdat.seekg(0,ios::beg);ftxt.seekp(0,ios::beg);rub.seekg(0,ios::beg);do
{rub.read((char*)&A,sizeof(record));
}while(!endmark(A));
rub.seekp(-long(sizeof(record)),ios::cur);do
{fdat.read((char*)&A,sizeof(record));
if(A.time!=E&&!endmark(A)){ftxt.write((char*)&A,sizeof(record));}
if(A.time==E&&!endmark(A)){rub.write((char*)&A,sizeof(record));}
}while(!endmark(A));ftxt.write((char*)&mark,sizeof(record));rub.write((char*)&mark,sizeof(record));fdat.seekp(0,ios::beg);ftxt.seekg(0,ios::beg);do
{ftxt.read((char*)&A,sizeof(record));
if(!endmark(A))
fdat.write((char*)&A,sizeof(record));
}while(!endmark(A));
fdat.write((char*)&mark,sizeof(record));cout>answer;if(answer=='Y'||answer=='y'){cout
//findback.cpp #include”mynumber.h“ int account::findback(){fstreamfdat(”E:accountFile.dat“,ios::in|ios::out|ios::binary);fdat.seekg(0,ios::beg);fdat.read((char*)&B,sizeof(code));stringa,b,c,d;cout>a;if(a!=B.person1){cout>b;if(b!=B.person2){cout
//increase.cpp #include”mynumber.h“ void account::increase(const char* filetxt){
fstreamfdat(filetxt,ios::in|ios::out|ios::binary);while(1){
record D;
cout
cin>>D.time;
cout
cin>>D.operate;
cout
cin>>D.money;
cout.setf(ios::showpos);
cout
cout>answer;if(answer=='Y'||answer=='y'){fdat.seekg(0,ios::beg);
do
{fdat.read((char*)&A,sizeof(record));
}while(!endmark(A));
fdat.seekp(-long(sizeof(record)),ios::cur);
fdat.write((char*)&D,sizeof(record));
fdat.write((char*)&mark,sizeof(record));
cout
cin>>answer;
if(answer=='Y'||answer=='y'){cout
else {cout>answer;if(answer=='Y'||answer=='y')continue;else {fdat.close();break;} } } }
//Initial.cpp #include”mynumber.h“ externconst record mark;void account::Initial(const char *filetxt){fstreamfdat(filetxt,ios::out|ios::binary);cout>answer;if(answer=='Y'||answer=='y'){fdat.seekp(0,ios::beg);fdat.write((char*)&mark,sizeof(record));cout
//inquire.cpp #include”mynumber.h“ void account::inquire(const char* filetxt){cout>date;fstreamftxt(filetxt,ios::in|ios::binary);ftxt.seekg(0,ios::beg);do {ftxt.read((char*)&A,sizeof(record));if(date==A.time&&!endmark(A)){n++;if(n==1)cout
operate
moneyn”;cout
“
”
//Modifynumber.cpp #include“mynumber.h” void account::Modifynumber(){stringa,b;while(1){ cout>a;cout>b;if(a==b){cout
//oldrecord.cpp #include“mynumber.h” externconst record mark;void account::oldrecord(const char *filetxt){record a[20];record A;a[0].time=“15-03-20”;a[0].operate=“in”;a[0].money=+10;a[1].time=“14-05-20”;a[1].operate=“out”;a[1].money=-20;a[2].time=“14-06-21”;a[2].operate=“out”;
a[2].money=-35;a[3].time=“14-05-21”;a[3].operate=“out”;a[3].money=-40;a[4].time=“15-05-22”;a[4].operate=“in”;a[4].money=+100;a[5].time=“15-05-25”;a[5].operate=“out”;a[5].money=-25;a[6].time=“15-05-26”;a[6].operate=“out”;a[6].money=-15;a[7].time=“14-11-26”;a[7].operate=“out”;a[7].money=-70;a[8].time=“15-03-26”;a[8].operate=“in”;a[8].money=+100;a[9].time=“15-02-27”;a[9].operate=“out”;a[9].money=-40;a[10].time=“15-05-28”;a[10].operate=“in”;a[10].money=+100;a[11].time=“15-05-28”;a[11].operate=“out”;a[11].money=-20;a[12].time=“15-04-28”;a[12].operate=“out”;a[12].money=-10;a[13].time=“15-05-29”;a[13].operate=“in”;a[13].money=+88;a[14].time=“15-05-30”;a[14].operate=“out”;a[14].money=-61;a[15].time=“15-06-01”;a[15].operate=“out”;a[15].money=-18;a[16].time=“15-06-04”;a[16].operate=“out”;a[16].money=-23;a[17].time=“15-06-05”;a[17].operate=“in”;a[17].money=+11;a[18].time=“15-06-03”;a[18].operate=“out”;a[18].money=-52;a[19].time=“15-06-08”;a[19].operate=“in”;a[19].money=+50;fstream file(filetxt,ios::out|ios::binary);file.seekp(0,ios::beg);for(inti=0;i
//PrintAll.cpp #include“mynumber.h” void account::printall(const char* filetxt){ int sum=0,income=0,pay=0,i=0,t;record q[100];strings,x;fstreamftxt(filetxt,ios::in|ios::binary);ftxt.seekg(0,ios::beg);do { ftxt.read((char*)&A,sizeof(record));if(!endmark(A)){q[i].time=A.time;q[i].operate=A.operate;q[i].money=A.money;i++;if(A.operate==“in”){sum=sum+A.money;income=income+A.money;} else {sum=sum+A.money;pay=pay+A.money;}} }while(!endmark(A));if(i>1)
{for(int k=0;kq[j].time)
{s=q[j].time;q[j].time=q[k].time;q[k].time=s;
x=q[j].operate;q[j].operate=q[k].operate;q[k].operate=x;
t=q[j].money;q[j].money=q[k].money;q[k].money=t;} } cout
operate
moneyn“;for(int k=0;k
”
“
”
“
operate
moneyn”;cout
“
”1){for(int k=0;kq[j].time)
{s=q[j].time;q[j].time=q[k].time;q[k].time=s;
x=q[j].operate;q[j].operate=q[k].operate;q[k].operate=x;
t=q[j].money;q[j].money=q[k].money;q[k].money=t;} } cout
operate
moneyn“;cout.setf(ios::showpos);for(int k=0;k
”
“
operate
moneyn”;cout
“
”
//printpay.cpp #include“mynumber.h” void account::printpay(const char* filetxt){ int sum=0,n=0,i=0,t;record q[100];string s,x;fstreamftxt(filetxt,ios::in|ios::binary);ftxt.seekg(0,ios::beg);do { ftxt.read((char*)&A,sizeof(record));if(!endmark(A)&&A.operate==“out”){n++;q[i].time=A.time;q[i].operate=A.operate;q[i].money=A.money;i++;sum=sum+A.money;} }while(!endmark(A));if(i>1){for(int k=0;kq[j].time)
{s=q[j].time;q[j].time=q[k].time;q[k].time=s;
x=q[j].operate;q[j].operate=q[k].operate;q[k].operate=x;
t=q[j].money;q[j].money=q[k].money;q[k].money=t;} } cout
operate
moneyn“;for(int k=0;k
”
“
operate
moneyn”;if(q[0].money)cout
“
”
//RecycleBin.cpp #include“mynumber.h” void account::recyclebin(const char* filetxt){fstream rub(“E:RecycleBin.txt”,ios::in|ios::out|ios::binary);fstreamfdat(filetxt,ios::in|ios::out|ios::binary);fstreamftxt(“E:lalala.txt”,ios::in|ios::out|ios::binary);string s;cout
请选择您要进行的操作n“;cout>x;if(x==”1“){rub.seekg(0,ios::beg);rub.read((char*)&A,sizeof(record));if(endmark(A)){cout>s;rub.seekg(0,ios::beg);do {rub.read((char*)&A,sizeof(record));if(s==A.time&&!endmark(A)){n++;break;} }while(!endmark(A));if(n==0)
{cout>answer;if(answer=='Y'||answer=='y')continue;else {cout>answer;cout
//endmark.cpp #include”mynumber.h" int account::endmark(record A){if(A.money==0)return 1;return 0;}