当前位置: 首页 期货资讯 理财资讯

理财编程

如何学习理财

如何从零开始学习理财、投资理财?让我们从现在开始学会使用每一块钱。通过正确的个人理财规划,才能拥有高品质的自由生活!如何从零开始学习理财呢?下面jy135边肖为你整理了一些从零开始学习理财的建议,希望对你有所帮助!

如何从零开始学习理财

求一个小型学生理财系统的面向对象程序设计的源代码

#include<iostream.h>

#include<fstream.h>

#include<string.h>

#include<stdlib.h>

const unsigned int COUNT= 5;//账户数量为5

typedef struct Money{

int Date;

float money;

Money*next;

}Income,Expense;

typedef struct{

Income*income;//收入记录

Expense*expense;//支出记录

float incomeaccount;//收入统计

float expenseaccount;//支出统计

int incomelenght;

int expenselenght;

}Account;

class AccountInformation{

private:

Account L[COUNT];

public:

AccountInformation();

~AccountInformation();

int InitAccount();

void getExpense(int choice[]);

void getIncome(int choice[]);

void addExpense(int choice,Expense*elem);

void addIncome(int choice,Expense*elem);

void updateIncome(int choice,Expense elem);

void updateExpense(int choice,Expense elem);

void deleteIncome(int choice,int date);

void deleteExpense(int choice,int date);

void countAll();

void saveInfo();

};

AccountInformation::AccountInformation()

{

InitAccount();

}

AccountInformation::~AccountInformation()

{

}

int AccountInformation::InitAccount()

{

for(int i=0;i<COUNT;i++)

{

L[i].income=new Income;

L[i].expense=new Expense;

if(L[i].income==NULL||L[i].expense==NULL)

{

cout<<"分配内存失败."<<endl;

return 0;

}

L[i].incomelenght=0;

L[i].expenselenght=0;

L[i].incomeaccount=0;

L[i].expenseaccount=0;

}

Money*Q,*P;

char s[2];

//读取收入信息

ifstream fin1("income.txt");

if(fin1.fail())

{

cout<<"文件打开失败!"<<endl;

return 0;

}

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

{

fin1>>s;

Q=L[i].income;

while(s[0]!='#')

{

if((int)s[1]==0)

Q->Date=(int)s[0]-48;

else

Q->Date=((int)s[0]-48)*10+(int)s[1]-48;

fin1>>Q->money;

Q->next=new Income;

L[i].incomelenght++;

L[i].incomeaccount+=Q->money;

P=Q;

Q=Q->next;

fin1>>s;

}

P->next=NULL;

}

fin1.close();

//读取支出信息

ifstream fin2("expense.txt");

if(fin2.fail())

{

cout<<"文件打开失败!"<<endl;

return 0;

}

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

{

fin2>>s;

Q=L[i].expense;

while(s[0]!='#')

{

if((int)s[1]==0)

Q->Date=(int)s[0]-48;

else

Q->Date=((int)s[0]-48)*10+(int)s[1]-48;

fin2>>Q->money;

Q->next=new Income;

L[i].expenselenght++;

L[i].expenseaccount+=Q->money;

P=Q;

Q=Q->next;

fin2>>s;

}

P->next=NULL;

}

fin2.close();

return 1;

}

void AccountInformation::getExpense(int choice[])

{

Expense*Q;

float m=0.0;

for(int i=0;i<COUNT;i++)

if(choice[i]!=0)

{

Q=L[choice[i]-1].expense;

cout<<"账户"<<choice[i]<<"的支出信息为"<<endl;

cout<<"DATE\tMONEY"<<endl;

while(Q!=NULL)

{

cout<<Q->Date<<"\t"<<Q->money<<endl;

Q=Q->next;

}

cout<<"账户"<<choice[i]<<"的总支出信息为"<<L[choice[i]-1].expenseaccount<<endl<<endl;

m+=L[choice[i]-1].expenseaccount;

}

cout<<"总支出信息为"<<m<<endl;

}

void AccountInformation::getIncome(int choice[])

{

Income*Q;

float m=0.0;

for(int i=0;i<COUNT;i++)

if(choice[i]!=0)

{

Q=L[choice[i]-1].income;

cout<<"账户"<<choice[i]<<"的收入信息为"<<endl;

cout<<"DATE\tMONEY"<<endl;

while(Q!=NULL)

{

cout<<Q->Date<<"\t"<<Q->money<<endl;

Q=Q->next;

}

cout<<"账户"<<choice[i]<<"的总收入信息为"<<L[choice[i]-1].incomeaccount<<endl<<endl;

m+=L[choice[i]-1].incomeaccount;

}

cout<<"总收入信息为"<<m<<endl;

}

void AccountInformation::addExpense(int choice,Expense*elem)

{

Expense*Q,*P;

Q=L[choice-1].expense;

while(Q!=NULL)

{

if(Q->Date==elem->Date)

{

Q->money+=elem->money;

L[choice-1].expenseaccount+=elem->money;

return;

}

if(Q->Date>elem->Date&&P->Date<elem->Date)

break;

P=Q;

Q=Q->next;

}

P->next=elem;

elem->next=Q;

L[choice-1].expenseaccount+=elem->money;

L[choice-1].expenselenght++;

}

void AccountInformation::addIncome(int choice,Expense*elem)

{

Expense*Q,*P;

Q=L[choice-1].income;

while(Q!=NULL)

{

if(Q->Date==elem->Date)

{

Q->money+=elem->money;

L[choice-1].incomeaccount+=elem->money;

return;

}

if(Q->Date>elem->Date&&P->Date<elem->Date)

break;

P=Q;

Q=Q->next;

}

P->next=elem;

elem->next=Q;

L[choice-1].incomeaccount+=elem->money;

L[choice-1].incomelenght++;

}

void AccountInformation::updateExpense(int choice,Expense elem)

{

Expense*Q;

Q=L[choice-1].expense;

while(Q!=NULL)

{

if(Q->Date==elem.Date)

{

Q->money=elem.money;

L[choice-1].expenseaccount=elem.money-Q->money;

return;

}

Q=Q->next;

}

}

void AccountInformation::updateIncome(int choice,Expense elem)

{

Expense*Q;

Q=L[choice-1].income;

while(Q!=NULL)

{

if(Q->Date==elem.Date)

{

Q->money=elem.money;

L[choice-1].incomeaccount=elem.money-Q->money;

return;

}

Q=Q->next;

}

}

void AccountInformation::deleteExpense(int choice,int date)

{

Expense*Q,*P;

Q=L[choice-1].expense;

if(Q->Date==date)

{

L[choice-1].expense=NULL;

L[choice-1].expenseaccount=0.0;

L[choice-1].expenselenght=0;

}

while(Q!=NULL)

{

if(Q->Date==date)

{

P->next=Q->next;

L[choice-1].expenseaccount-=Q->money;

L[choice-1].expenselenght--;

return;

}

P=Q;

Q=Q->next;

}

}

void AccountInformation::deleteIncome(int choice,int date)

{

Expense*Q,*P;

Q=L[choice-1].income;

if(Q->Date==date)

{

L[choice-1].income=NULL;

L[choice-1].incomeaccount=0.0;

L[choice-1].incomelenght=0;

}

while(Q!=NULL)

{

if(Q->Date==date)

{

P->next=Q->next;

L[choice-1].incomeaccount-=Q->money;

L[choice-1].incomelenght--;

return;

}

P=Q;

Q=Q->next;

}

}

void AccountInformation::countAll()

{

Expense*Q;

float allincome=0.0;//总收入

float allexpense=0.0;//总支出

float a[COUNT],b[COUNT],c[COUNT],d[COUNT];

int date1,date2;

for(int i=0;i<COUNT;i++)

{

//收入信息

Q=L[i].income;

date1=Q->Date;

date2=Q->Date;

while(Q!=NULL)

{

if(Q->Date<date1)

date1=Q->Date;

if(Q->Date>date2)

date2=Q->Date;

Q=Q->next;

}

a[i]=L[i].incomeaccount/(date2-date1);//单位时间收入

c[i]=L[i].incomeaccount;//账户总收入

allincome+=L[i].incomeaccount;//总收入

//支出信息

Q=L[i].expense;

date1=Q->Date;

date2=Q->Date;

while(Q!=NULL)

{

if(Q->Date<date1)

date1=Q->Date;

if(Q->Date>date2)

date2=Q->Date;

Q=Q->next;

}

b[i]=L[i].expenseaccount/(date2-date1);//单位时间支出

d[i]=L[i].expenseaccount;//账户总支出

allexpense+=L[i].expenseaccount;//总支出

}

int k[COUNT]={1,2,3,4,5};

int l[COUNT]={1,2,3,4,5};

int t;

float f;

for(i=0;i<COUNT-1;i++)

for(int j=i+1;j<COUNT;j++)

if(a[i]>a[j])

{

f=a[j];

a[j]=a[i];

a[i]=f;

t=k[j];

k[j]=k[i];

k[i]=t;

}

else if(c[i]>c[j])

{

f=c[j];

c[j]=c[i];

c[i]=f;

t=l[j];

l[j]=l[i];

l[i]=t;

}

cout<<"总收入为:"<<allincome<<endl;

cout<<"账户收入分别为:\t\t单位时间内账户收入为:"<<endl;

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

cout<<"账户"<<l[i]<<"的收入为:"<<c[i]<<"\t账户"<<k[i]<<"的收入为"<<a[i]<<endl;

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

{

k[i]=i+1;

l[i]=i+1;

}

for(i=0;i<COUNT-1;i++)

for(int j=i+1;j<COUNT;j++)

if(b[i]>b[j])

{

f=a[j];

a[j]=a[i];

a[i]=f;

t=k[j];

k[j]=k[i];

k[i]=t;

}

else if(d[i]>d[j])

{

f=c[j];

c[j]=c[i];

c[i]=f;

t=l[j];

l[j]=l[i];

l[i]=t;

}

cout<<"总支出为:"<<allincome<<endl;

cout<<"账户支出分别为:\t\t单位时间内账户支出为:"<<endl;

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

cout<<"账户"<<l[i]<<"的支出为:"<<d[i]<<"\t账户"<<k[i]<<"的支出为"<<b[i]<<endl;

}

void AccountInformation::saveInfo()

{

Money*Q;

ofstream fout1("income.txt",ios::trunc);

if(fout1.fail())

{

cout<<"文件打开失败!"<<endl;

return;

}

for(int i=0;i<COUNT;i++)

{

Q=L[i].income;

while(Q!=NULL)

{

fout1<<Q->Date<<""<<Q->money<<'\n';

Q=Q->next;

}

fout1<<"#\n";

}

fout1.close();

ofstream fout2("expense.txt",ios::trunc);

if(fout2.fail())

{

cout<<"文件打开失败!"<<endl;

return;

}

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

{

Q=L[i].expense;

while(Q!=NULL)

{

fout2<<Q->Date<<""<<Q->money<<'\n';

Q=Q->next;

}

fout2<<"#\n";

}

fout2.close();

}

void menu1(int choice[COUNT])

{

char s[5];

cout<<"************************账户选择************************"<<endl;

cout<<"请输入账户号:(多个账户不需要空格隔开)";

cin>>s;

for(int i=0;i<COUNT;i++)

if(s[i]!='\0')

choice[i]=(int)s[i]-48;

else

break;

}

int menu()

{

int choice;

//system("cls");

cout<<"********************************************************"<<endl;

cout<<"********************小型学生理财系统********************"<<endl;

cout<<"1.查询账户支出信息\t\t2.查询账户收入信息."<<endl;

cout<<"3.添加账户支出信息\t\t4.添加账户收入信息."<<endl;

cout<<"5.修改账户支出信息\t\t6.修改账户收入信息."<<endl;

cout<<"7.删除账户支出信息\t\t8.删除账户收入信息."<<endl;

cout<<"9.收入支出统计\t\t\t10.保存账户数据."<<endl;

cout<<"0.退出系统"<<endl;

cout<<"********************************************************"<<endl;

cout<<"请输入选择:";

cin>>choice;

return choice;

}

void Empty(int choice[])

{

for(int i=0;i<COUNT;i++)

choice[i]=0;

}

void main()

{

system("color 5");

AccountInformation account;

int choice[COUNT];

int date;

Money elem;

elem.next=NULL;

while(true)

{

switch(menu())

{

case 1:Empty(choice);

menu1(choice);

account.getExpense(choice);

break;

case 2:Empty(choice);

menu1(choice);

account.getIncome(choice);

break;

case 3:Empty(choice);

menu1(choice);

cout<<"请输入支出信息(DATE,Money):";

cin>>elem.Date>>elem.money;

account.addExpense(choice[0],&elem);

break;

case 4:Empty(choice);

menu1(choice);

cout<<"请输入收入信息(DATE,Money):";

cin>>elem.Date>>elem.money;

account.addIncome(choice[0],&elem);

break;

case 5:Empty(choice);

menu1(choice);

cout<<"请输入支出信息(DATE,Money):";

cin>>elem.Date>>elem.money;

account.updateExpense(choice[0],elem);

break;

case 6:Empty(choice);

menu1(choice);

cout<<"请输入收入信息(DATE,Money):";

cin>>elem.Date>>elem.money;

account.updateIncome(choice[0],elem);

break;

case 7:Empty(choice);

menu1(choice);

cout<<"请输入DATE:";

cin>>date;

account.deleteExpense(choice[0],date);

break;

case 8:Empty(choice);

menu1(choice);

cout<<"请输入DATE:";

cin>>date;

account.deleteIncome(choice[0],date);

break;

case 9:account.countAll();

break;

case 10:account.saveInfo();

break;

case 0: exit(0);

}

}

}

自己要建两个TXT文本。。。。income.txt expense.txt

怎样从零开始学投资理财

如何从零开始学习理财、投资理财?让我们从现在开始学会使用每一块钱。通过正确的个人理财规划,才能拥有高品质的自由生活!如何从零开始学习理财呢?下面jy135边肖为你整理了一些从零开始学习理财的建议,希望对你有所帮助!

如何从零开始学习理财

标签: 理财

声明:

1、本文来源于互联网,所有内容仅代表作者本人的观点,与本网站立场无关,作者文责自负。

2、本网站部份内容来自互联网收集整理,对于不当转载或引用而引起的民事纷争、行政处理或其他损失,本网不承担责任。

3、如果有侵权内容、不妥之处,请第一时间联系我们删除,请联系