Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

C programming: I am getting the following errors in my program. Would someone ki

ID: 3588739 • Letter: C

Question

C programming: I am getting the following errors in my program. Would someone kindly review my errors and code and assist me in finding how to address it. I cannot use any fancy coding, this is a beginners course and we are limited to loops and maybe strings. Thank you so much.

ERROR MESSAGES

stocks.c:65:16: error: 'mean' undeclared (first use in this function)
print_results(mean, average, min, max, variance);
^~~~
stocks.c:65:16: note: each undeclared identifier is reported only once for each function it appears in
stocks.c:65:2: error: too few arguments to function 'print_results'
print_results(mean, average, min, max, variance);
^~~~~~~~~~~~~
In file included from stocks.c:18:0:
stats.h:21:6: note: declared here
void print_results(const float array[], int size, float mean, float
^~~~~~~~~~~~~
stocks.c:25:8: warning: variable 'median' set but not used [-Wunused-but-set-variable]
float median = 0.0f,

CODE:

stocks.c

#include <stdio.h>

#include <float.h>

#include <limits.h>

#include "io.h"

#include "stats.h"

int main()

{

int size = 0;

float median = 0.0f,

variance = 0.0f,

max = 0.0f,

min = 0.0f,

average = 0.0f;

  

float array[size],

data[size],

input[size];

  

char order;

  

//print greeting

print_greeting();

//ask user number of stocks being analyzed

printf("Enter the number of stocks we will be analyzing: ");

scanf("%d", &size);

//read data one at a time

read_data(array, size);

//Ask user if they want to sort their prices

printf("Do you want to sort the prices in ascending, ");

printf("or descending order? (A/D). ");

scanf("%c", &order);

//get the stats

average = get_average(data, size);

median = get_median(input, size);

variance = get_variance(data, size);

max = get_max(data, size);

min = get_min(data, size);

//print the results

print_results(mean, average, min, max, variance);

return 0;

}

io.c

#include <stdio.h>

#include "io.h"

void sort(const float input[], float output[], const int size, const char order);

{

int i = 0,

j = 0;

float temp;

for(i = 0; i < size; i++)

output[i] = input[i];

for(i = 0; i = size - 2; i++)

{

for(j = i + 1; j <= size - 1; j++)

{

if(order == 'A')

{

if (output[i] > output[j])

{

temp = output[i];

output[i] = output[j];

output[j] = temp;

}

}

else if(order == 'D')

{

if(output[i] < output[j])

{

temp = output[i];

otput[i] = output[j];

output[j] temp;

}

}

}

}

}

void read_data(float array[], int size);

{

int i = 0;

printf("Please enter the stocks you wish to analyze: ");

for(i = 0; i < size; i++)

{

printf("Please enter the stock price #%d: ", i + 1);

scanf(%f", &array[i]);

}

}

void print_results(const float array[], int size, float mean,

float median, float min, float max, float variance);

{

printf("Mean = $%.2f ", mean);

printf("Median = $%.2f ", median);

printf("Min = $%.2f ", min);

printf("Max = $%.2f ", max);

printf("Variance = $%.2 ", variance);

}

void print_greeting();

{

printf(" This application will compute the statistics of and sort ");

printf("a series of stock prices. ");

}

io.h

void sort(const float input[], float output[], const int size,
const char order);
void read_data(float array[], int size);
void print_results(const float array[], int size, float mean,
float median, float min, float max, float variance);
void print_greeting();

stats.c

#include <float.h>

#include <limits.h>

#include "stats.h"

float get_average(const float data[], const int size)

{

int i = 0;

float sum = 0.0,

average = 0.0;

for (i = 0; i < size; i++)

sum += data[i];

average = sum/size

return average

}

stats.c


float get_average(const float data[], const int size);
float get_variance(const float data[], const int size);
float get_max(const float data[], const int size);
float get_min(const float data[], const int size);
void sort(const float input[], float output[], const int size,
const char order);
float get_median(const float input[], const int size);
void read_data(float array[], int size);
void print_results(const float array[], int size, float mean, float
median, float min, float max, float variance);
void print_greeting();

Explanation / Answer

Here is the modifications for you:

io.h:

void sort(const float input[], float output[], const int size,
const char order);
void read_data(float array[], int size);
void print_results(const float array[], int size, float mean,
float median, float min, float max, float variance);
void print_greeting();

io.c:

#include <stdio.h>
#include "io.h"




void read_data(float array[], int size)
{
int i = 0;
printf("Please enter the stocks you wish to analyze: ");
for(i = 0; i < size; i++)
{
printf("Please enter the stock price #%d: ", i + 1);
scanf("%f", &array[i]);
}
}


void print_results(const float array[], int size, float mean,
float median, float min, float max, float variance)
{
printf("Mean = $%.2f ", mean);
printf("Median = $%.2f ", median);
printf("Min = $%.2f ", min);
printf("Max = $%.2f ", max);
printf("Variance = $%.2f ", variance);
}


void print_greeting()
{
printf(" This application will compute the statistics of and sort ");
printf("a series of stock prices. ");
}

stats.h:

float get_average(const float data[], const int size);
float get_variance(const float data[], const int size);
float get_max(const float data[], const int size);
float get_min(const float data[], const int size);
void sort(const float input[], float output[], const int size,
const char order);
float get_median(const float input[], const int size);
void read_data(float array[], int size);
//void print_results(const float array[], int size, float mean, float
//median, float min, float max, float variance);
void print_greeting();

stats.c:

#include <float.h>
#include <limits.h>
#include "stats.h"


void sort(const float input[], float output[], const int size, const char order)
{
int i = 0,
j = 0;

float temp;
for(i = 0; i < size; i++)
output[i] = input[i];
for(i = 0; i < size - 2; i++)
{
for(j = i + 1; j <= size - 1; j++)
{
if(order == 'A')
{
if (output[i] > output[j])
{
temp = output[i];
output[i] = output[j];
output[j] = temp;
}
}
else if(order == 'D')
{
if(output[i] < output[j])
{
temp = output[i];
output[i] = output[j];
output[j] = temp;
}
}
}
}
}

float get_average(const float data[], const int size)
{
int i = 0;
float sum = 0.0,
average = 0.0;
for (i = 0; i < size; i++)
sum += data[i];
average = sum/size;
return average;
}

float get_max(const float data[], const int size)
{
    float max = data[0];
    for(int i = 1; i < size; i++)
        if(data[i] > max)
            max = data[i];
    return max;      
}
float get_min(const float data[], const int size)
{
    float min = data[0];
    for(int i = 0; i < size; i++)
        if(data[i] < min)
            min = data[i];
    return min;      
}
float get_median(const float input[], const int size)
{
    float output[size];
    sort(input, output, size, 'a');
    if(size % 2 == 0)
        return (output[size/2] + output[size/2+1]) / 2;
    else
        return output[size/2];  
}
float get_variance(const float data[], const int size)
{
    double mean = get_average(data, size);
    double variance = 0;
    for(int i = 0; i < size; i++)
        variance += (data[i] - mean) * (data[i] - mean);
    variance /= size;
    return variance;  
}

And finally stocks.c:

#include <stdio.h>
#include <float.h>
#include <limits.h>
#include "io.c"
#include "stats.c"


int main()
{
int size = 0;
float median = 0.0f,
variance = 0.0f,
max = 0.0f,
min = 0.0f,
average = 0.0f;
  
float array[size],
data[size],
input[size];

  
char order;
  
//print greeting
print_greeting();


//ask user number of stocks being analyzed
printf("Enter the number of stocks we will be analyzing: ");
scanf("%d", &size);
//read data one at a time
read_data(data, size);
//Ask user if they want to sort their prices
printf("Do you want to sort the prices in ascending, ");
printf("or descending order? (A/D). ");
scanf(" %c", &order);
//get the stats
average = get_average(data, size);
median = get_median(data, size);
variance = get_variance(data, size);
max = get_max(data, size);
min = get_min(data, size);
//print the results
print_results(data, size, average, median, min, max, variance);
return 0;
}