2014-01-16 2 views
0

사용자가 두 개의 숫자를 넣고 숫자의 더하기, 빼기, 곱하기 및 나눗셈의 결과를 표시하는 프로그램을 Perl에서 만들고 있습니다. 출력을 올바르게 표시하지만 줄 바꿈 문자가 없어도 모든 내용이 새 줄로 바뀝니다. 나는 그것을 사용자 이름과 병합하지 않도록해야했다.기본 수학. 출력이 새로운 라인으로 끝나나요?

print "What is the first number? "; 
$num1 = <>; 
print "What is the second number? "; 
$num2 = <>; 

$add = $num1 + $num2; 
$sub = $num1 - $num2; 
$mult = $num1 * $num2; 
$div = $num1/$num2; 

print "$num1 + $num2 = $add "; 
print "$num1 - $num2 = $sub ";   
print "$num1 * $num2 = $mult "; 
print "$num1/$num2 = $div "; 
print "\n"; 

무엇이 잘못 되었나요? 당신은 STDIN에서 입력을 chomp 필요

+0

당신이 출력의 예에 넣을 수있다. –

답변

8

당신이 <>에서받은 입력 문자열은 사용자가 입력의 끝에 입력 한 줄 바꿈이 포함되어 있습니다.

이 같은 문자열로 간단한 산술을 사용하면 Perl은 숫자 끝에 공백을 무시합니다. 그러나 인쇄 할 때 표시하지 않으려면 먼저 제거해야합니다.

가장 좋은 방법은 chomp입니다. 입력 줄 끝 기호가있는 경우 줄 끝에서 입력 줄 종결자를 제거하고 그렇지 않으면 그대로 둡니다.

이의 관용구는 그것이 얼마나 당신이 그것을 포맷 할 싶습니다 방법,

chomp($num1 = <>); 
+0

감사합니다. 그것을 망쳐 놓은 후에 나는 그것을 내가 원하는 방식대로 작동하게했습니다. Perl을 처음 사용 ... – user3203623

관련 문제