Solved

weight

Posted on 1997-05-21
6
400 Views
Last Modified: 2012-06-21
I am a beginner in C and am trying to write the following program that will compute a person's weight on the following planets.
PLANET                  PERCENTAGE OF EARTH WEIGHT
EARTH                   100
MOON                    16
JUPITER                 264
VENUS                   85
MARS                    38
Create a printed table of weights ranging from 50 to 250 pounds in steps 0f 10 pounds. Place "Weight and Planet Headers" across the top of the page and print the table with the weights running topo to bottom.
0
Comment
Question by:barn
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
6 Comments
 

Author Comment

by:barn
ID: 1250497
Edited text of question
0
 

Author Comment

by:barn
ID: 1250498
Edited text of question
0
 

Expert Comment

by:cwestin
ID: 1250499
What are you asking?  Do you just want someone else to write this for you?  Is this for a class?
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 10

Accepted Solution

by:
RONSLOW earned 100 total points
ID: 1250500
Sounds like a class assignment to me :-)

so you want something like:

/* these are our planets */
typedef enum {
  EARTH, MOON, JUPITER, VENUS, MARS
} Planet;

void main () {
  /* here are the names of the planets */
  char* name[] = {"Earth","Moon","Jupiter","Venus","Mars"};
  /* here are the percentage of earth weight for each planet */
  int percentage [] = { 100,16,264,85,38 };
  int earth_weight;

  /* heading line */
  printf("\tWeight and Planet\n");

  /* columns heading - one per planet */
  for (planet = EARTH; planet <= MARS; planet++) {
    printf("%8.8s",name[planet]);
  }
  printf("\n");

  /* each row is a different weight */
  for (
    earth_weight = 50;
    earth_weight <= 250;
    earth_weight += 10
  ) {
    enum Planet planet;
    /* calculate actual weight for each planet and print */
    for (planet = EARTH; planet <= MARS; planet++) {
      int weight = earth_weight*percentage[planet]/100;
      printf ("%8d",weight);
    }
    /* end of line */
    printf ("\n");
  }
}

Any questions??

0
 

Author Comment

by:barn
ID: 1250501
Thank you for the help.
I tried to run your program and got 3 error messages.
1. Declaration syntax error in function main.
2. Undefined symbol 'planet' in function main.
3. Undefined symbol 'earth_weight' in function main.

0
 
LVL 10

Expert Comment

by:RONSLOW
ID: 1250502
OK - little syntax error :-)

Couldn't you have fixed this yourself - I just typed in a program off the top of my head - didn't know you wanted my to debug it as well !! - only problem was that I had the declaraion of Planet

Here is a version that compiles on my compiler

#include <stdio.h>

/* these are our planets */
typedef enum Planet {
      EARTH, MOON, JUPITER, VENUS, MARS
} Planet;

void main () {
      /* here are the names of the planets */
      char* name[] = {"Earth","Moon","Jupiter","Venus","Mars"};
      /* here are the percentage of earth weight for each planet */
      int percentage [] = { 100,16,264,85,38 };
      int earth_weight;
      Planet planet;
      
      /* heading line */
      printf("\tWeight and Planet\n");
      
      /* columns heading - one per planet */
      for (planet = EARTH; planet <= MARS; planet++) {
            printf("%8.8s",name[planet]);
      }
      printf("\n");
      
      /* each row is a different weight */
      for (
            earth_weight = 50;
      earth_weight <= 250;
      earth_weight += 10
            ) {
            /* calculate actual weight for each planet and print */
            for (planet = EARTH; planet <= MARS; planet++) {
                  int weight = earth_weight*percentage[planet]/100;
                  printf ("%8d",weight);
            }
            /* end of line */
            printf ("\n");
      }
}

Hope this works better for you - if not, then I cannot help because it compiles fine with no warnings etc on my compiler.  You will need to get any other bug out yourself - that is how you LEARN !!!

Roger

0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

This tutorial is posted by Aaron Wojnowski, administrator at SDKExpert.net.  To view more iPhone tutorials, visit www.sdkexpert.net. This is a very simple tutorial on finding the user's current location easily. In this tutorial, you will learn ho…
Examines three attack vectors, specifically, the different types of malware used in malicious attacks, web application attacks, and finally, network based attacks.  Concludes by examining the means of securing and protecting critical systems and inf…
The goal of this video is to provide viewers with basic examples to understand opening and writing to files in the C programming language.
The goal of this video is to provide viewers with basic examples to understand and use switch statements in the C programming language.

726 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question