제목이 저런건..
레포트 제목이 저렇더라구요??ㅋㅋ
그래서 내부를 잘 봤는데..?
그냥 swap함수 사용하는 방법이더라구요 ㅋㅋ
swap이 뭔지는 아시죠??
그냥 두개를 바꾸는거에요 ㅋㅋ
1 이랑 2 를 입력하면
2 , 1로 출력을 하는거죠 ㅎ
|
그리고 달력은...
그냥 이거 전 포스팅에 있던 달력을 갔다 쓴듯..?
우선 알고리즘부터 볼까나요~?
사용자에게서 swap을 할껀지 그냥 달력을 출력할건지를 물어서 답을 받구요
swap을 사용하자 하고 싶다면
사용자에게 바꿀 두 수를 입력 받은 다음에 입력받은 두 수를 그냥 교체해서 출력해 주면 되는 단순한 거에요
달력은 말 그대로 달력이구요 ㅋㅋ
소스 투척!
calendar.c #include <stdio.h> #include "calendar.h" void calendar() { int year,month; while(1) { printf ("알고싶은 연도를 입력하세요.\n");//연도 입력받기 scanf("%d",&year); printf ("알고싶은 달을 입력하세요.\n");//월수 입력받기 scanf("%d",&month); printcalendar(year, month); } } void printcalendar(int year, int month) { int week; //변수 선언 int day; int yoon; int a,b,c=0; if(year%4==0&&year%100!=0||year%400==0)//윤년인지 확인함 { yoon = 1;//윤년이다 } else { yoon = 0;//윤년이 아니다 } if(month > 12 || month == 0) //달이 12이상 또는 0일 경우 { printf("잘못된 달을 입력하셨습니다.\n\n");//잘못된 월을 입력했을때 } day = 0; for(a=1;a<=month;a++) // 달의 전달의 날짜를 더해줌 { if(a==2||a==4||a==6||a==8||a==9||a==11)//2 또는 4 또는 6 또는 8 또는 9 또는11 일 경우 { day+=31;//31을 더해줌 } if(a==5||a==7||a==10||a==12)//5또는7또는10또는12 일 경우 { day+=30;//30을 더해줌 } if(a==3) { if(yoon == 1) { day+=29; } else { day+=28; } }// 윤달에는 29을 아니면 28일을 더해줌 } week = (year*365 + year/4 - year/100 + year/400 -1 + day)%7; // 전체 날짜를 더하여 요일을 계산 ................
|
이번엔 소스를 헤더랑 메인이랑 C로 나눠서 했더라구요 ㅋㅋ
헤더는 올리지 않을게요 ㅎㅎ
위에껀 앞에서 보신 포스팅과 거의 비슷한 (아님 똑같은?) 달력 프로그램이엇어요 ㅋㅋ
main.c #include <stdio.h> #include "swap.h" #include "calendar.h" void main(void) { int input = 0; // 함수 선택 변수 while(input != 1 && input !=2) { printf("실행할 함수를 입력하시오\n 1.swap 2.달력\n"); scanf("%d",&input); if(input !=1 && input !=2) { printf("잘못된 입력입니다.\n"); } } if(input==1) // SWAP 실행 { swap(); } else if(input==2) // 달력 출력 실행 { calendar(); } } |
이게 바로 별거 없는 메인이에요 ㅋㅋ
헤더를 따로 만들 땐 저렇게 main함수를 만들어서 따로 관리를 하더라구요 ㅎ
보통 C++이상의 언어에서 많이 사용하는 방법인듯..?
아님 말구요 ..ㅋㅋㅋ
swap.c #include <stdio.h> #include "swap.h" void swap() { int num1,num2; int temp; //swap을 위한 임시 변수 //SWAP 할 두수 입력 printf("처음 수 입력하시오\n"); scanf("%d",&num1); printf("두번째 수 입력하시오\n"); scanf("%d",&num2); // SWAP 되기 전의 상태 출력 printf("swap 전 num1 = %d, num2 = %d \n\n", num1, num2); // SWAP 과정 temp = num1; num1 = num2; num2 = temp; //SWAP 된 후의 상태 출력 printf("swap 후 num1 = %d, num2 = %d \n\n", num1, num2); }
|
이게 스왑함수입니다 ..ㅎ
별거 없죠???
그냥 정말 바꾸면 끝인..
원래 저런걸 더 복잡하게 해서 응용하고 해야 하는데..
저 땐..
이제 막 시작 단계라 그런지..
그냥 바꾸기만 해서 나오면 맞는 거였나봐요 ㅋㅋㅋㅋ
잘 돌아가나 결과화면을 볼까나요 ?
스왑을 실행시켰을 때 나오는 결과화면이에요 ㅋㅋ
정상적으로 잘 바꿔서 나오네요 ㅋㅋ
이건 달력!!
전 포스팅이랑 별다를거 없죠??ㅋㅋㅋㅋㅋ
이번건 별로 그닥 그렇네요 ㅋㅋㅋ
'공부 > C언어' 카테고리의 다른 글
C언어 - 달력 프로그램 만들기 (2) | 2014.01.18 |
---|---|
C언어 - 날 수 구하기 프로그램 (달의 총 일수 구하는 프로그램) (0) | 2014.01.15 |
C언어 - 숫자 야구 게임 프로그램 (0) | 2014.01.15 |
C언어 - 심리테스트 프로그램 (2) | 2014.01.15 |