#include <stdio.h>
#include <math.h>

double atof();
double pow();

main(argc, argv)
int argc;
char *argv[];
{
char tmp[200];
double fvalue =0;
double interest = 0;
double pvalue = 0;
double length = 0;

if ((argc == 2) && ((argv[1][0] == 'p') || (argv[1][0] == 'P')))
	{
	 fprintf(stdout,"Enter future value <$>........................... ");
	 fgets(tmp,100,stdin);
	 fvalue = atof(tmp);
	 fprintf(stdout,"Enter interest rate per compounding period....... ");
	 fgets(tmp,100,stdin);
	 interest = atof(tmp) / 100;
	 fprintf(stdout,"Enter number of compounding periods.............. ");
	 fgets(tmp,100,stdin);
	 length = atof(tmp);
	 fprintf(stdout,"\n");
	}
else if ((argc == 2) && ((argv[1][0] == 'v') || (argv[1][0] == 'V')))
	{
	 fprintf(stdout,"pv2: Version 1.00 \n");
	 fprintf(stdout,"     Copyright 1987 by Michael Brochstein\n");
	 fprintf(stdout,"     All rights reserved.\n");
	}
else if (argc != 4) 
	{
	 fprintf(stderr,"Usage: pv2 p \n");
	 fprintf(stderr,"       pv2 v \n");
	 fprintf(stderr,"       pv2 <future value> <interest rate ");
	 fprintf(stderr,"per compounding period>");
	 fprintf(stderr,"\n           <number of compounding periods>\n");
	}
else if (argc == 4)
	{
	 fvalue = atof(argv[1]);
	 interest = atof(argv[2]) / 100;
	 length = atof(argv[3]);
	}

if ((argc == 4) 
	|| ((argc == 2) && ((argv[1][0] == 'p') || (argv[1][0] == 'P'))))
	{

	 pvalue = 1 / pow(1+interest,length);
/*
	 fprintf(stdout,"Present value factor.... %14.4f\n",pvalue);
*/
	 fprintf(stdout,"Present value........... %14.2f\n",pvalue * fvalue);
	}
}
