A. 谁有Android的个人理财软件设计的完整源代码啊,求救啊,课程设计。
这个,有的
B. 目前好的理财平台有哪些
度小满理财(原网络理财)是度小满金融旗下的专业化理财平台,提供基金投资、活期理财、银行定期理财等多元化理财产品,帮助用户安心实现财富增长。
目前,度小满理财已持续安全运营近5年时间,往期产品也均完成了本息兑付。您可以在应用市场搜索“度小满理财APP”了解详细产品信息。
现阶段,度小满理财APP(原网络理财)平台上有一些包括活期、定期理财产品、精选基金产品可供用户根据自己的流动性偏好、风险偏好进行选择。
如活期产品“三湘银行活期”,提前支取收益3.8%左右,随时存取,当日起息,节假日无限制,任意自然日支取,当日实时到账,无交易日限制,无限额限制,50万以内100%赔付;
如定期银行理财产品“振兴智慧存”,年化收益率在4.8%左右,属于银行存款产品,50万以内100%赔付,适合稳健型及以上投资者;
希望以上信息能够帮助到您。投资有风险,理财需谨慎哦,请选择适合自己风险偏好以及自己熟悉了解的产品。
C. JAVA理财小助手(求完整源码)
除非是在这个公司工作的,不然很难提供源码的。
D. 求一个小型学生理财系统的面向对象程序设计的源代码
#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
E. 随手记理财是什么随手记理财怎么样
随手记理财的背景
随手理财依托于记账软件随手记,随手记于2010年正式,曾先后获得红杉资本、复星昆仲资本、源码资本等全球知名风投机构多轮融资。来自艾瑞和易观等第三方研究机构的数据显示,随手记系列产品的累计用户数和月活跃用户数在整个品类占比超过50%,同时在2015年度APP分类排行榜上,随手记占据领先位置。从这些数据来看,背景和资质较其他同类平台有一定的优势。
随手记理财产品
的随手理财能够直接购买固收类理财产品、基金和办理信用卡等业务。从App上看到,平台上有包括稳盈系列、货币基金、股票型基金等几大类理财产品。随手记官网也上线了。
随手记理财产品以为主,这个系列包括盈多宝、盈富宝、盈钱宝、盈房宝等系列多款产品,同时也有专门针对新投资者的10天12%的新人宝产品。
随手理财因为承担第三方销售中介方的角色,官方并不承诺担保和兜底,风险管理仍由资产方负责。从投资期限的预期年化预期收益率来看,中规中矩。
F. 雷达币 DCF币现成源码_分红_算力_系统开发_去中心化
核心提示:雷达币花火币DCF币源码系统开发,花火币系统开发源码,DCF系统开发源码,找159亮点3659亮点6917。
雷达花火DCF支付理财复利模式开发、雷达花火DCF钱包app系统开发、雷达花火DCF钱包数字货币系统开发、雷达花火DCF钱包虚拟币支付系统开发、雷达花火DCF钱包币币交易平台开发
雷达花火DCF币APP模式开发,雷达花火DCF币区块链系统开发,雷达花火DCF币钱包理财系统开发,雷达花火DCF币钱包挖矿系统开发,雷达花火DCF币钱包挖矿分红系统开发
雷达币花火币DCF币花火币DCF币是什么?
一 首先是一个支付系统,它可以支付、接受、贮存任何货币,包括美元、俄罗斯卢布,欧元,菲律宾比索,人民币等等法币,也包括比特币、莱特币等等虚拟货币,甚至包括黄金、白银、有价金融衍生品等金属货币!
二相对于目前全球流行的比特币,雷达币花火币DCF币更加全面,不仅仅是一种货币, 更是一个平台,并且提供了行业标准,必将在更大的范围影响世界。
雷达币花火币DCF币是什么?
(1)雷达币花火币DCF币是虚拟货币,雷达币花火币DCF币收益制度
(一)存币收益(日复利)
钱包只要存放雷达币花火币DCF币就可以每日获得新增,新增币继续参与第二天新增,钱包币数不同,收益不同,数量年增长约40%
例如,每个钱包存放110个币,每天新增0.06左右
(二 )推广收入(日复利)
根据推广算力获得每日增发,
平均累计10万算力,每天可增发1.4个左右,算力越高,增发越多。
算力计算方式:
最大市场业绩开立方,算力忽略不计。
市场业绩小于一万个币,算力=业绩x10倍;
市场业绩大于一万个币,算力=一万x10倍+超出的取原数值。
你做了三个市场,各市场总业绩分别是5万枚,2万枚,9000枚。
①最大的市场5万枚被开立方,算力忽略不计;
②2万币的市场算力=1万x10倍+超出1万=11万算力;
③9000币的市场算力=0.9万X10=9万算力。
市场总算力为11万+9万=20万算力。据统计每10万算力每天约增发1.4个雷达币花火币DCF币,20万算力每天约增发2.8个雷达币花火币DCF币,再持续增发15.5年直到雷达币花火币DCF币总量增发完毕。
以上收益都是日复利计算,当天新增的币全部计入第二天参与复利增发。
(三)价格增长,市场价格短期随市场交易量上下浮动,长期价格看涨。
实名认证,钱包内24小时随时交易提现,没有封闭期,本金利息一起提现
开源, 去中心,定量发行,钱包撮合交易
核心提示:雷达币花火币DCF币源码系统开发,花火币系统开发源码,DCF系统开发源码,找159亮点3659亮点6917。
G. 10个最可靠的理财平台
过在互联网金融市场发展初期,由于监管力度不够,理财市场缺乏监管和法律约束,管理、风控是线上投资理财明显的短板。历史经验表明,在投资者实现财富增值的路上,总是充满了各式各样的骗局与陷阱,不少人因为轻信他人、误入陷阱而导致血本无归。
值得庆幸的是,在行业无序竞争中,互联网金融理财迎来了强监管时代,互联网金融行业正逐步走向有轨阶段,回归于理性、回归金融本质。在经历了层出不穷的金融诈骗手段后,投资者们也逐渐加强了风险防范意识,理财观念正逐步回归理性化。不少投资者已经清楚地认识到,在实际的投资操作中,平台和产品的安全性远比投资的收益更重要。其次,平台的知名度、服务质量与理财产品的丰富程度也是投资者比较看重的因素。下面就给大家介绍国内十大正规投资理财APP平台排名(2022最新版),以供大家参考。
1、金荣中国app
金荣中国贵金属投资App——UPWAY现已完成全新升级,UPWAY App的本次升级不止是全新界面的升级,更是从“产品功能”到“用户服务”理念的升级,升级后的App在资讯、产品、服务等多个维度上体现了用户使用体验和效率的提高,致力于打造成为一个“更懂客户的一站式贵金属投资交易平台”。
金荣中国于2010年在香港注册成立,香港金银业贸易场AA类84号会员,上海黄金交易所国际代理会员。受到香港法律和香港金银业贸易场的双重监管,持有正规认证的交易资质,诚信运营11年,是全球数百万客户一致认可的正规专业贵金属投资交易平台。
金荣中国app:
正规资质:香港金银业贸易场AA类会员、上海黄金交易所国际代理会员
H. App上理财别再被高收益忽悠了
河南商报见习记者孟浩杰
“你不理财,财不理你。”一句看似寻常的话却牵动着无数理财人的心。
近日,新乡市的岳先生向河南商报记者反映,在高额利益的诱惑下,他不断将钱投向一款理财App。可没想到的是,两次成功提现后,10月2日他进行第三次提现操作时,发现App竟打不开了。岳先生这才觉得自己有可能遭到了诈骗。
反映
投资了21万的App突然打不开了
“刚开始是新手,投了200元,第二天就有10余元的收益,也能提现。”谈起7月至10月的投资理 财经 历,岳先生后悔莫及。
据岳先生介绍,他通过私人好友发朋友圈广告萌生了理财想法,于是便下载了该广告中的振威App尝试理财。在觉得有利可图的情况下,岳先生拉上了母亲,第二次投资用母亲的账号和自己的账号一共在振威App上投了11万元。“第二次提现的时候提现不了,但过了一会儿就好了,客服解释是系统在维护更新。”岳先生说。
在第二次成功提现以后,他又在App上进行了第三次投资,连同上次取出的本金和利息12万多元再加上自己通过贷款贷来的9万元,合计21万多元。
“10月2日的时候出现了App打不开的状况,此后多日一直打不开。”岳先生说,App打不开后,他试图联系该App所属公司,但客服热线和公司电话都打不通,于是赶紧报了警。
App模式
输入身份证号绑定银行卡即可
岳先生说,下载App后,他根据系统提示用自己的手机号注册了账户,然后输入自己的身份证号就能完成实名认证,不需要上传身份证照片等其他身份信息材料,之后绑定自己的银行卡号,“操作很简单,但不能通过微信或支付宝充值,只能通过银行卡。”
“里边的项目有很多,一般都有起投额和总额度,还会注明收益情况、投资时间等。”岳先生说,“除了第一次新手有限制以外,其余的没有限制,正常情况下,到时间了可以把本金和利息一起提现到银行卡。”
据岳先生介绍,App里的项目有很多,包含风电、环保、水务、医药等,涉及各个领域,“我也不知道这些项目到底是不是真的,根本也没考虑到去实地考察。”
报警
目前已经报警,警方正在进一步侦查中
这是一家什么公司呢?河南商报记者通过企查查获悉,振威App所属公司位于珠海市南屏 科技 工业园,成立时间是2008年11月,主要经营项目投资,其他无需报经审批的一切合法项目。河南商报记者多次拨打企查查和投资者提供的公司电话,均无人接听。
App突然无法打开,岳先生已经向所在地公安机关报警并作了登记。“报案后我们当地公安机关给我的答复是目前立不了案,得等珠海那边的通知。”岳先生告诉河南商报记者。
昨日,河南商报记者联系了该公司所在地的珠海南坪派出所,得到的答复是:“我们这边暂时没有人报案,可以先向当地派出所报案,如果立案的话会发协查通报,我们目前也是在侦办调查中。”
提醒
投资理财的朋友,这些事要当心
原本正常使用的理财App无法打开,振威App是否存在诈骗行为呢?河南春屹律师事务所主任张少春律师分析,不管是单位或者个人,如果以非法占有为目的,用虚构事实或者隐瞒真相的行为,故意骗取他人钱财的,涉嫌诈骗罪;根据案件具体情节,也可能涉嫌非法吸收公众存款等罪名。建议受害人去公安机关报警,由警方调查后确定是否正式立案,是否需要依法追究相关人员法律责任。
张律师提醒,各类App等互联网骗局较多,建议市民一定要擦亮眼睛,如投资理财,尽量选择金融机构面向公众推出的理财产品,切莫轻易相信网络承诺。
I. 几个好用的APP之理财类APP
理财有多种不同的方式,因此理财类APP也有多种类型。生活中大家常用的理财类APP大致分为这三类:存储类、证券类、信息类。
虽然理财类APP能给用户带来诸多便利,但还是要谨防其带来的风险,尽量选择权威机构推出的APP。专家建议,用户应谨慎选择理财类APP,避免安装恶意理财APP的风险。用户平常应开启安全软件的骚扰拦截功能,并定期升级手机杀毒软件病毒库,若发现安装可疑软件时要果断举报。
J. 谁有易语言写的理财软件的例程或者源码
易语言官网版 4.XX+版本都有例程 首先去官网下个完整版本 不要精简版 安装的时候把例程点选安装 在易语言安装目录比如我的“E:\易语言\e\samples” 这个文件夹里面有很多例程 其中“E:\易语言\e\samples\行业应用”这里就有很多款理财软件 你可以去看看 甚至只需改改就可以使用了 当然只是对数据安全要求不高的地方
满意请采纳