2013-08-27 7 views
2

메신저에 그냥 초보자 및 전체 번호를 입력하고 유효성을 검사하고 환율을 입력하고 유효성을 확인하는 통화 변환기를 만들고있어. 이전에 입력 한 두 개의 유효 값에서 환율을 계산하는 방법에 문제가 있습니다. 여기에 내가 지금까지 한 코드는 콘솔 응용 프로그램입니다. 대신 콘솔의 readline 사용, return ivalue/evalue; 각각을 사용하는 이들의 하단에 메인 프로그램통화 변환기 도움말 C#

private static double exhangeNumber() 
private static double wholeNumber() 

에 다시 값을 반환하지

답변

4

static void Main(string[] args) 
    { 
     wholeNumber(); 
     exhangeNumber(); 


    } 

    private static void exhangeNumber() 
    { 
     double evalue; 
     bool valid; 

     Console.WriteLine("please enter an exchange rate"); 

     do 
     { 
      try 
      { 
       evalue = double.Parse(Console.ReadLine()); 
       Console.WriteLine("the exchange rate entered is: {0:F2}", evalue); 
       valid = true; 
      } 
      catch 
      { 
       Console.WriteLine("invalid Exchange rate please try again"); 
       valid = false; 
      } 
     } 
     while (valid == false); 
     Console.ReadLine(); 

    } 





    private static void wholeNumber() 
    { 
     int ivalue; 
     bool valid; 


     Console.WriteLine("please enter a whole number"); 
     do 
     { 
      try 
      { 
       ivalue = int.Parse(Console.ReadLine()); 
       Console.WriteLine("the valuse you have entered is : {0:F0}", ivalue); 
       valid = true; 
      } 
      catch 
      { 
       Console.WriteLine("this is not a whole number please try again"); 
       valid = false; 
      } 


     } while (valid == false); 

    } 
} 

}. 그것은 당신에게 여분의 오류 처리를 줄 것이다 기본값을 줄 것이다 스티브 말했듯이 다음 주에 당신이 코멘트에

Console.WriteLine(exchangeNumber() * wholeNumber()); 
Console.ReadLine(); 

을 수행 할 수 있습니다, 당신은 값을 얻기 위해 대신 ParseTryParse을 사용하실 수 있습니다 사용자의 입력이 유효한 숫자가 아닌 경우, 이중이뿐만 아니라이 같은 TryParse 또한 여부를 구문 분석에 관한 부울을 반환합니다 .. 0.0 예를 들어 성공적인

이었다

evalue = double.Parse(Console.ReadLine()); 
    is the same as (but improved) 
double.TryParse(Console.ReadLine(), out evalue); 

더 나은

while(!double.TryParse(Console.ReadLine(), out evalue); 
{ 
    Console.WriteLine("this is not a whole number please try again"); 
} 
Console.WriteLine("the valuse you have entered is : {0:F0}", evalue); 
+1

+1 그러나 구문 분석/TryParse에 대해 뭔가를 추가하고는 – Steve

+1

@ 스티브 완벽 - 나는 선 아래로 몇 년 동안 영업 이익을 개선하기 위해 자신의 코드에 다시 보인다 때 절약되었다 물론 :) – Sayse

+0

@ 스티브 - 더 이상 내게 알려 주시기 바랍니다, 감사합니다 – Sayse