학교 과제/C프로그래밍
사칙연산하는 프로그램
한 면만 쓴 종이
2021. 12. 3. 15:20
두 개의 숫자와 사칙연산 기호를 입력하면 실행하여 결과를 출력하는 프로그램
조건 - 연산을 하는 소스파일, 입출력하는 소스파일, 함수들을 호출해서 결과를 확인하는 소스파일 만들기
- 헤더파일 만들어서 세 소스파일을 사용할 수 있도록 하기
- 포인터는 사용하지 않기
main.c
#include <stdio.h>
#include "myheader.h" // 함수들이 선언된 헤더파일
double num1, num2; // 사칙연산에 피연산자로 사용되는 수를 저장하는 변수
char tool; // 사칙연산 기호를 저장할 변수
int main() {
myInput(); // 입력을 담당하는 함수 호출
return 0;
}
iofunc.c
#include <stdio.h>
#include "myheader.h" // 함수들이 선언된 헤더파일
//main함수에 있는 전역변수를 가져와서 쓰기
extern double num1, num2;
extern char tool;
// 입력 함수
void myInput() {
printf("숫자와 연산자를 입력하시오 : ");
scanf_s("%lf %lf %c", &num1, &num2, &tool); // 숫자 두 개와 연산기호를 받음
// 연산기호를 비교해서 알맞은 연산 함수 호출
if (tool == '+')
plus(num1, num2);
else if (tool == '-')
minus(num1, num2);
else if (tool == '*')
mul(num1, num2);
else if (tool == '/')
div(num1, num2);
}
// 출력 함수
void myOutput(double res) {
printf("%.2lf", res); // 결과값 출력
}
myfunc.c
#include <stdio.h>
#include "myheader.h" // 함수들이 선언된 헤더파일
//main함수에 있는 전역변수를 가져와서 쓰기
extern double num1, num2;
extern char tool;
void plus(double num1, double num2) { // 더하기 함수
myOutput(num1 + num2); // 계산한 값을 출력함수에 매개변수로 넣어줌
}
void minus(double num1, double num2) { // 빼기 함수
myOutput(num1 - num2); // 계산한 값을 출력함수에 매개변수로 넣어줌
}
void mul(double num1, double num2) { // 곱하기 함수
myOutput(num1 * num2); // 계산한 값을 출력함수에 매개변수로 넣어줌
}
void div(double num1, double num2) { // 나누기 함수
myOutput(num1 / num2); // 계산한 값을 출력함수에 매개변수로 넣어줌
}
myheader.h
#include <stdio.h>
// main함수를 제외한 모든 함수 선언
void myInput();
void myOutput(double res);
void plus(double num1, double num2);
void minus(double num1, double num2);
void mul(double num1, double num2);
void div(double num1, double