본문 바로가기

C언어

C 일정관리 프로그램 소스코드 #include #include void main() { char calendar[5*12][31*200]; /*세로에 년과 월정보, 가로에 최대 31일에 대한 내용값 (년-2008)*12+(달-1)=값을 세로에 배정 (일-1)*200을 가로에 배정 re start!! 본래 4번에 배정되었던 검색하기 기능은 그냥 날짜설정하고 확인하기로 할수 있으므로 제외시킴*/ char *pData; char temp[4],text[200]; int i,pos,len,value,year,month,day; FILE *file; for(i=0;i<5*12;i++)//배열 내부값 초기화 memset(calendar[i],0,31*200); pData=calendar[0]; wh.. 더보기
[C 언어] 달력만들기 /**************************************************************** >> 달력만들기 프로그램 - 년도, 월을 입력 받음 - 월의 일수를 구해야 함 - 월의 첫째 날(예: 5월 1일, 3월 1일)의 요일을 구해야 함 => getWeekDay()함수 사용하세요 - 달력을 화면에 표시해주어야 함 >> 출력 예 <2007년 5월> ========================== 일 월 화 수 목 금 토 ========================== 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ========================== *********.. 더보기
C언어는 날짜/시간 구하기 C언어는 날짜/시간을 구할 때 하나의 함수로만 되는 것이 아니라, 다음과 같이 약간 복잡합니다. time() 함수로, 현재 경과된 초(sec), 즉 "유닉스 시간"을 구한 후, 그것을 localtime() 함수로 연월일 시분초로 분리하여 구조체에 저장합니다. C에서, 오늘 시각/날짜 (현재 날짜, 시간) 출력 예제#include #include void main(void) { time_t timer; struct tm *t; timer = time(NULL); // 현재 시각을 초 단위로 얻기 t = localtime(&timer); // 초 단위의 시간을 분리하여 구조체에 넣기 printf("유닉스 타임 (Unix Time): %d 초\n\n", timer); // 1.. 더보기
C언어 달력 - 알고리즘포함 (윤년계산) C언어 달력 - 알고리즘포함 (윤년계산) 윤년 계산은 아래의 공식을 이용해서 푼다. if( year%4==0 && ( year%100!=0 || year%400==0 ) ) {윤년 }else {윤년 아님 } ........ =============================소스=========================== #include #include // 기준일 1980년 1월 1일 화요일 #define YEAR 1980 #define MONTH 1 #define DAY 1 #define WEEK 1 // 0 : Monday ... 5 : Saturday // 지정한 해가 윤년인지를 체크 (윤년이면 2월이 29일까지, 아니면 28일까지) int CheckYU.. 더보기
C언어 :: 동적할당 : malloc calloc realloc free 1. malloc - malloc함수의 리턴값은 요구한 메모리를 얻으면 메모리의 시작주소를 리턴해주고 얻지 못하는 경우에는 NULL을 리턴해 준다. NULL은 주소값이 없다는 것을 뜻한다. char *p; p=(char *)malloc(10 * sizeof(char)); 2. malloc과 calloc의 차이 - malloc함수는 요구한 메모리를 초기화 하지 않는 반면에 calloc함수는 요구한 메모리의 값을 0으로 초기화 해준다 char *pmem; pmem = (char *)calloc(10,sizeof(int)); 3. realloc realloc함수는 할당 받은 메모리의 크기를 변경하기 위한 함수이다. 재할당 받는 함수이다. 메모리의 크기를 크게하던 작게하던 상관은 없다. 다만 재 할당을 받아도 .. 더보기
C언어 :: #define에 관한 이야기(#, ##, \) #define에 관한 이야기(#, ##, \) 매크로를 만들 때만 사용할 수 있는 지시어가 있는데, 바로 ##과 \이다. ##은 함수와 같은 매크로에서만 사용하는 것으로 두가지 인수를 연결시켜 버리는 기능을 한다. 예를 들어 #define MACRO(a, b) a##b 이렇게 매크로를 만들었다고 하자. 프로그램에서 이 매크로를 a = MACRO(First, Last); 이렇게 사용했다면 실제로는 두 인수 First와 Last가 연결되어 a = FirstLast; 이렇게 되는 것이다. \는 매크로의 내용이 너무 길 때 여러줄에 쓰기 위해 필요한 것이다. 줄 맨 끝에 \를 붙여 주면 그 아래 줄에 계속 연결하여 쓸 수 있게 된다. 예를 들어 #define MACRO(a, b, c) a = b + c; pri.. 더보기
C언어 :: 전처리문의 종류(#include, #define, #ifdef, ... ) 전처리문의 종류(#include, #define, #ifdef, ... ) 전처리문이란? 실질적인 컴파일 이전에 미리 처리되는 문장을 가리킨다. 선행처리기라고도 한다. 따라서 컴파일러는 사용자가 작성한 코드를 컴파일하기 전에 전처리문에서 정의해 놓은 작업들을 먼저 수행한다. 종류로는 #define, #if, #ifdef, #ifndef, #defined, #undef 등이 있다. 이것은 기존에 있는 방대한 소스 코드를 지우지 않고 활성화 비활성화 하는 데에 가장 많이 이용된다. 즉, 기존에 있는 소스 코드를 건드리지 않는 상태에서 부분적인 컴파일을 하는 것이다. C의 전처리문이 오는 줄(Line)의 첫 문자는 항상 '#'으로 시작한다. ANSI 표준에 따른 C의 전처리문의 종류가 아래에 나와 있다. - .. 더보기
[C언어] 함수 - 정의 0 함수 프로그래밍이라는 것은 컴퓨터로 하여금 특정 기능들을 수행하도록 하는 일련의 과정을 말합니다. 여기에서 각각의 기능들이 실제 소스에서 함수로 구현하게 되는데 C언어로 작성된 프로그램에서 실제 컴퓨터가 수행하는 구문은 모두 함수내에 정의하게 됩니다. 이번 장에서는 먼저 함수에 대한 기본 문법사항과 함수를 만드는 과정, 그리고 해당 함수를 사용하는 방법에 대해 학습을 하기로 합시다. 1 함수의 정의 우리는 이미 많은 형태의 함수에 대해 알고 있습니다. 산수에서 블랙박스라든지 중고등학교의 수학에서 y = x+2, 혹은 f(x)= x+2 등 뿐만이 아니라 특정 재료를 넣고 어떤 상품을 만들기 위한 기계 등 많은 곳에서 함수의 모습을 찾아 볼 수가 있습니다. C언어에서는 다음과 같은 포맷으로 함수를 정의를.. 더보기