Hi im working on this small program the rules are as follows
Hi im working on this small program the rules are as follows,
(Write a small program that fills an array of integers input from a file, prints the integers on the screen in a column, and adds up all the integers in the array and prints the sum onto the screen and into an output file. You must use at least 3 functions
Create a file called numInput.txt and put 20 integers in the file.
Save the file in the same directory as your source code in your project.
- Declare an array of integers of size 20.
- Ask the user how many integers to get from the file<= 20.
- Use a loop to read the integers into the array from the input file (fscanf).
- Use a loop to print the array onto the screen in a column.
- Use a loop to add up all the items in the array and store the sum
Open a file called resOut.txt
use fprintf to write the sum to the output file)
I have attempted to right the code but it seems to not work. Im typing in Language C, and anyone who could help would be greatly appreciated.
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
FILE *inPtr;
FILE *outPtr;
int nums[20];
int count = 0;
int i;
int sum;
int number;
int main()
{
FILE *inPtr;
int ar[20];
int num = 0;
inPtr = fopen(\"numInput.txt\", \"r\");
FillArray(num, ar, inPtr);
void FillArray(int number, int ar2[], FILE *fp);
{
int I;
printf(\"How many\");
scanf(\"%d\", &number);
for (i = 0, i < number; i++);
{
printf(\"%d\", nums[i]);
}
for(i = 0, i < number; i++);
{
sum = sum + nums[i];
}
fopen(\"resOut.txt\", \"w\");
fprintf(outPtr, \"The sum is %d\", sum);
fclose(inPtr);
fclose(outPtr);
}
}
Solution
#include<stdio.h>
//function declarations, ARRAY, SIZE, FILE POINTERS
 void fillArray(int[], int, FILE*);
 void printArray(int[], int);
 void storeSum(int[], int, FILE*);
int main()
 {
   
 FILE *inPtr;
 FILE *outPtr;
 int nums[20];
 int i, size;
//open both the files
 inPtr = fopen(\"numInput.txt\", \"r\");
 outPtr = fopen(\"resOut.txt\", \"w\");
printf(\"How many:\");
 scanf(\"%d\", &size); //scanning size of input numbers
//fetch array data from input file
 fillArray(nums, size, inPtr);
 //print on screen
 printArray(nums, size);
 //store sum on output file
 storeSum(nums, size, outPtr);
//free up both files
 fclose(inPtr);
 fclose(outPtr);
return 0;
 }
void fillArray(int* nums, int size, FILE* in){
    int i;
    printf(\"\ Fetched %d values from input file:\", size);
    //passing reference of nums array & its size and filling it using fscanf
    for(i=0;i<size;i++)
        fscanf(in, \"%d\", &nums[i]);
 }
void printArray(int* nums, int size){
    int i;
    //passing reference of nums array and printing
   for(i=0;i<size;i++)
        printf(\"%d \", nums[i]);
 }
void storeSum(int* nums, int size, FILE* out){
    int i, sum=0;
    for(i=0;i<size;i++){
        //adding up all values
        sum += nums[i];
    }
   
    printf(\"\ Stored sum to output file: %d\", sum);
    ///printing to output file
    fprintf(out, \"Sum is %d\", sum);
 }



