/* File: stock0.c By: Tep Dobry login: tep Date: Mod : *//* Program to compute the value of one stock in a portfolio */main(){ /* Variable Declarations */ int shares; /* number of shares owned */ int sell_whole; /* selling price information */ int sell_numer, sell_denomin; /* Set data values */ shares = 57 sell_whole = 11; sell_numer = 3; sell_denomin = 8; /* Print data value */ /* Calculate portfolio value */ portfolio_value = shares * sell_whole + sell_numer / sell_denomin; /* Print result *//* File: stock1.c By: Tep Dobry login: tep Date: Mod : *//* Program to compute the value of one stock in a portfolio */main(){ /* Variable Declarations */ int shares; /* number of shares owned */ int sell_whole; /* selling price information */ int sell_numer, sell_denomin; float portfolio_value; /* the value of the portfolio */ /* Set data values */ shares = 57; sell_whole = 11; sell_numer = 3; sell_denomin = 8; /* Print data value */ printf("You have %d shares of stock\n",shares); printf("selling at $%d %d/%d\n", sell_numer,sell_denomin); /* Calculate portfolio value */ portfolio_value = shares * sell_whole + sell_numer / sell_denomin; /* Print result */ prinf("\nThe value of your portfolio is $%f\n",portfolio_value);}/* File: stock1.debug.c By: Tep Dobry login: tep Date: Mod : *//* Program to compute the value of one stock in a portfolio */main(){ /* Variable Declarations */ int shares; /* number of shares owned */ int sell_whole; /* selling price information */ int sell_numer, sell_denomin; float portfolio_value; /* the value of the portfolio */ float price; /* Set data values */ shares = 57; sell_whole = 11; sell_numer = 3; sell_denomin = 8; /* Print data value */ printf("You have %d shares of stock\n",shares); printf("selling at $%d %d/%d\n", sell_whole,sell_numer,sell_denomin); /* Calculate portfolio value */ portfolio_value = shares * ( sell_whole + sell_numer / sell_denomin);price = (sell_whole + sell_numer / sell_denomin);printf("debug: price = %f\n",price);portfolio_value = shares * price; /* Print result */ printf("\nThe value of your portfolio is $%f\n",portfolio_value);}/* File: stock1.fixed.c By: Tep Dobry login: tep Date: Mod : *//* Program to compute the value of one stock in a portfolio */main(){ /* Variable Declarations */ int shares; /* number of shares owned */ int sell_whole; /* selling price information */ int sell_numer, sell_denomin; float portfolio_value; /* the value of the portfolio */ float price; /* Set data values */ shares = 57; sell_whole = 11; sell_numer = 3; sell_denomin = 8; /* Print data value */ printf("You have %d shares of stock\n",shares); printf("selling at $%d %d/%d\n", sell_whole,sell_numer,sell_denomin); /* Calculate portfolio value */ portfolio_value = shares * (sell_whole + (float) sell_numer / (float) sell_denomin);/*price = (sell_whole + sell_numer / sell_denomin);printf("debug: price = %f\n",price);portfolio_value = shares * price;*/ /* Print result */ printf("\nThe value of your portfolio is $%f\n",portfolio_value);}/* File: stock2.c By: Tep Dobry login: tep Date: Mod : *//* Program to compute the value of one stock in a portfolio reading the data at run time */main(){ /* Variable Declarations */ int shares; /* number of shares owned */ int sell_whole; /* selling price information */ int sell_numer, sell_denomin; float portfolio_value; /* the value of the portfolio */ /* Get the number of shares values */ printf("Enter number of shares: "); scanf("%d", &shares); /* Get the selling price */ printf("Enter stock selling price as whole numerator denominator: "); scanf("%d %d %d", &sell_whole, &sell_numer, &sell_denomin); /* Print data values */ printf("You have %d shares of stock\n",shares); printf("selling at $%d %d/%d\n", sell_whole,sell_numer,sell_denomin); /* Calculate portfolio value */ portfolio_value = shares * (sell_whole + (float) sell_numer / (float) sell_denomin); /* Print result */ printf("\nThe value of your portfolio is $%f\n",portfolio_value);}57 11 3 8/* File: stock3.c By: Tep Dobry login: tep Date: Mod :*//* Program to compute the value of one stock in a portfolio reading the data at run time. The program computes our net profit/loss on this portfolio */#include <stdio.h>float stock_price(int shares, int whole, int num, int denom);/* Given: the number of shares, and stock price in whole, numerator and denominator. Return: the cost/value of this amount of stock.*/int main(){ /* Variable Declarations */ int shares; /* number of shares owned */ int sell_whole; /* selling price information */ int sell_numer, sell_denomin; int buy_whole; /* buying price information */ int buy_numer, buy_denomin; float portfolio_cost; /* the cost of the portfolio */ float portfolio_value; /* the value of the portfolio */ float profit; /* the profit or loss */ /* Get the number of shares values */ printf("Enter number of shares: "); scanf("%d", &shares); /* Get the selling price */ printf("Enter stock selling price as whole numerator denominator: "); scanf("%d %d %d", &sell_whole, &sell_numer, &sell_denomin); /* Get the purchase price */ printf("Enter stock purchase price as whole numerator denominator: "); scanf("%d %d %d", &buy_whole, &buy_numer, &buy_denomin); /* Print data values */ printf("You have %d shares of stock\n",shares); printf("selling at $%d %d/%d\n", sell_whole,sell_numer,sell_denomin); printf("which you bought at $%d %d/%d\n", buy_whole,buy_numer,buy_denomin); /* Calculate portfolio cost */ portfolio_cost = stock_price(shares,buy_whole, buy_numer,buy_denomin); /* Calculate portfolio value */ portfolio_value = stock_price(shares,sell_whole, sell_numer,sell_denomin); /* Calculate profit */ profit = portfolio_value - portfolio_cost; /* Print result */ printf("\nYou bought stock for $%f.",portfolio_cost); printf("The value of your portfolio is $%f\n",portfolio_value); printf("Your net profit is $%f\n",profit);}float stock_price(int shares, int whole, int num, int denom)/* Given: the number of shares, and stock price in whole, numerator and denominator. Return: the cost/value of this amount of stock.*/{ float value; /* printf("debug:enter stock_price:shares=%d whole=%d num=%d denom=%d\n", shares, whole, num, denom); */ /* Compute the stock price */ value = shares * (whole + (float) num / (float) denom); /* printf("debug: exit stock_price: %6.3f\n", value); */ /* Return the value */ return value;}/* File: stock4.count.c By: Tep Dobry login: tep Date: Mod : *//* Program to compute the value of multiple stocks in a portfolio reading the data at run time. The program computes our net profit/loss on this portfolio. Counter used for number of stocks */float stock_price(int, int, int, int);main(){ /* Variable Declarations */ int num_stocks; /* number of stocks in portfolio */ int shares; /* number of shares owned */ int sell_whole; /* selling price information */ int sell_numer, sell_denomin; int buy_whole; /* buying price information */ int buy_numer, buy_denomin; float portfolio_cost; /* the cost of the portfolio */ float portfolio_value; /* the value of the portfolio */ float profit; /* the profit or loss */ /* Initialize cost and value */ portfolio_cost = 0.0; portfolio_value = 0.0; /* Get the number of stocks */ printf("Enter the number of stocks to process: "); scanf("%d", &num_stocks); /* While there are more stocks to process */ while( num_stocks > 0 ) { /* Get the number of shares values */ printf("Enter number of shares: "); scanf("%d", &shares); /* Get the selling price */ printf("Enter stock selling price as" " whole numerator denominator: "); scanf("%d %d %d", &sell_whole, &sell_numer, &sell_denomin); /* Get the purchase price */ printf("Enter stock purchase price as" " whole numerator denominator: "); scanf("%d %d %d", &buy_whole, &buy_numer, &buy_denomin); /* Print data values */ printf("You have %d shares of stock\n",shares); printf("selling at $%d %d/%d\n", sell_whole,sell_numer,sell_denomin); printf("which you bought at $%d %d/%d\n", buy_whole,buy_numer,buy_denomin); /* Accumulate portfolio cost */ portfolio_cost = portfolio_cost + stock_price(shares,buy_whole,buy_numer,buy_denomin); /* Accumulate portfolio value */ portfolio_value = portfolio_value + stock_price(shares,sell_whole,sell_numer,sell_denomin); /* Update stock counter */ num_stocks = num_stocks - 1; } /* Calculate profit */ profit = portfolio_value - portfolio_cost; /* Print result */ printf("\nYou bought stock for $%f.",portfolio_cost); printf("The value of your portfolio is $%f\n",portfolio_value); printf("Your net profit is $%f\n",profit);}float stock_price(int shares, int whole, int num, int denom)/* Given: the number of shares, and stock price in whole, numerator and denominator. Return: the cost/value of this amount of stock.*/{ float value; /* Compute the stock price */ value = shares * (whole + (float) num / (float) denom); /* Return the value */ return value;}/* File: stock4.eof.c By: Tep Dobry login: tep Date: Mod : *//* Program to compute the value of multiple stocks in a portfolio reading the data at run time. The program computes our net profit/loss on this portfolio. Data is read until end of file */#include <stdio.h>float stock_price(int, int, int, int);main(){ /* Variable Declarations */ int shares; /* number of shares owned */ int sell_whole; /* selling price information */ int sell_numer, sell_denomin; int buy_whole; /* buying price information */ int buy_numer, buy_denomin; int flag; /* result of scanf flag */ float portfolio_cost = 0.0; /* the cost of the portfolio */ float portfolio_value = 0.0; /* the value of the portfolio */ float profit; /* the profit or loss */ /* Get the number of shares values */ printf("Enter number of shares(EOF to quit): "); flag = scanf("%d", &shares); /* While there are more stocks to process */ while( flag != EOF ) { /* Get the selling price */ printf("Enter stock selling price as" " whole numerator denominator: "); scanf("%d %d %d", &sell_whole, &sell_numer, &sell_denomin); /* Get the purchase price */ printf("Enter stock purchase price as" " whole numerator denominator: "); scanf("%d %d %d", &buy_whole, &buy_numer, &buy_denomin); /* Print data values */ printf("You have %d shares of stock\n",shares); printf("selling at $%d %d/%d\n", sell_whole,sell_numer,sell_denomin); printf("which you bought at $%d %d/%d\n", buy_whole,buy_numer,buy_denomin); /* Accumulate portfolio cost */ portfolio_cost = portfolio_cost + stock_price(shares,buy_whole,buy_numer,buy_denomin); /* Accumulate portfolio value */ portfolio_value = portfolio_value + stock_price(shares,sell_whole,sell_numer,sell_denomin); /* Get the number of shares values */ printf("Enter number of shares(EOF to quit): "); flag = scanf("%d", &shares); } /* Calculate profit */ profit = portfolio_value - portfolio_cost; /* Print result */ printf("\nYou bought stock for $%f.",portfolio_cost); printf("The value of your portfolio is $%f\n",portfolio_value); printf("Your net profit is $%f\n",profit);}float stock_price(int shares, int whole, int num, int denom)/* Given: the number of shares, and stock price in whole, numerator and denominator. Return: the cost/value of this amount of stock.*/{ float value; /* Compute the stock price */ value = shares * (whole + (float) num / (float) denom); /* Return the value */ return value;}/* File: stock4.eof2.c By: Tep Dobry login: tep Date: Mod : *//* Program to compute the value of multiple stocks in a portfolio reading the data at run time. The program computes our net profit/loss on this portfolio. Data is read until end of file */#include <stdio.h>float stock_price(int, int, int, int);main(){ /* Variable Declarations */ int shares; /* number of shares owned */ int sell_whole; /* selling price information */ int sell_numer, sell_denomin; int buy_whole; /* buying price information */ int buy_numer, buy_denomin; float portfolio_cost = 0.0; /* the cost of the portfolio */ float portfolio_value = 0.0; /* the value of the portfolio */ float profit; /* the profit or loss */ /* Get the number of shares values */ printf("Enter number of shares(EOF to quit): "); /* While there are more stocks to process */ while( scanf("%d", &shares) != EOF ) { /* Get the selling price */ printf("Enter stock selling price as" " whole numerator denominator: "); scanf("%d %d %d", &sell_whole, &sell_numer, &sell_denomin); /* Get the purchase price */ printf("Enter stock purchase price as" " whole numerator denominator: "); scanf("%d %d %d", &buy_whole, &buy_numer, &buy_denomin); /* Print data values */ printf("You have %d shares of stock\n",shares); printf("selling at $%d %d/%d\n", sell_whole,sell_numer,sell_denomin); printf("which you bought at $%d %d/%d\n", buy_whole,buy_numer,buy_denomin); /* Accumulate portfolio cost */ portfolio_cost = portfolio_cost + stock_price(shares,buy_whole,buy_numer,buy_denomin); /* Accumulate portfolio value */ portfolio_value = portfolio_value + stock_price(shares,sell_whole,sell_numer,sell_denomin); /* Get the number of shares values */ printf("Enter number of shares(EOF to quit): "); } /* Calculate profit */ profit = portfolio_value - portfolio_cost; /* Print result */ printf("\nYou bought stock for $%f.",portfolio_cost); printf("The value of your portfolio is $%f\n",portfolio_value); printf("Your net profit is $%f\n",profit);}float stock_price(int shares, int whole, int num, int denom)/* Given: the number of shares, and stock price in whole, numerator and denominator. Return: the cost/value of this amount of stock.*/{ float value; /* Compute the stock price */ value = shares * (whole + (float) num / (float) denom); /* Return the value */ return value;}/* File: stock4.spv.c By: Tep Dobry login: tep Date: Mod : *//* Program to compute the value of multiple stocks in a portfolio reading the data at run time. The program computes our net profit/loss on this portfolio. End of data occurs when shares entered is 0 */float stock_price(int, int, int, int);main(){ /* Variable Declarations */ int shares; /* number of shares owned */ int sell_whole; /* selling price information */ int sell_numer, sell_denomin; int buy_whole; /* buying price information */ int buy_numer, buy_denomin; float portfolio_cost = 0.0; /* the cost of the portfolio */ float portfolio_value = 0.0; /* the value of the portfolio */ float profit; /* the profit or loss */ /* Get the number of shares values */ printf("Enter number of shares(0 to quit): "); scanf("%d", &shares); /* While there are more stocks to process */ while( shares != 0 ) { /* Get the selling price */ printf("Enter stock selling price as" " whole numerator denominator: "); scanf("%d %d %d", &sell_whole, &sell_numer, &sell_denomin); /* Get the purchase price */ printf("Enter stock purchase price as" " whole numerator denominator: "); scanf("%d %d %d", &buy_whole, &buy_numer, &buy_denomin); /* Print data values */ printf("You have %d shares of stock\n",shares); printf("selling at $%d %d/%d\n", sell_whole,sell_numer,sell_denomin); printf("which you bought at $%d %d/%d\n", buy_whole,buy_numer,buy_denomin); /* Accumulate portfolio cost */ portfolio_cost = portfolio_cost + stock_price(shares,buy_whole,buy_numer,buy_denomin); /* Accumulate portfolio value */ portfolio_value = portfolio_value + stock_price(shares,sell_whole,sell_numer,sell_denomin); /* Get the number of shares values */ printf("Enter number of shares(0 to quit): "); scanf("%d", &shares); } /* Calculate profit */ profit = portfolio_value - portfolio_cost; /* Print result */ printf("\nYou bought stock for $%f.",portfolio_cost); printf("The value of your portfolio is $%f\n",portfolio_value); printf("Your net profit is $%f\n",profit);}float stock_price(int shares, int whole, int num, int denom)/* Given: the number of shares, and stock price in whole, numerator and denominator. Return: the cost/value of this amount of stock.*/{ float value; /* Compute the stock price */ value = shares * (whole + (float) num / (float) denom); /* Return the value */ return value;}25711 3 89 1 4694 1 450 1 25711 3 89 1 4694 1 450 1 25711 3 89 1 4694 1 450 1 20/* File: stock5.c By: Tep Dobry login: tep Date: Mod : *//* Program to compute the value of multiple stocks in a portfolio reading the data at run time. The program computes our net profit/loss on this portfolio. Data is read until end of file. The program has been improved to test for valid data entry. */#include <stdio.h>#define FALSE 0#define TRUE 1float stock_price(int, int, int, int);int data_ok(int, int, int);main(){ /* Variable Declarations */ int shares; /* number of shares owned */ int sell_whole; /* selling price information */ int sell_numer, sell_denomin; int buy_whole; /* buying price information */ int buy_numer, buy_denomin; float portfolio_cost = 0.0; /* the cost of the portfolio */ float portfolio_value = 0.0; /* the value of the portfolio */ float profit; /* the profit or loss */ /* Get the number of shares values */ printf("Enter number of shares(EOF to quit): "); /* While there are more stocks to process */ while( scanf("%d", &shares) != EOF ) { /* Get the selling price */ printf("Enter stock selling price as" " whole numerator denominator: "); scanf("%d %d %d", &sell_whole, &sell_numer, &sell_denomin); /* Get the purchase price */ printf("Enter stock purchase price as" " whole numerator denominator: "); scanf("%d %d %d", &buy_whole, &buy_numer, &buy_denomin); /* Print data values */ printf("You have %d shares of stock\n",shares); printf("selling at $%d %d/%d\n", sell_whole,sell_numer,sell_denomin); printf("which you bought at $%d %d/%d\n", buy_whole,buy_numer,buy_denomin); /* if the data is ok */ if( data_ok(sell_whole,sell_numer,sell_denomin)) { /* Accumulate portfolio cost */ portfolio_cost = portfolio_cost + stock_price(shares,buy_whole,buy_numer, buy_denomin); /* Accumulate portfolio value */ portfolio_value = portfolio_value + stock_price(shares,sell_whole,sell_numer, sell_denomin); } /* otherwise print an error message and ignore the stock */ else printf("\aINVALID stock data - stock ignored\n"); /* Get the number of shares values */ printf("Enter number of shares(EOF to quit): "); } /* Calculate profit */ profit = portfolio_value - portfolio_cost; /* Print result */ printf("\nYou bought stock for $%f.",portfolio_cost); printf("The value of your portfolio is $%f\n",portfolio_value); printf("Your net profit is $%f\n",profit);}float stock_price(int shares, int whole, int num, int denom)/* Given: the number of shares, and stock price in whole, numerator and denominator. Return: the cost/value of this amount of stock.*/{ float value; /* Compute the stock price */ value = shares * (whole + (float) num / (float) denom); /* Return the value */ return value;}int data_ok(int whole, int num, int denom)/* Given: the stock price values Returns: TRUE (1) if a valid stock price, FALSE(0) otherwise*/{ if(denom == 0) return FALSE; //return 0 return TRUE; //return 1}/* File: stock5.more.c By: Tep Dobry login: tep Date: Mod : *//* Program to compute the value of multiple stocks in a portfolio reading the data at run time. The program computes our net profit/loss on this portfolio. Data is read until end of file. The program has been improved to test for valid data entry. */#include <stdio.h>#define FALSE 0#define TRUE 1float stock_price(int, int, int, int);int data_ok(int, int, int);main(){ /* Variable Declarations */ int shares; /* number of shares owned */ int sell_whole; /* selling price information */ int sell_numer, sell_denomin; int buy_whole; /* buying price information */ int buy_numer, buy_denomin; float portfolio_cost = 0.0; /* the cost of the portfolio */ float portfolio_value = 0.0; /* the value of the portfolio */ float profit; /* the profit or loss */ /* Initialize loop condition */ /* Get the number of shares values */ printf("Enter number of shares(EOF to quit): "); /* While there are more stocks to process */ while( scanf("%d", &shares) != EOF ) { /* Get the selling price */ printf("Enter stock selling price as" " whole numerator denominator: "); scanf("%d %d %d", &sell_whole, &sell_numer, &sell_denomin); /* Get the purchase price */ printf("Enter stock purchase price as" " whole numerator denominator: "); scanf("%d %d %d", &buy_whole, &buy_numer, &buy_denomin); /* Print data values */ printf("You have %d shares of stock\n",shares); printf("selling at $%d %d/%d\n", sell_whole,sell_numer,sell_denomin); printf("which you bought at $%d %d/%d\n", buy_whole,buy_numer,buy_denomin); /* if the data is ok */ if( data_ok(sell_whole,sell_numer,sell_denomin) && data_ok(buy_whole,buy_numer,buy_denomin)) { /* Calculate portfolio cost */ portfolio_cost = portfolio_cost + stock_price(shares,buy_whole,buy_numer, buy_denomin); /* Calculate portfolio value */ portfolio_value = portfolio_value + stock_price(shares,sell_whole,sell_numer, sell_denomin); } /* otherwise print an error message and ignore the stock */ else printf("\aINVALID stock data - stock ignored\n"); /* Update loop condition */ /* Get the number of shares values */ printf("Enter number of shares(EOF to quit): "); } /* Calculate profit */ profit = portfolio_value - portfolio_cost; /* Print result */ printf("\nYou bought stock for $%f.",portfolio_cost); printf("The value of your portfolio is $%f\n",portfolio_value); printf("Your net profit is $%f\n",profit);}float stock_price(int shares, int whole, int num, int denom)/* Given: the number of shares, and stock price in whole, numerator and denominator. Return: the cost/value of this amount of stock.*/{ float value; /* Compute the stock price */ value = shares * (whole + (float) num / (float) denom); /* Return the value */ return value;}int data_ok(int whole, int num, int denom)/* Given: the stock price values Returns: TRUE if a valid stock price, FALSE otherwise*/{ /* if any of the price data items are negative, the data is bad */ if((whole < 0) || (num < 0) || (denom < 0)) return FALSE; /* if the numerator is greater than the denominator, the data is bad */ if( num >= denom ) return FALSE; /* if the denominator is not 2,4, or 8, the data is bad */ if((denom != 2) && (denom != 4) && (denom != 8)) return FALSE; /* otherwise the data is ok */ return TRUE;}/* File: stock6.c By: Tep Dobry login: tep Date: Mod : *//* Program to compute the value of multiple stocks in a portfolio reading the data at run time. The program computes our net profit/loss on this portfolio. Data is read until end of file. The program has been improved to test for valid data entry. */#include <stdio.h>#include "stock_utils.h"main(){ /* Variable Declarations */ int shares; /* number of shares owned */ int sell_whole; /* selling price information */ int sell_numer, sell_denomin; int buy_whole; /* buying price information */ int buy_numer, buy_denomin; float portfolio_cost = 0.0; /* the cost of the portfolio */ float portfolio_value = 0.0; /* the value of the portfolio */ float profit; /* the profit or loss */ /* Get the number of shares values */ printf("Enter number of shares(EOF to quit): "); /* While there are more stocks to process */ while( scanf("%d", &shares) != EOF ) { /* Get the selling price */ printf("Enter stock selling price as" " whole numerator denominator: "); scanf("%d %d %d", &sell_whole, &sell_numer, &sell_denomin); /* Get the purchase price */ printf("Enter stock purchase price as" " whole numerator denominator: "); scanf("%d %d %d", &buy_whole, &buy_numer, &buy_denomin); /* Print data values */ printf("You have %d shares of stock\n",shares); printf("selling at $%d %d/%d\n", sell_whole,sell_numer,sell_denomin); printf("which you bought at $%d %d/%d\n", buy_whole,buy_numer,buy_denomin); /* if the data is ok */ if( data_ok(sell_whole,sell_numer,sell_denomin) && data_ok(buy_whole,buy_numer,buy_denomin)) { /* Accumulate portfolio cost */ portfolio_cost = portfolio_cost + stock_price(shares,buy_whole,buy_numer, buy_denomin); /* Accumulate portfolio value */ portfolio_value = portfolio_value + stock_price(shares,sell_whole,sell_numer, sell_denomin); } /* otherwise print an error message and ignore the stock */ else printf("\aINVALID stock data - stock ignored\n"); /* Get the number of shares values */ printf("Enter number of shares(EOF to quit): "); } /* Calculate profit */ profit = portfolio_value - portfolio_cost; /* Print result */ printf("\nYou bought stock for $%f.",portfolio_cost); printf("The value of your portfolio is $%f\n",portfolio_value); printf("Your net profit is $%f\n",profit);}/* File: stock7.c By: Tep Dobry login: tep Date: Mod : *//* Program to compute the value of multiple stocks in a portfolio reading the data at run time. The program computes our net profit/loss on this portfolio. Data is read until end of file. The program has been improved to test for valid data entry. */#include <stdio.h>#include "stock_utils.h"#define INTERACTmain(){ /* Variable Declarations */ int shares; /* number of shares owned */ int sell_whole; /* selling price information */ int sell_numer, sell_denomin; int buy_whole; /* buying price information */ int buy_numer, buy_denomin; float portfolio_cost = 0.0; /* the cost of the portfolio */ float portfolio_value = 0.0; /* the value of the portfolio */ float profit; /* the profit or loss */ /* Get the number of shares values */ #ifdef INTERACT printf("Enter number of shares(EOF to quit): "); #endif /* While there are more stocks to process */ while( scanf("%d", &shares) != EOF ) { /* Get the selling price */ #ifdef INTERACT printf("Enter stock selling price as" " whole numerator denominator: "); #endif scanf("%d %d %d", &sell_whole, &sell_numer, &sell_denomin); /* Get the purchase price */ #ifdef INTERACT printf("Enter stock purchase price as" " whole numerator denominator: "); #endif scanf("%d %d %d", &buy_whole, &buy_numer, &buy_denomin); /* Print data values */ printf("You have %d shares of stock\n",shares); printf("selling at $%d %d/%d\n", sell_whole,sell_numer,sell_denomin); printf("which you bought at $%d %d/%d\n", buy_whole,buy_numer,buy_denomin); /* if the data is ok */ if( data_ok(sell_whole,sell_numer,sell_denomin) && data_ok(buy_whole,buy_numer,buy_denomin)) { /* Alccumulate portfolio cost */ portfolio_cost = portfolio_cost + stock_price(shares,buy_whole,buy_numer, buy_denomin); /* Alccumulate portfolio value */ portfolio_value = portfolio_value + stock_price(shares,sell_whole,sell_numer, sell_denomin); #ifdef DEBUG printf("debug: portfolio_cost=%f portfolio_value=%f\n", portfolio_cost,portfolio_value); #endif } /* otherwise print an error message and ignore the stock */ else printf("\aINVALID stock data - stock ignored\n"); /* Get the number of shares values */ #ifdef INTERACT printf("Enter number of shares(EOF to quit): "); #endif } /* Calculate profit */ profit = portfolio_value - portfolio_cost; /* Print result */ printf("\nYou bought stock for $%f.",portfolio_cost); printf("The value of your portfolio is $%f\n",portfolio_value); printf("Your net profit is $%f\n",profit);}/* File: stock_utils.c By: Tep Dobry login: tep Date: Mod : *//* This file contains stock portfolio utility functions for computing an extended stock price and checking price validity */#include "stock_utils.h"#include "tfdef.h"float stock_price(int shares, int whole, int num, int denom)/* Given: the number of shares, and stock price in whole, numerator and denominator. Return: the cost/value of this amount of stock.*/{ float value; /* Compute the stock price */ value = shares * (whole + (float) num / (float) denom); /* Return the value */ return value;}int data_ok(int whole, int num, int denom)/* Given: the stock price values Returns: TRUE if a valid stock price, FALSE otherwise*/{ /* if any of the price data items are negative, the data is bad */ if((whole < 0) || (num < 0) || (denom < 0)) return FALSE; /* if the numerator is greater than the denominator, the data is bad */ if( num >= denom ) return FALSE; /* if the denominator is not 2,4, or 8, the data is bad */ if((denom != 2) && (denom != 4) && (denom != 8)) return FALSE; /* otherwise the data is ok */ return TRUE;}/* File: stock_utils.h By: Tep Dobry login: tep Date: Mod : *//* Header file declaring stock utility functions */float stock_price(int shares, int whole, int num, int denom);/* Given: the number of shares, and stock price in whole, numerator and denominator. Return: the cost/value of this amount of stock.*/int data_ok(int whole, int num, int denom);/* Given: the stock price values Returns: TRUE if a valid stock price, FALSE otherwise*/