C 언어 가 간단 한 계산기 기능 실현(2)
이전에 switch 문장 으로 간단 한 계산기 의 기능 을 완 성 했 습 니 다.다음은 if 문장 과 while 순환 문장 으로 간단 한 계산기 의 프로 그래 밍 을 실현 하 겠 습 니 다.
요청:
간단 한 계산 기 를 실현 합 니 다.구체 적 인 코드 는 다음 과 같 습 니 다.
#include <stdio.h> //
void main()
{
char a = 0; //
int x, y; //
int result = 0;
char b = 37;
while(1) // whiel
{
printf("*** ***
");
printf("+
");
printf("-
");
printf("*
");
printf("/
");
printf("%c
",b);
printf("q
");
printf(" :");
scanf("%c",&a);
if('+'==a) //
{
printf(" ( ):");
scanf("%d%d",&x,&y);
result = x+y;
printf("result=%d
",result);
continue;
}
else if('-'==a) //
{
printf(" ( ):");
scanf("%d%d",&x,&y);
result = x-y;
printf("result=%d
",result);
continue;
}
else if('*'==a) //
{
printf(" ( ):");
scanf("%d%d",&x,&y);
result = x*y;
printf("result=%d
",result);
continue;
}
else if('/'==a) //
{
printf(" ( ):");
scanf("%d%d",&x,&y);
result = x/y;
printf("result=%d
",result);
continue;
}
else if('%'==a) //
{
printf(" ( ):");
scanf("%d%d",&x,&y);
result = x%y;
printf("result=%d
",result);
continue;
}
else if('q'==a) //
{
printf("+++ +++
");
break;
}
else
{
printf(" , !
");
continue;
}
}
}
이렇게 해서 간단 한 계산기 프로그램 을 완 성 했 습 니 다.형식 은 제 가 쓴 과 같이 기호 로 대응 하 는 조작 을 선택 할 뿐 원리 가 일치 합 니 다.다음은 프로그램 이 실 행 된 결 과 를 살 펴 보 겠 습 니 다.다음 과 같 습 니 다.결 과 를 통 해 우 리 는 선택 작업 을 한 후에 두 개의 숫자 와 결 과 를 구 한 후에 결과 가 나 왔 다 는 것 을 알 게 되 었 으 나 위의 빨간색 사각형 의 내용 을 많이 보 여 주 었 으 니 그 효 과 를 시험 해 보 세 요.한눈 에 문제 가 있 음 을 알 수 있 습 니 다.이 문제 에 대해 저 는 디 버 깅 과 단계별 추적 을 했 는데 다음 순환 에서 문 구 를 발 견 했 습 니 다.
scanf("%c",&a);
자동 으로 줄 바 꾸 기 동작 을 입력 합 니 다.생각해 보 니 문 자 를 입력 할 때 구문 scanf("%c",&a)를 통 해문 자 를 입력 하 였 으 나,우 리 는 차 를 되 돌 릴 것 입 니 다.이것 은 이 리 턴 이 캐 시 에 남아 있 습 니 다.다음 에 문 자 를 입력 해 야 할 때 자동 으로 입력(개인 이해)을 할 것 입 니 다.그러면 빨간색 사각형 에 있 는 정보 가 자동 으로 나타 날 것 입 니 다.그러면 우 리 는 코드 를 수정 해 야 합 니 다.정확 한 표 시 를 완 료 했 습 니 다.수 정 된 코드 는 다음 과 같 습 니 다.
#include <stdio.h> //
void main()
{
char a = 0; //
int x, y; //
int result = 0;
char b = 37;
while(1) // whiel
{
printf("*** ***
");
printf("+
");
printf("-
");
printf("*
");
printf("/
");
printf("%c
",b);
printf("q
");
printf(" :");
scanf("%c",&a);
if('
' == a) // ,
{
scanf("%c",&a);
}
if('+'==a) //
{
printf(" ( ):");
scanf("%d%d",&x,&y);
result = x+y;
printf("result=%d
",result);
continue;
}
else if('-'==a) //
{
printf(" ( ):");
scanf("%d%d",&x,&y);
result = x-y;
printf("result=%d
",result);
continue;
}
else if('*'==a) //
{
printf(" ( ):");
scanf("%d%d",&x,&y);
result = x*y;
printf("result=%d
",result);
continue;
}
else if('/'==a) //
{
printf(" ( ):");
scanf("%d%d",&x,&y);
result = x/y;
printf("result=%d
",result);
continue;
}
else if('%'==a) //
{
printf(" ( ):");
scanf("%d%d",&x,&y);
result = x%y;
printf("result=%d
",result);
continue;
}
else if('q'==a) //
{
printf("+++ +++
");
break;
}
else
{
printf(" , !
");
continue;
}
}
}
코드 에서 볼 수 있 듯 이 우 리 는 원래 의 코드 에 조건 판단 만 추가 하면 위의 문 제 를 해결 할 수 있 고 추가 한 코드 는 다음 과 같다.
if('
' == a) // ,
{
scanf("%c",&a);
}
이렇게 하면 상술 한 문 제 를 해결 하고 그 결 과 를 살 펴 보 겠 습 니 다.위의 그림 과 차이 가 있 는 것 을 볼 수 있 습 니 다.이렇게 하면 우리 가 디자인 하고 자 하 는 계산기 요구 에 도달 할 수 있 습 니 다.코드 를 자세히 읽 고 모든 줄 의 코드 가 완 성 된 기능 을 알 고 복사 붙 여 넣 지 마 십시오.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C 언어 체인 시계는 뱀을 탐식하는 작은 게임을 실현한다본고의 실례는 여러분에게 C 언어 체인표가 뱀 탐식 게임을 실현하는 구체적인 코드를 공유하여 참고하도록 하였으며, 구체적인 내용은 다음과 같다. 프로젝트 이름: 뱀놀이 운영 환경: Linux 프로그래밍 언어: C 언...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.