⑴ 求一个小型学生理财系统的面向对象程序设计的源代码
#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
⑵ 银行信息管理系统源代码
我做过
⑶ 小额贷款管理系统源码可以在哪里下载
免费下载的首先你要考虑到是否安全,毕竟免费的可能很多人在使用,其实开发一套管理系统源码,更需要有经验的开发人员或者团队,从小额贷款系统功能方面来讲,网上下载的小额贷款系统功能只是固定的几个,如果想加入自己想要的功能,能下载到源代码就好容易解决问题点。之前下载迪蒙小额贷款系统,是带源代码的,可以自己动手开发功能,并且嵌入全天候异常操作检测、数据加密、防火墙、手机动态口令、多种密码保护等安全策略,这样系统功能可以自己定义修改而满足需求了。你自己酌情考虑下
⑷ 填写:直接投资外汇管理信息系统 银行代码12位中国银行 东莞分行代码是什么
应该是这个:441900000101
⑸ 急求C++理财管理信息系统代码 是一个课程设计
#include "stdafx.h"
#include "FinanceBook.h"
#include "AccountDaily.h"
// CAccountDaily 对话框
IMPLEMENT_DYNAMIC(CAccountDaily, CDialog)
CAccountDaily::CAccountDaily(CWnd* pParent /*=NULL*/)
: CDialog(CAccountDaily::IDD, pParent)
{
EnableAutomation();
}
CAccountDaily::~CAccountDaily()
{
}
void CAccountDaily::OnFinalRelease()
{
// 释放了对自动化对象的最后一个引用后,将调用
// OnFinalRelease。基类将自动
// 删除该对象。在调用该基类之前,请添加您的
// 对象所需的附加清理代码。
CDialog::OnFinalRelease();
}
void CAccountDaily::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CAccountDaily, CDialog)
ON_BN_CLICKED(IDOK, &CAccountDaily::OnBnClickedOk)
END_MESSAGE_MAP()
BEGIN_DISPATCH_MAP(CAccountDaily, CDialog)
END_DISPATCH_MAP()
// 注意: 我们添加 IID_IAccountDaily 支持
// 以支持来自 VBA 的类型安全绑定。此 IID 必须同附加到 .IDL 文件中的
// 调度接口的 GUID 匹配。
//
static const IID IID_IAccountDaily =
};
BEGIN_INTERFACE_MAP(CAccountDaily, CDialog)
INTERFACE_PART(CAccountDaily, IID_IAccountDaily, Dispatch)
END_INTERFACE_MAP()
// CAccountDaily 消息处理程序
BOOL CAccountDaily::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: 在此添加额外的初始化
CButton *pRadioButton = (CButton*)GetDlgItem(IDC_PAYOUT);
pRadioButton->SetCheck(true);
CButton *pCheckBox = (CButton*)GetDlgItem(IDC_FORMAT_DAILY);
pCheckBox->SetCheck(true);
return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}
void CAccountDaily::CheckEnter()
{
//该函数的作用是检查输入格式,判断RadioButton和CheckBox的状态
CButton *pRadioButton = (CButton*)GetDlgItem(IDC_PAYOUT);
CButton *pCheckBox = (CButton*)GetDlgItem(IDC_FORMAT_DAILY);
int IsRadioButtonChecked = pRadioButton->GetCheck(),
IsCheckBox = pCheckBox->GetCheck();
GetDlgItemText(IDC_DATE_DAILY,dateTime);
GetDlgItemText(IDC_RESUME,resume);
GetDlgItemText(IDC_AMOUNT_DAILY,amount);
GetDlgItemText(IDC_REMARK_DAILY,remark);
if(!resume.GetLength())
{
MessageBox(L"费用摘要 不能为空! ",L"重要提示",MB_ICONWARNING);
GetDlgItem(IDC_RESUME)->SetFocus();
}
else if(!amount.GetLength())
{
MessageBox(L"发生金额 不能为空! ",L"重要提示",MB_ICONWARNING);
GetDlgItem(IDC_AMOUNT_DAILY)->SetFocus();
}
else
{
if(IsRadioButtonChecked)
type = L"支出";
else
type = L"收入";
int dot = 0, space = 0, ch = 0;
CString str;
for(int index = 0; index != amount.GetLength(); ++index)
{
if(amount.GetAt(index) == '.')
dot++;
if(amount.GetAt(index) == ' ')
space++;
if(amount.GetAt(index) < '0' || amount.GetAt(index) > '9')
{
str = amount.GetAt(index);
ch++;
}
}
if(ch > 0)
{
/***BUG:当字串中有其他字符,形如“a.6”时,会认为格式正确。***/
if(str != '.' && str != ' ' || (space > 0 || dot > 1) )
{
MessageBox(L"金额格式有误,请您检查输入! ",L"重要提示",MB_ICONWARNING);
amountIsRigth = false;
GetDlgItem(IDC_AMOUNT_DAILY)->SetFocus();
}
else
amountIsRigth = true;
}
if(IsCheckBox)
amount = L"¥" + amount;
}
}
void CAccountDaily::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
//OnOK();
CheckEnter();
if(resume.GetLength() && amount.GetLength() && amountIsRigth)
MessageBox(dateTime + L"\n\n" + resume + L"\n\n" + type + L"\n\n" + amount + L"\n\n" + remark);
}
⑹ 急求!!!基于java的家庭理财系统 完整项目 可以实现功能的所有源代码,谢谢啊! 高分
这些都是企业的商业机密,不可能通过一个问题就给你了,还是自己慢慢研究吧。
⑺ 谁有Java+MySQL写的个人理财系统源代码(jsp也行),急求!!!!
可以开发, 不过这种一般没有免费源码了
⑻ 请问有没有免费的贷款管理系统源码
免费的估计有问题吧,贷款管理系统,毕竟是很严谨的系统,因为小贷管理系统里还包含审批系统、 业务系统、财务系统、催收系统等,所以最好是斟酌下。免费下载的首先你要考虑到是否安全,毕竟免费的可能很多人在使用,其实开发一套管理系统源码,更需要有经验的开发人员或者团队,比如迪蒙贷款管理系统不仅功能满足基本需求,而且系统在业务上操作的标准化,流程化,能帮助小额贷款公 司完善业务,系统功能强大可以帮助企业合理规划管理,降低信贷违约风险,减少贷款坏账率。所以要综合去评估系统,不能仅仅考虑系统的价格。你自己酌情考虑下,免费的还是谨慎些吧。
⑼ 跪求家庭理财管理系统JAVA代码基于B/S的
你直接说JSP不就行了嘛,还JAVA B/s 最好还是自己做吧,JSP没免费的。我也刚做好一套JSP财务管理系统和论文PPT答辩材料。不容易啊。
⑽ 求一家庭理财管理系统(C++/C#)的源程序 等各位大神的援助[email protected]
建议: 7. 重复步骤3的操作,单击“格式”菜单的“条件格式”选项,在弹出对话框中将“条件1”设为“单元格数值”、“小于”、“500”。然后单击“格式”按钮,在“字体”卡片上将文字设为“白色”,并在“图案”卡片中选择一种无底纹的“紫色”。回到“条件格式”的主对话框,单击“添加”按钮,增添“条件2”为 “单元格数值”、“大于或等于”、“500”,其“格式”为常规字型的“黑色”,按“确定”(效果如图6所示)。