Solved

form displaying input values and percetages

Posted on 2008-10-04
3
221 Views
Last Modified: 2013-12-17
I have to create a program that accepts intergers and then displays a message box showing the original values, the total, and the percentage each value contibutes to the total. My question is how do I calculate the percentage each value contibutes to the total?
using System;

using System.Collections.Generic;

using System.Windows.Forms;

using System.Text;
 

namespace Chp7Ex2

{

    class Program

    {

        static void Main(string[] args)

        {

            string inValue;

            int total = 0;

            Console.WriteLine("How many values will be entered: ");

            string sSize = Console.ReadLine();

            int arraySize = Convert.ToInt32(sSize);

            int [] input = new int[arraySize];
 

            for (int i=0; i < arraySize; i++)

            {

                Console.Write("Enter number {0}: ", i + 1);

                inValue = Console.ReadLine( );

                input[i] = Convert.ToInt32(inValue);

             }
 

            for (int i = 0; i < arraySize; i++)

            {

               total += input[i];

            }

            MessageBox.Show(total);

        }

    }

}

Open in new window

0
Comment
Question by:98fatboyrider
3 Comments
 
LVL 11

Assisted Solution

by:EricTViking
EricTViking earned 50 total points
Comment Utility
100 / Total * Value
0
 
LVL 55

Accepted Solution

by:
Jaime Olivares earned 75 total points
Comment Utility
you can show you data as:

// after calculating total
string message = "";
for (int i = 0; i < arraySize; i++)
{
       message += string.Format("{0} ({1}%)\r\n", input[i], input[i] * 100 / total);
}
message += string.Format("Total: {0}", total);
MessageBox.Show(message);
0
 
LVL 26

Assisted Solution

by:Anurag Thakur
Anurag Thakur earned 75 total points
Comment Utility
Jaime's solution should work but if there are 3 values 12,12, 12 the % will just show 33% each time as round is not implemented where as it should show 33.33%

i have extended Jaimes solution further to take care of that too
			string inValue;

			int total = 0;

			Console.WriteLine ("How many values will be entered: ");

			string sSize = Console.ReadLine ();

			int arraySize = Convert.ToInt32 (sSize);

			int[] input = new int[arraySize];
 

			for (int i = 0; i < arraySize; i++)

			{

				Console.Write ("Enter number {0}: ", i + 1);

				inValue = Console.ReadLine ();

				input[i] = Convert.ToInt32 (inValue);

			}
 

			for (int i = 0; i < arraySize; i++)

			{

				total += input[i];

			}

			string message = "\r\n\r\n";

			for (int i = 0; i < arraySize; i++)

			{

				message += string.Format ("Input value no {0} : {1} having % contribution ({1}%)\r\n", i, input[i], Math.Round(input[i] * 100.00 / total, 2));

			}

			message += string.Format ("\r\nTotal: {0}", total);

			Console.WriteLine (message);

			

			

			Console.ReadLine();

Open in new window

0

Featured Post

6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

Join & Write a Comment

Many of us here at EE write code. Many of us write exceptional code; just as many of us write exception-prone code. As we all should know, exceptions are a mechanism for handling errors which are typically out of our control. From database errors, t…
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
The viewer will learn how to implement Singleton Design Pattern in Java.
This tutorial covers a step-by-step guide to install VisualVM launcher in eclipse.

762 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

Need Help in Real-Time?

Connect with top rated Experts

6 Experts available now in Live!

Get 1:1 Help Now