학교 과제/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