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也行),急求!!!!
可以開發, 不過這種一般沒有免費源碼了