1. 求一个小型学生理财系统的面向对象程序设计的源代码
#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
2. 家庭理财管理信息系统
理财不一定是记流水账,我的感受是,理财就是计划经济,提早的做好计划,知道家里未来一个月近多少钱,扣除最基本的生活花销是多少,再扣除一般以外缓冲的一部分较为客观的现金,剩下的钱存银行,坚定不到万不得已的大事,决不动那些已存的钱。
人的花销总是有弹性的,如果你在一方面多花了,想到不能取钱填窟窿,就会在别处省,当然看病、过节孝敬父母之类的就不能算了。
理财最重要的目的是养成珍惜自己劳动的好习惯,而且积累财富是种乐趣,别构成压力,根据自己收入支配花销,就不会很紧张。还有一点就是会理财也会促进你会赚钱的~~~~
理财,在企业层面,就是财务,在家庭层面,就是持家过日子或管家,似乎自古以来家庭理财都是女人的专职,但在现代社会,理财是每个人都必须学会的生存技能之一。理财决定着家庭的兴衰,维系着一家老小的生活和幸福,尤其对于已成家的工薪阶层来说,更是最重要的一门必修课。
一屋不扫何以扫天下?一家之财理不好,何以建掀天揭地的功业?
理财说难亦难,说易亦易。以理贯之,则极易;以枝叶观之,则繁难无穷。比如,子女的教育婚嫁、父母年迈多病及赡养、自己的生老病死,样样都离不开一个“财”字,如果缺乏统筹规划,家庭虽不致于一时拮据,但若像下岗工人那样突来人祸,则小康也必成赤贫。所以未雨绸缪是理财的核心思想。
旧的时代是一个信息不对称的不公平时代,这使得富人愈富,穷人愈穷,富的是信息优势,穷的是思想闭塞。而网络时代虽然信息可以极快地传播,但过于膨胀的信息其实也等于是信息不对称,未来将不可避免地出现新的贫富差距,这就是“数字化鸿沟”。因此,教育仍是重中之重。
我假设大家都懂得电脑和网络的基础应用,最好都能懂得EXCEL软件的简单使用。理财步骤是以家庭为例的,个人也可以参照其原理来实施,如家庭中每个人都做一本个人账,再汇总成一本账。
家庭理财步骤
第一步:家庭财产统计
家庭财产统计,主要是统计一些实物财产,如房产、家居、电器等,可以只统计数量,如果当初购买时的原始单证仍在,可以将它们收集在一起,妥善保存,尤其是一些重要的单证,建议永久保存。这一步主要是为了更好的管理家庭财产,一定要做到对自己的财产心中有数,以后方能“开源节流”。
第二步:家庭收入统计
收入包括每月的各种纯现金收入,如薪资净额、租金、其他收入等,只要是现金或银行存款,都计算在内,并详细分类。一切不能带来现金或银行存款的潜在收益都不能计算在内,而应该归入“家庭财产统计”内。如未来的养老保险金,只有在实际领取时再列入收入。这虽然不太符合会计方法,但对于家庭来说,现金和银行存款才是每月实际可用的钱。
第三步:家庭支出统计
这一步是理财的重中之重,也是最复杂的一步,为了让理财变得轻松、简单,建议使用EXCEL软件来代劳。以下每大类都应细分,使得每分钱都知道流向了何处,每天记录,每月汇总并与预算数比较,多则为超支,少则为节约。节约的可依次递延至下月,尽可能地避免超支,特殊情况下可以增加预算。
1、固定性支出:只要是每月固定不变的支出就详细分类记录,如房租或按揭还贷款、各种固定金额的月租费、各种保险费支出等。种类可能很多,手工记录非常繁琐,而用EXCEL记录就非常简单。
2、必需性支出:水、电、气、电话、手机、交通、汽油等每月不可省的支出,
3、生活费支出:主要记录油、米、菜、盐等伙食费,及牛奶、水果、零食等营养费。
4、教育支出:自己和家人的学习类支出。
5、疾病医疗支出:无论有无保险,都按当时支付的现金记录,等保险费报销后再计入收到月的收入栏。
6、其他各种支出。
每个家庭情况不同,难以尽述,但原理大家一看便知,其实就是流水帐,但一定要记住将这个流水帐记得详细、清楚,让每一分钱花得都明明白白,只要坚持做半年,必能养成“量入为出”的好习惯。使用EXCEL软件来做这个工作,每天顶多只需几分钟,非常简单方便
3. 求C#做得理财管理系统,请会C#编程的帮忙做做,急急急~~~小弟谢谢了~~
完全的体力活,这样的构架用C#实现是很容易的,但如果没有现成的代码,书写的工作和验证,还是要花时间的。
4. 跪求家庭理财管理系统JAVA代码基于B/S的
你直接说JSP不就行了嘛,还JAVA B/s 最好还是自己做吧,JSP没免费的。我也刚做好一套JSP财务管理系统和论文PPT答辩材料。不容易啊。
5. 假设你作为一个金融理财产品的项目负责人,如何利用信息管理系统提高自己所负
我会利用信息系统的完善和提高相关的数据整理,然后把自己的产品做得更大更强,让更多人受益
6. 急需家庭理财管理系统数据流图,关系模型,ER图
您好:
假如您有十万左右
一些理财产品的配比
23%-30%储蓄
30%-40%应急备用资金
20%稳健投资
30%风险投资
仅供参考
查看原帖>>
7. 如何用jsp代码模拟一个校园一卡通系统
这种东西,是要分两块的,一个服务端,一个客户端。
一个客户端,而且,这要看客户端运行在什么上,看上去像是一个自助设备,如果这个自助设备基于pc机,那就比较容易了。
8. 求"个人日常理财管理系统软件",可以在网上下载
财智计帐本
财智记账本是一款个人家庭财务管理软件。它能记录我们的日常收支活动,管理现金、活期存款、定期存款。可通过互联网与您的开户银行联接,获取并下载相关金融数据。是一款非常实用的记账软件。
现在好像不用注册的。http://www.imoney.com.cn/infoweb/Business/MoneyHomejzb.aspx
财智家庭理财
全面管理日常收入、消费、储蓄、个人贷款、保险、证券投资等。帮助您制订财务计划,协助管理购买房屋、子女教育等事项。通过 图表分析:自动生成多种统计图表(包括年度收支表)便于分析统计,完善您的理财生活!http://www.imoney.com.cn/infoweb/Business/MoneyHome.aspx
需要付费注册。有人说网上有注册机,我没说过啊~
家财通
《家财通》是一套超级豪华版的个人/家庭投资理财软件,特别适合中产家庭或白领人士...
http://www.mymoneymaster.com/software/sindex.asp
付费注册使用,试用期15天。
9. 谁有Java+MySQL写的个人理财系统源代码(jsp也行),急求!!!!
可以开发, 不过这种一般没有免费源码了