代码未显示任何构建错误,但不会运行 [英] code shows no build errors but will not run

查看:85
本文介绍了代码未显示任何构建错误,但不会运行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1

    //program prompts users to enter E,A,B to compute total. If Z is entered than the sum of comissions is displayed
{
    class Program
    {
        static void Main(string[] args)
        {
           //declare and assign variables
            char letter;
            char quit= 'Z';
            char andrea= 'A';
            char brittany= 'B';
            char eric= 'E';
            const double COMISSION_BASE=0.10;
            double comission;
            double aTotal = 0;
            double bTotal = 0;
            double aSalesTotal;
            double eSalesTotal = 0;


            double sales=0;
            Console.WriteLine("what is your initial? Enter Z to quit"); //ask question

            //convert variables

            letter=Convert.ToChar(Console.ReadLine());
           //enter while loop
            while (letter!=quit) //if letter does not equal quit
            {

           if (letter== andrea ) //if letter equals "A"
           {

            comission=sales*COMISSION_BASE; //acummulate
            aTotal+= comission;
           }
            else if  (letter== brittany)  //if letter equals "B"
           {comission=sales*COMISSION_BASE; //accumulate
                bTotal+=comission;
            }
            else if (letter== eric) //if letter equals "e"
           {
             comission=sales*COMISSION_BASE; //accumulate
            eSalesTotal+=comission;
            }
            else
           {
                Console.WriteLine("Invalid person"); //if neither initial is entered
            Console.WriteLine("Enter next person or Z to quit");
            }}
            //if Z is entered display final amounts

            Console.WriteLine ("Andreas total comission is {0}"+ aTotal.ToString("N2"));
            Console.WriteLine("Brittany's total comission is {0}" +bTotal.ToString("N2"));
            Console.WriteLine("Eric's total comissions is {0}"+eSalesTotal.ToString("N2"));
            Console.ReadLine();
        }
    }
}

推荐答案

您的代码有无限循环.问题由以下块引起:
Your code has endless loop. The problem causes by this block:
while (letter != quit)
{

}


如果letter不等于quit,则此循环将永远不会结束.
您需要提供一个函数供用户修改letter并在新循环之前暂停循环.


If letter is not equal to quit, then this loop will never end.
You need to provide a function for user to modify letter and pause the loop before a new loop.

while (letter != quit)
{
    // Ask your question inside the loop
    Console.Clear();
    Console.WriteLine("what is your initial? Enter Z to quit");
    letter = Convert.ToChar(Console.ReadLine());

    // Process sales and commission calculation
    switch(letter)
    {
        case    ....
        case    ....
        case    ....
        default ....
    }

    // Display result message
    Console.WriteLine("bla bla bla...");

    // Pause the loop, enable user to read message
    Console.ReadKey();
}


这篇关于代码未显示任何构建错误,但不会运行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆