c# question. confused on one part

Archived from the original Sajha.com — preserved as posted, replies can no longer be added here.
Start a New Discussion
Archived Post

only problem with this program is that when I enter 'z' to exit it works but when I try'Z' it does not work. pls help using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace assignment2_nepal {     class sales     {         public char empname;         Double indsale;         Double indsaleA = 0;         Double indsaleB = 0;         Double indsaleE = 0;         Double indcomsaleA = 0;         Double indcomsaleB = 0;         Double indcomsaleE = 0;         const Double commrate = 0.10;         public void TotalSales()         {             Console.WriteLine("Enter A for Andrea or B or Brittany or E for Eric or z to quit:");             Console.WriteLine("Enter a salesperson initial:");             empname = Convert.ToChar(Console.ReadLine());             while (empname !== 'z' || empname=='Z')             {                                    if (empname == 'A' || empname == 'a')                     {                         Console.Out.WriteLine("Enter amount of sale");                         indsale = Convert.ToDouble(Console.ReadLine());                         indsaleA = indsaleA + indsale;                     }                     else if (empname == 'B' || empname == 'b')                     {                         Console.Out.WriteLine("Enter amount of sale");                         indsale = Convert.ToDouble(Console.ReadLine());                         indsaleB = indsaleB + indsale;                     }                     else if (empname == 'E' || empname == 'e')                     {                         Console.Out.WriteLine("Enter amount of sale");                         indsale = Convert.ToDouble(Console.ReadLine());                         indsaleE = indsaleE + indsale;                     }                     else                         Console.Out.WriteLine("Invalid Entry! Please enter A, B or E for sales Employee and z to Quit");                     Console.WriteLine("Enter another salesperson or z to quit");                     empname = Convert.ToChar(Console.ReadLine());                 }             }                public void computesales()         {             indcomsaleA = commrate * indsaleA;             indcomsaleB = commrate * indsaleB;             indcomsaleE = commrate * indsaleE;         }         public void PrintSales()         {             Console.WriteLine("Andrea earned:               ${0}", indcomsaleA);             Console.WriteLine("Brittany earned:             ${0}", indcomsaleB);             Console.WriteLine("Eric earned:                 ${0}", indcomsaleE);         }     }     class assignment2_nepal     {         static void Main(String[] args)         {             sales sale = new sales();             sale.TotalSales();             sale.computesales();             sale.PrintSales();         }     } }

redlotus · Mar 21, 2009 11:07 PM · 13,780 views

3 Replies

you are missing a NOT EQUAL TO in while (empname !== 'z' || empname=='Z') it should rather be : while (empname != 'z' || empname!='Z') you dont need !== ( makes no sense to me) ,  use != it runs your while loop till  empname has anything else than a 'z' or a 'Z'. Last edited: 21-Mar-09 11:18 PM

suruchee · Mar 21, 2009 11:16 PM

i tried you method but still it does not work.

redlotus · Mar 22, 2009 9:04 AM

I would suggest u to use do-while loop for efficiency. and the condition of the loop termination should be as follows: while ((empname != 'z') && (empname != 'Z'))   if u need, there is a complete code: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace sajha { class sales { public char empname; Double indsale; Double indsaleA = 0; Double indsaleB = 0; Double indsaleE = 0; Double indcomsaleA = 0; Double indcomsaleB = 0; Double indcomsaleE = 0; const Double commrate = 0.10;   public void TotalSales() { do { Console.WriteLine("Enter A for Andrea or B or Brittany or E for Eric or z to quit:"); Console.WriteLine("Enter a salesperson initial:"); empname = Convert.ToChar(Console.ReadLine()); if (empname == 'A' || empname == 'a') { Console.Out.WriteLine("Enter amount of sale for Andrea"); indsale = Convert.ToDouble(Console.ReadLine()); indsaleA = indsaleA + indsale; } else if (empname == 'B' || empname == 'b') { Console.Out.WriteLine("Enter amount of sale for Brittany"); indsale = Convert.ToDouble(Console.ReadLine()); indsaleB = indsaleB + indsale; } else if (empname == 'E' || empname == 'e') { Console.Out.WriteLine("Enter amount of sale for Eric"); indsale = Convert.ToDouble(Console.ReadLine()); indsaleE = indsaleE + indsale; } }while ((empname != 'z') && (empname != 'Z')); }   public void computesales() { indcomsaleA = commrate * indsaleA; indcomsaleB = commrate * indsaleB; indcomsaleE = commrate * indsaleE; }   public void PrintSales() { Console.WriteLine("Andrea earned: ${0}", indcomsaleA); Console.WriteLine("Brittany earned: ${0}", indcomsaleB); Console.WriteLine("Eric earned: ${0}", indcomsaleE); } class Program { static void Main(string[] args) { sales sale = new sales(); sale.TotalSales(); sale.computesales(); sale.PrintSales(); Console.WriteLine("Press any key to EXIT !"); Console.ReadLine(); } } } }

madhab6 · Mar 22, 2009 12:08 PM

This conversation is preserved exactly as it was on the original Sajha.com and can't accept new replies.

Start a New Discussion

You might be interested in...

Recent Classifieds View all
Upcoming Events View all
Service Providers View all