Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #68044

Re: Initializing sum to zero wouldn't compile

From Ben Bacarisse <ben.usenet@bsb.me.uk>
Newsgroups comp.lang.c
Subject Re: Initializing sum to zero wouldn't compile
Date 2015-08-22 21:55 +0100
Organization A noiseless patient Spider
Message-ID <87y4h359i3.fsf@bsb.me.uk> (permalink)
References <5f70d0ca-8b6b-4c11-a2d3-10a5fb65c1c3@googlegroups.com> <f31a40a6-3db3-4cf5-a251-73779f5b9b9b@googlegroups.com> <87r3mv7bys.fsf@bsb.me.uk> <c0acb3a0-aa9d-43aa-b4ae-c00e7622e43a@googlegroups.com>

Show all headers | View raw


Alla _ <modelling.data@gmail.com> writes:
<snip>
> // a program that calculates the average of an array 
> of 3 floating-point values

That's not really true as the array is irrelevant.  The program will
work perfect without it -- it will simply be shorter.

Also, there is a mysterious condition on what values are acceptable.
The most mysterious part of the program is not mentioned in the comment
at the top.

> #include <stdio.h>
> #include <stdbool.h>
>
> int main (void)
> {
>     float values[3];
>     float element, average;
>     float sum = 0;
>     int i = 0, n = 0;
>     bool is_float;
>     
>     
>     printf ("Please, enter 3 floating values:  \n");
>     
>     do
>     {
>         scanf ("%f", &element);
>         
>         is_float = 1;
>         n = (int) element;
>         i++;
>         
>         if (n - element == 0 || element == 0 )
>         {
>             is_float = 0;
>             printf ("Sorry, invalid input\n");
>             break;
>         }
>         
>         else
>         {
>             values[i] = element;
>             sum += values[i];
>         }
>         
>     }
>     while (i < 3);
>     
>     printf ("The average of 3 values is %.2f\n", average = sum / 3);
>     
>     return 0;
> }
>
> Same with for loop:
> #include <stdio.h>
> #include <stdbool.h>
>
> int main (void)
> {
>     float values[3];
>     float element, average;
>     float sum = 0;
>     int i, n;
>     bool is_float;
>     
>     
>     printf ("Please, enter 3 floating values:  \n");
>     
>     for ( i = 0; i < 3; i++)
>     {
>         scanf ("%f", &element);
>         
>             is_float = 1;
>             n = (int) element;
>         
>         if (n - element == 0 || element == 0 )
>             {
>                 is_float = 0;
>                 printf ("Sorry, invalid input\n");
>                 break;
>             }
>         
>             else 
>             {
>                 values[i] = element;
>                 sum += values[i];
>             }
>     }
>     printf ("The average of 3 values is %.2f\n", sum / 3);
>     
>     return 0;
> }

There is no need for is_float, average or the array in either program.
Keep it simple.

> Now I am struggling with the last printf. I looking for a way 
> to restrict printf to the valid result, and not show up
> after the "break", i.e. in case the user types in an 
> incorrect number.

Why are numbers where (int)element - element == 0 || element == 0
incorrect?  They look like correct numbers to me.

Why are you not testing the result of scanf?  Is the book telling you
not to?

As to your question, what is the value of i after the loop if it ran to
completion?  What value does it have if the loop was terminated with a
break?

-- 
Ben.

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Initializing sum to zero wouldn't compile Alla _ <modelling.data@gmail.com> - 2015-08-21 04:39 -0700
  Re: Initializing sum to zero wouldn't compile James Kuyper <jameskuyper@verizon.net> - 2015-08-21 07:54 -0400
    Re: Initializing sum to zero wouldn't compile Alla _ <modelling.data@gmail.com> - 2015-08-21 05:27 -0700
      Re: Initializing sum to zero wouldn't compile Keith Thompson <kst-u@mib.org> - 2015-08-21 10:28 -0700
        Re: Initializing sum to zero wouldn't compile Alla _ <modelling.data@gmail.com> - 2015-08-21 11:15 -0700
    Re: Initializing sum to zero wouldn't compile Alla _ <modelling.data@gmail.com> - 2015-08-21 05:30 -0700
  Re: Initializing sum to zero wouldn't compile Ike Naar <ike@iceland.freeshell.org> - 2015-08-21 12:40 +0000
    Re: Initializing sum to zero wouldn't compile Alla _ <modelling.data@gmail.com> - 2015-08-21 11:16 -0700
  Re: Initializing sum to zero wouldn't compile Siri Cruz <chine.bleu@yahoo.com> - 2015-08-21 07:41 -0700
    Re: Initializing sum to zero wouldn't compile Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2015-08-21 10:56 -0400
    Re: Initializing sum to zero wouldn't compile Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2015-08-21 09:28 -0600
  Re: Initializing sum to zero wouldn't compile Barry Schwarz <schwarzb@dqel.com> - 2015-08-21 10:02 -0700
    Re: Initializing sum to zero wouldn't compile Alla _ <modelling.data@gmail.com> - 2015-08-21 11:21 -0700
      Re: Initializing sum to zero wouldn't compile Barry Schwarz <schwarzb@dqel.com> - 2015-08-21 22:27 -0700
        Re: Initializing sum to zero wouldn't compile Alla _ <modelling.data@gmail.com> - 2015-08-22 02:25 -0700
  Re: Initializing sum to zero wouldn't compile Alla _ <modelling.data@gmail.com> - 2015-08-22 03:50 -0700
    Re: Initializing sum to zero wouldn't compile Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-08-22 13:18 +0100
      Re: Initializing sum to zero wouldn't compile Alla _ <modelling.data@gmail.com> - 2015-08-22 11:21 -0700
        Re: Initializing sum to zero wouldn't compile Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-08-22 21:55 +0100
          Re: Initializing sum to zero wouldn't compile Alla _ <modelling.data@gmail.com> - 2015-08-26 01:36 -0700
            Re: Initializing sum to zero wouldn't compile Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-08-26 11:24 +0100
        Re: Initializing sum to zero wouldn't compile Barry Schwarz <schwarzb@dqel.com> - 2015-08-22 17:17 -0700
          Re: Initializing sum to zero wouldn't compile Alla _ <modelling.data@gmail.com> - 2015-08-26 01:26 -0700
            Re: Initializing sum to zero wouldn't compile Barry Schwarz <schwarzb@dqel.com> - 2015-08-26 02:27 -0700
              Re: Initializing sum to zero wouldn't compile Alla _ <modelling.data@gmail.com> - 2015-08-26 04:21 -0700
                Re: Initializing sum to zero wouldn't compile Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-08-26 12:37 +0100
                Re: Initializing sum to zero wouldn't compile Richard Heathfield <rjh@cpax.org.uk> - 2015-08-26 13:06 +0100
                Re: Initializing sum to zero wouldn't compile Bartc <bc@freeuk.com> - 2015-08-26 13:43 +0100
                Re: Initializing sum to zero wouldn't compile Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-08-26 14:03 +0100
                Re: Initializing sum to zero wouldn't compile Richard Heathfield <rjh@cpax.org.uk> - 2015-08-26 14:06 +0100
                Re: Initializing sum to zero wouldn't compile Tim Rentsch <txr@alumni.caltech.edu> - 2015-09-06 15:14 -0700
                Re: Initializing sum to zero wouldn't compile Keith Thompson <kst-u@mib.org> - 2015-08-26 11:38 -0700
                Re: Initializing sum to zero wouldn't compile Keith Thompson <kst-u@mib.org> - 2015-08-26 11:44 -0700
    Re: Initializing sum to zero wouldn't compile Barry Schwarz <schwarzb@dqel.com> - 2015-08-22 10:49 -0700
      Re: Initializing sum to zero wouldn't compile Alla _ <modelling.data@gmail.com> - 2015-08-22 11:16 -0700
  Re: Initializing sum to zero wouldn't compile Alla _ <modelling.data@gmail.com> - 2015-08-29 07:19 -0700
    Re: Initializing sum to zero wouldn't compile Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-08-29 15:35 +0100
      Re: Initializing sum to zero wouldn't compile Alla _ <modelling.data@gmail.com> - 2015-08-30 02:11 -0700
        Re: Initializing sum to zero wouldn't compile Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-08-30 12:28 +0100
          Re: Initializing sum to zero wouldn't compile Keith Thompson <kst-u@mib.org> - 2015-08-30 15:02 -0700
            Re: Initializing sum to zero wouldn't compile Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-08-30 22:36 +0100
              Re: Initializing sum to zero wouldn't compile Keith Thompson <kst-u@mib.org> - 2015-08-30 16:10 -0700
                Re: Initializing sum to zero wouldn't compile Bartc <bc@freeuk.com> - 2015-08-31 00:14 +0100
                Re: Initializing sum to zero wouldn't compile Keith Thompson <kst-u@mib.org> - 2015-08-30 19:56 -0700
    Re: Initializing sum to zero wouldn't compile Bartc <bc@freeuk.com> - 2015-08-29 16:57 +0100
      Re: Initializing sum to zero wouldn't compile Bartc <bc@freeuk.com> - 2015-08-29 17:37 +0100
      Re: Initializing sum to zero wouldn't compile Alla _ <modelling.data@gmail.com> - 2015-08-30 02:14 -0700

csiph-web