Solved

form displaying input values and percetages

Posted on 2008-10-04
3
223 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
ID: 22642551
100 / Total * Value
0
 
LVL 55

Accepted Solution

by:
Jaime Olivares earned 75 total points
ID: 22642678
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
ID: 22643298
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

Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

Question has a verified solution.

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

A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
Whether you’re a college noob or a soon-to-be pro, these tips are sure to help you in your journey to becoming a programming ninja and stand out from the crowd.
This theoretical tutorial explains exceptions, reasons for exceptions, different categories of exception and exception hierarchy.
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.

772 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