My program is suppose to read the Numbers text file which is where I have listed my numbers and store them into an array then display in 5 columns. My problem is that it wont display the array at all. Im not sure why.
#include <stdio.h>
#include <stdlib.h>
#define ELEMENTS 100
void fillArray(FILE *, double [], double *);
void printArray(double [], double);
double findMIN(double [], double);
double findMAX(double [], double);
int main()
{
FILE *doublefp;
double values[ELEMENTS];
double elements;
int status;
status = fopen_s(&doublefp, "Numbers.txt", "r");
if (status != 0)
{
printf("Unable to open the file Numbers.txt\n");
system("PAUSE");
exit(99);
}
fillArray(doublefp, values, &elements);
printArray(values, elements);
printf("The minimum value is %d\n", findMIN(values, elements));
printf("The maximum value is %d\n", findMAX(values, elements));
system ("PAUSE");
return 0;
}
double findMIN(double nums[], double element)
{
int i;
double min = nums[0];
for (i = 1; i < element; i++)
if (min > nums[i])
min = nums[i];
return (min);
}
double findMAX(double nums[], double element)
{
int i;
double max = nums[0];
for (i = 1; i < element; i++)
if (max < nums[i])
max = nums[i];
return (max);
}
void fillArray (FILE *fp, double nums[], int *count)
{
double number;
printf("Enter up to %d integers press the F6 key to end input. \n", ELEMENTS);
*count = 0;
while (fscanf_s(fp, "%d", &nums[*count]) != EOF)
{
(*count)++;
}
}
void printArray (double nums[], double elements)
{
int count;
printf("Values in array:\n");
for (count = 0; count < elements; count++)
{
printf("%5d ",nums[count]);
if ((count+1)% 10 == 0)
printf("\n");
}
printf("\n");printf("\n");
}
My numbers are in a text file listed like this: 23.53 56.8 12.1 677.23 122.09 788.18 123.25 65.12 98.18 622.27 366.34 433.45 844.56 244.67 544.78 290.10 189.28 522.17 321.33 178.76
%dconversion operates on integers. Try using%ffordoubles instead. You'll also want the file to contain one value per line.fillArray()isn't even defined in the same way that it's declared, this code shouldn't even compile, let alone compile without warnings.