본문 바로가기

IT STUDY/Language

[기초 C] 학점 계산기 만들기

반응형

 

 

이제 실제로 필요한 프로그램들을 제작해보겠습니다.

엑셀에서 95이상 A+ 90이상 A등 IF문을 이용한 학점 계산 많이보셨을거에요

저희는 for, switch문을 이용하여 학점계산기를 만들어 보아요.

 

 

 

 

들어가기에 앞서... Tip


 

 

 

1. 사용되는 헤더 파일

헤더

설명

함수

studio.h

표준 입출력 라이브러리 함수 정의

printf, scanf, fopen,getc 등

stdlib.h

  정수형의 범위를 나타내는 상수들을 정의

int atol, rand, malloc 등

 

 

 

 

 

 

 

 

 

Switch문을 이용한 학점계산기 만들기


#include <stdio.h>
#include <stdlib.h>

//판단문
int input;
int dataread();
void if_ex(int inputdata);
char if_ex2(int inputdata);
void swithch_ex(int point);
//순환문
void for_ex(int input);
void while_ex(int input);
void do_while_ex(int input);
void bc();

main()
{
    int input;
    char grade;
    //판단문
    input = dataread();
    if_ex(input);
    grade = if_ex2(input);
	 printf("IF로 학점계산 : %c\n",grade);
    swithch_ex(input);
    
    //순환문
    for_ex(input);
    while_ex(input);
    do_while_ex(input);

    //break continue

    bc();
    
    
    
    return EXIT_SUCCESS; //EXIT_SUCCESS = 0, EXIT_FAILURE = 1
}

int dataread()
{
    //int input;

    printf("정수를입력하세요");
    scanf("%d",&input);

    printf("%d\n",input);

    return input;
}

void if_ex(int inputdata)
{
    if(input % 2) printf("홀수\n");
    else printf("짝수\n");
}

char if_ex2(int inputdata)
{
  char grade;
    if((input>=90)&&(input<=100)) grade='A'; 
    else if((input>=80)&&(input<=89)) grade='B';   
    else if((input>=70)&&(input<=79)) grade='C';   
    else if((input>=60)&&(input<=69)) grade='D';  
	else grade='F';

    return grade;
}

void swithch_ex(int point)
{
    char grade;
    int temp;
    temp=point/10;

    switch(temp)
    {
    case 10: case 9: grade= 'A';break;
    case 8: grade= 'B';break;
    case 7: grade= 'C';break;
    case 6: grade= 'D';break;
    default: grade= 'F';break;
    }
    printf("Switch로  학점 계산:%c\n",grade);
}


//순환문
void for_ex(int input)
{
    int i,sum=0,sum1;
    for(i=0;i<=input;i++) //초기값,최종값,증가값
    {
	 printf("%3d",i);
	 sum=sum+i;
    }
    printf("\n"); //putchar('\n');
    printf("입력까지 합:%d\n",sum);
    //입력값까지의 홀수 합 짝수합
    sum=0;
    sum1=0;
    for(i=0;i<=input;i++)
    {
	 if(i%2) sum=sum+i;  
	 else sum1=sum1+i;
    }
    printf("(for문)홀수의 합 %d 짝수의 합 %d\n",sum,sum1);
}

void while_ex(int input)
{
    int i;
    int sum=0;
    
    i=0;//초기 값
    while(i<=input) //조건
    {
	 sum+=i++;
    }//증가치 판단할 조건
    printf("(while문)입력까지의 합:%d\n",sum);
}


void do_while_ex(int input)
{
    int i;
    int sum=0;
    
    i=0;//초기 값
    do{
	 sum+=i++;
    }while(i<=input);
    printf("(do_while문)입력까지의 합:%d\n",sum);
}

void bc()
{
    int i;
    for(i=0;i<=10;i++)
    {
	 if(i==3)break;

	 printf("%d\n",i);
    }
    for(i=0;i<=10;i++)
    {
	 if(i==3)continue;

	 printf("%d\n",i);
    }
}

 

 

 

 

 

[실행 결과]

 

 

 

 

반응형