2013-07-21 3 views
-2

현재 계산기 응용 프로그램을 작성 중입니다. 이 응용 프로그램의 한 부분은 Windows에서 계산기처럼 작동하는 간단한 계산기입니다 (Windows 8 사용). 그것은 텍스트 상자에 입력 된 숫자를 구문 분석 할 수 있습니다. 그러나 사용자가 5 * * 5와 같은 올바른 양식을 입력하지 않으면 오류가 발생합니다. 이전에 입력 한 문자를 확인하여 해당 연산자가 있는지 확인하고 싶으면 5 */5와 같이 바꿔서 사용자가 입력 할 때 5/5가되도록합니다. 또한 괄호가() 또는() not()와 같은 올바른 순서로되어 있는지 확인해야합니다. (확인해야 할 다른 것은 입력되는 숫자에 하나의 소수점이 있어야한다는 것입니다 (예 : 4.38585 + 5.32948) 나는 이미 키 엔트리를 숫자와 연산자만으로 제한했다. 나는 이것을 얼마 전에 확인했지만 아무런 해결책을 찾지 못했다.C# 계산기 텍스트 입력 유효성 검사

+3

일부 코드를 표시하십시오. – Thousand

+2

일부보기 귀하의 코드 –

+2

당신이 우리에게 당신의 일을하도록 요청하는 것에 관해서는 당신이 조금 게으른 것처럼 보입니다. 당신은 당신이 필요로하는 것을 알고 당신에게 우리에게 묻고 싶습니다. 만약 당신이 작전을 위해 숯을 넣고 새로운 작동 숯 그때 당신은 5 */5 문자열을 처리 할 수 ​​ –

답변

1

사용자가 표현식을 입력하고 그를 만들 수있게하려면 "계산"버튼을 누르면, 즉시 검증하지 말아야한다. 사용자는 실수로 실수를하지 않도록한다. 사용자가 입력 한 텍스트를 다시 편집하고 편집하기를 원할 것이다. 불가능하거나 불량합니다.

예를 들어 사용자가 4.35*7.29.

그런 다음 그는 그가 나눌 것을 알고 있습니다. 그러나 편집 규칙을 사용하면 *을 삭제할 수 없으므로 유효하지 않은 숫자가됩니다. 그리고 그는 /을 먼저 입력 한 다음 삭제하면 /* 또는 */이 모두 유효하지 않으므로 삭제할 수 없습니다. 편집시 임시 유효하지 않은 표현식을 허용 하시겠습니까? 사용자가 타이핑 할 때 허용하지 않습니까? 이는 일관성이 없으며 평가자가 오류 검사를 다시 수행하고 사용자에게 알리는 것을 막지 못합니다.

원하는 경우 숫자와 연산자에 대한 키 입력을 제한하고 사용자가 입력 한 양식의 유효성을 검사하지는 마십시오. 그가 원하는 경우 입력하십시오 **) 9 (// 원하는 경우 사용자가 계산 단추를 누른 후 파싱 할 때 오류를 처리하십시오.

이제 응용 프로그램이 Windows Calculator와 같이 작동한다면 사용자가 값과 연산자를 입력 할 때 누적 합계는 다른 문제입니다.하지만 당신이 말하는 것은 실망 할뿐입니다. 사용하지 않으려 고합니다.