#include #include double atof(); double pow(); main(argc, argv) int argc; char *argv[]; { char tmp[200]; double fvalue = 0; double pvalue = 0; double interest = 0; double numper = 0; if ((argc == 2) && ((argv[1][0] == 'p') || (argv[1][0] == 'P'))) { fprintf(stdout,"Enter present value <$>.............. "); fgets(tmp,100,stdin); pvalue = atof(tmp); fprintf(stdout,"Enter future value <$>............... "); fgets(tmp,100,stdin); fvalue = atof(tmp); fprintf(stdout,"Enter number of periods.............. "); fgets(tmp,100,stdin); numper = atof(tmp); fprintf(stdout,"\n"); } else if ((argc == 2) && ((argv[1][0] == 'v') || (argv[1][0] == 'V'))) { fprintf(stdout,"rate: 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: rate p \n"); fprintf(stderr," rate v \n"); fprintf(stderr," rate "); fprintf(stderr," \n"); } else if (argc == 4) { pvalue = atof(argv[1]); fvalue = atof(argv[2]); numper = atof(argv[3]); } if ((argc == 4) || ((argc == 2) && ((argv[1][0] == 'p') || (argv[1][0] == 'P')))) { interest = pow((fvalue / pvalue),(1 / numper)); interest -= 1; fprintf(stdout,"Interest rate per period...... %.3f %%\n", 100 * interest); } }