3 Replies - 760 Views - Last Post: 24 October 2014 - 06:09 AM Rate Topic: -----

#1 andyouf   User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 45
  • Joined: 04-June 14

Smallest Integer From Random Input

Posted 24 October 2014 - 12:13 AM

Hi. I am trying to get the smallest number read in a program that repeatedly says"Enter new integer" until terminating 99999 is entered. It then does various calculations with the #'s entered excluding the 99999. My problem is I can't seem to get the current_smallest function to work correctly.
/* Prompts user and gets integer numbers from keyboard, one number at a time. Ends program when 99999 entered and displays various results excluding 99999.
        Written by:
        Date:       10/20/14
*/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <limits.h>

// Function Declarations
int get_Number (int* number); // take in one address parameter so integer entered from keyboard picked up
int current_smallest (int number); // keeps track of the smallest integer entered by user


int main()
{
// Local Declarations
    int number; // user-input integer
    int average; // calculated average of integers
    int sum = 0; // calculated total of integers
    int loop_count = 0; // repeat prompt
    int minimum; // smallest integer entered
    int small;

// Statements
    do {
            getNumber(&number);  // call to getNumber




            if (number != 99999)
            sum = sum + number;
            small = current_smallest (number);
            loop_count++;
            if(number == 99999 && loop_count == 1) {
            printf("No input was provided\n");
}

    } while (number != 99999);

    average = sum / loop_count;

    printf ("Smallest: %d\n", current_smallest);
    printf("Number of Integers: %d\n", loop_count);
    printf("Average: %d\n", average);
    printf("Sum: %d", sum);

    return 0;

}   // main

/*===================getNumber========================
  Takes an address of an number, returns nothing, and
  prompts the user for a number and returns it to the
  address passed.
*/
int getNumber(int* number)
{
// Statements
    printf("Enter next Integer: ");
    scanf("%d", number); // read a single integer value input

    return *number;
}// getNumber

//==================current_smallest==================
int current_smallest (int number)
{
    int small;
         if(number < current_smallest)    // tests new number against the current minimum
            current_smallest = number;    // if new number is less, it becomes the new minimum
            {

            small++;

    return small;
    }
}


This post has been edited by andyouf: 24 October 2014 - 12:18 AM


Is This A Good Question/Topic? 0
  • +

Replies To: Smallest Integer From Random Input

#2 ragmar   User is offline

  • D.I.C Head

Reputation: 5
  • View blog
  • Posts: 107
  • Joined: 13-June 14

Re: Smallest Integer From Random Input

Posted 24 October 2014 - 12:47 AM

pointer is compared with an integer value, line 71.
Was This Post Helpful? 0
  • +
  • -

#3 andyouf   User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 45
  • Joined: 04-June 14

Re: Smallest Integer From Random Input

Posted 24 October 2014 - 01:27 AM

View Postragmar, on 24 October 2014 - 02:47 AM, said:

pointer is compared with an integer value, line 71.

I'm baffled, I've switched parameters for an hour now.
/* Prompts user and gets integer numbers from keyboard, one number at a time. Ends program when 99999 entered and displays various results.
        Written by:
        Date:       10/20/14
*/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <limits.h>
#define SENTINEL 99999


// Function Declarations
int get_Number (int* number); //take in one address parameter so integer entered from keyboard picked up
int current_smallest (int number)

int main()
{
    // Local Declarations
    int number; //user-input integer
    int average; //Calculated average of integers
    int sum = 0; //Calculated total of integers
    int loop_count = 0; //Repeat prompt
    int minimum; //Smallest integer entered

    // Statements
    do {
        getNumber(&number);  //call to getNumber//

        if (number !=SENTINEL){
            sum = sum + number;
            loop_count++;
        }  else if (loop_count == 0) {
            printf("No input was provided\n");
        }

    } while (number != 99999);

    average = sum / loop_count;

    printf ("Smallest: %d\n", minimum);
    printf("Number of Integers: %d\n", loop_count);
    printf("Average: %d\n", average);
    printf("Sum: %d", sum);

    return 0;

}   // main

/*===================getNumber========================
  Takes an address of an number, returns nothing, and
  prompts the user for a number and returns it to the
  address passed.
*/
int getNumber(int* number)
{
// Statements
    printf("Enter next Integer: ");
    scanf("%d", number); // read a single integer value input

    return *number;
}// getNumber

//==================current_smallest==================
int current_smallest (int number)
{
    int minimum;
         if(minimum < current_smallest)    // tests new number against the current minimum
            current_smallest = minimum;    // if new number is less, it becomes the new minimum
            {
            return minimum;
    }
}//current_smallest


Was This Post Helpful? -1
  • +
  • -

#4 jimblumberg   User is offline

  • member icon

Reputation: 5916
  • View blog
  • Posts: 17,932
  • Joined: 25-December 09

Re: Smallest Integer From Random Input

Posted 24 October 2014 - 06:09 AM

Edit: Also posted and answered here. Please stop wasting every ones time and stick to one forum.

Jim

This post has been edited by jimblumberg: 24 October 2014 - 06:12 AM

Was This Post Helpful? 2
  • +
  • -

Page 1 of 1