2012-10-17 5 views
0

임 데 문제가 여러 개의 서브 우퍼를 사용하여 mutliple currencys에 대한 변환을 밖으로 작동합니다. 나는 숫자가 친구라는 말을 계속해서 받아 들인다. 그러므로 jap 변환에 사용할 수 없다. 누구든지 도와 줄 수 있습니까? 사전Visual Basic의 친구 오류

Option Explicit On 
'Option Strict On 

Imports System 

Module Yahtzed 

    Sub CANtoUSD() 
     Dim Number , USDConversion as Decimal 
     Number = Console.Readline 
     USDConversion =(Number * 1.0141) 
     Console.Writeline(USDConversion) 
    End Sub 

    Sub CANtoJAP() 
     Dim Number, JAPConversion as Decimal 
     Number = Console.Readline 
     JAPConversion =(Number * 79.9392) 
     Console.Writeline(JAPConversion) 
    End Sub 

    Sub Main() 
     Console.Writeline("Enter the CAN amount: ") 
     CANtoUSD() 
     CANtoJAP() 

    End Sub 

End Module 
+0

포스트는 ** 정확한 ** 오류 메시지. 그리고 그 오류를 생성하는 ** 정확한 ** 코드. –

+0

BC30389 :이 '친구'이며, 그 정확한 코드 때문에 'system.number은'이 컨텍스트에서 액세스 할 수 없습니다. 귀하의 회신을 – user1683391

+0

컴파일 코드에서 누락 "희미한 번호가"있다 주셔서 감사합니다. 첫 번째 "번호"다음의 공간은 이상합니다. 코드를 다시 입력하고 "숫자"대신 "값"을 사용하십시오. –

답변

1

아니 직접 답변에 감사하지만, 코멘트에서 일하는 것보다이 더 많은 공간을 필요로한다.

당신은 당신의 코드에서 기본 설계 오류가 있습니다. 당신은 정말보기 다음과 같습니다을 구조 할 :

Function CANtoUSD(Number As Decimal) As Decimal 
    Dim USDConversion as Decimal = 1.0141 
    Return USDConversion * Number 
End Function 

Function CANtoJAP(Number As Decimal) As Decimal 
    Dim JAPConversion as Decimal = 79.9392 
    Return JAPConversion * Number 
End Function 

Sub Main() 
    Console.Writeline("Enter the CAN amount: ") 
    Dim input As Decimal = Console.ReadLine() 

    Console.WriteLine(CANtoUSD(input)) 
    Console.WriteLine(CANtoJAP(input)) 
End Sub 

당신은 당신의 방법에 대한 책임을 혼합하고 싶지 않아요. 입/출력은 데이터를 조작하는 코드와 엄격하게 구분되어야합니다. 다른 건 몰라도, 이것은 쉽게 특정 변환 방법은 그들이에 가정 정확히처럼 작동하고 버그의 원인이 될 수 없음을 테스트 할 수 있습니다.

나중에 소스 유형과 대상 유형 모두에 대해 키 값을 허용하는 단일 메소드를 사용하는 방법과 변환 계수를 공통으로 인식하여 통화를 다른 것으로 변환하는 테이블 조회를 수행하는 방법을 배우게됩니다 통화.

+0

Joel! 그렇게 많은 도움이되었습니다! – user1683391

관련 문제