#include<stdio.h> #include<math.h> double benjin=0,W=0; double year=0; int N=1; double lilv; void danli(){ system("cls"); printf("请输入要存入的本金:"); scanf("%lf",&benjin); printf("请输入年利率:"); scanf("%lf",&lilv); printf("请输入年限:"); scanf("%lf",&year); W=benjin+benjin*lilv*year; printf("输出最终值为:%.2lf ",W); } void fuli(){ system("cls"); printf("请输入要存入的本金:"); scanf("%lf",&benjin); printf("请输入年利率:"); scanf("%lf",&lilv); printf("请输入年限:"); scanf("%lf",&year); printf("请输入年复利次数:"); scanf("%d",&N); lilv=pow((1+lilv/N),N)-1; W=benjin*pow((1+lilv),year); printf("输出最终值为:%.2lf ",W); } void benjinjisuan(){ system("cls"); printf("请输入最后收益:"); scanf("%lf",&W); printf("请输入年利率:"); scanf("%lf",&lilv); printf("请输入年限:"); scanf("%lf",&year); printf("请输入年复利次数:"); scanf("%d",&N); lilv=pow((1+lilv/N),N)-1; benjin=W/pow((1+lilv),year); printf("本金为:%.2lf ",benjin); } void TZtime(){ system("cls"); printf("请输入要存入的本金:"); scanf("%lf",&benjin); printf("请输入年利率:"); scanf("%lf",&lilv); printf("请输入年复利次数:"); scanf("%d",&N); printf("请输入最后收益:"); scanf("%lf",&W); lilv=pow((1+lilv/N),N)-1; year= log(W/benjin)/log(1+lilv); printf("投资年限估计为%.2lf年 ",year); } void BestProject(){ system("cls"); printf("请输入要存入的本金:"); scanf("%lf",&benjin); printf("请输入年限:"); scanf("%lf",&year); printf("请输入年复利次数:"); scanf("%d",&N); printf("请输入最后收益:"); scanf("%lf",&W); lilv=pow((pow((W/benjin),(1.0/year))-1+1),(1.0/N))*N-N; printf("投资项目利率估计为:%.2lf ",lilv); } void dingqi(){ system("cls"); printf("请输入年投入:"); scanf("%lf",&benjin); printf("请输入年增长率:"); scanf("%lf",&lilv); printf("请输入持续投入年数:"); scanf("%lf",&year); W=benjin*(1.0+lilv)*(pow((1.0+lilv),year)-1)/lilv; printf("最后收益:%.2lf ",W); } main(){ int num=0; while(1){ benjin=0; W=0; year=0; N=1; lilv=0; printf("***********复利计算器(3.0)************* "); printf("|---------------------------------| "); printf("| 1.单利 | "); printf("| 2.复利 | "); printf("| 3.计算本金 | "); printf("| 4.投资年限估计 | "); printf("| 5.投资项目利率估计 | "); printf("| 6.定期投资 | "); printf("| 0.退出 | "); printf("|---------------------------------| "); printf("请输入选择:"); AA: scanf("%d",&num); if(num>=0 && num<7){ switch(num){ case 1: danli(); break; case 2: fuli(); break; case 3: benjinjisuan(); break; case 4: TZtime(); break; case 5: BestProject(); case 6: dingqi(); break; case 0: printf("谢谢使用! "); return 0; default: return 0; } } else{ printf("输入错误,请重新输入!"); goto AA; } } }