게임 프로젝트 # 프로그램 설계 1. 개요 1) 제목 숫자 야구 게임 2) 기능 2) 요구사항 정답을 찾는데 소요된 시간과 횟수 출력 랜덤함수를 이용하여 0~9 사이의 3자리 정수 생성 사용자 입력은 0~999 사이의 정수로 입력 분할 컴파일이 가능하도록 다중 소스 파일 생성 2. 주요 기능 구현 # 코드 분석 1. 헤더 파일 #include #include #include #define STRIKE 2 #define BALL 1 int * check(int*, int* ); void makeUserNum(int *); void makeComNum(int *); int tm_secDiff(time_t , time_t ); int tm_minDiff(time_t , time_t ); 2. 랜덤값 생성 vo..
변환·랜덤 라이브러리 # 변환 라이브러리 1. 데이터 변환 atoi : 문자열을 정수(int)로 변환 atof : 문자열을 실수(double)로 변환 strtof : 실수 문자열을 float형 실수로 변환 strtod : 실수 문자열을 double형 실수로 변환 #include #include int main( void) { printf( “%s = %d\n", “2020” , atoi( “2020” )); printf( “%s = %d\n", “2020Happy new year ”, atoi( “2020Happy new year”)); printf( “%s = %d\n", “Happy new year 2020”, atoi( “Happy new year2020”)); printf( “%s = %d\n",..
주소록 관리 시스템 # 프로그램 설계 1. 프로그램 개요 주소록 관리를 위하여 파일에 보관되며 검색 ∙ 수정 ∙ 삭제가 가능한 시스템 구현 프로그램 구현 시 처리 대상 자료 - 이름 - 나이 - 생년월일 - 젂화번호 - 주소 2. 기능 정의 1) 메뉴 2) 기능 주소록 출력 주소록 검색 주소록 입력 나이 자동계산 3) 요구사항 메뉴 방식으로 작업 선택 보안을 위하여 이진 파일로 데이터 저장 출생연도 입력 시 나이 계산 자동으로 입력 이름순 젂체 출력 이름 검색 후 출력, 수정, 삭제 3. 자료구조 정의 structphone { char name[20]; char phone[14]; intbirth; intage; char addr[50]; }; # 코드 분석 1. 입력 검증 데이터를 입력하지 않고 넘어가..
시간 관련 라이브러리 # 라이브러리 함수 이해 1. 종류 1) 헤더 파일 : time.h clock : 시간 계산 함수 difftime : 두 시간 사이의 차이 계산 mktime : structtm 구조체를통해epoch time을구해내는함수 time : 현재 시간 asctime : 시간구조체를 문자로 변환 ctime : 시간변수를 문자로 변환 gmtime : UTC 시간으로 변환 localtime : 지역 시간으로 변환 strftime : 날짜와시간으로이루어진문자열을structtm으로변환 2. 라이브러리 변수 size_t : 부호 없는 정수형 clock_t : 프로세서 시간 저장 변수 타입 time_t : 캘린더 시간 저장 변수 타입 struct tm : 날짜, 시간 처리 구조체 struct tm { i..
도서관리 시스템 고도화(파일 처리) # 프로그램 설계 1. 고도화 내용 도서 데이터를 텍스트 파일로 저장하여 관리 유효성 검사기능 추가 프로그램 구현 시 처리 대상 자료 - 도서명 - 저자 - 가격 - 판매 수량 - 코드 2. 기능 정의 1)메뉴 2)기능 - 도서 입력 - 도서 출력 - 제목 검색 - 저자 검색(검색 기능키 워드 검색) - 출판연도별 목록 - 출력 베스트셀러 출력 - 데이터 파일로 입출력 3)고도화 내용 - 텍스트 파일에 데이터 저장 - 유효성 검사 추가 4)고도화 방법 struct book { char bookTitle[50]; char bookAuthor[20]; int bookPrice; int bookSale; char bookCode[9]; }; 3. 스트림 # 코드 분석 1. ..
파일 입출력 라이브러리(응용) # 텍스트 파일 입출력 1. fscanf %o : 8진 정수 형식으로 입력 %d : 10진 정수 형식으로 입력 %ld : long형 10진 정수 형식으로 입력 %x : 16진 정수 형식으로 입력 %f : float형 형식으로 입력 %lf : double형 형식으로 입력 %c : 문자 형식으로 입력 %s : 문자열 형식으로 입력 #include int main( void) { FILE *fp; char buf[1024]; int num; float real; if ( fp = fopen( “data.txt”, “r”)) { while( 0 < fscanf( fp, “%d %f %s”, &num, &real, buf)) printf( “%d %f %s\n”, num, real,..
파일 입출력 라이브러리(기초) # 파일 입출력 기초 1. 기초 입출력 대상 : 입력과 출력의 대상이 파일인 경우 파일 입출력 : 텍스트 파일, 이진 파일 2. 입출력 과정 3. 스트림 # 파일 입출력 함수 1. 파일 열기 파일 입출력을 수행 하려면 먼저 fopen함수를 이용하여 파일을 열어야함 fopen 함수의 원형 FILE *fopen(const char *filename, const char *mode); • filename : 파일 이름 • 리턴 값 : 생성된 파일 스트림의 파일 포인터를 리턴, 파일을 열 수 없으면 널 포인터를 리턴 디폴트 모드는 텍스트 파일 “r” :입력용 파일을 연다. 파일이 없으면 열기 실패이다. “w” :출력용파일을연다. :파일이 없으면 새로생성하고, 기존파일이 있으면 파일..
도서관리 시스템 고도화(동적메모리) # 프로그램 설계 1. 고도화 개요 베스트셀러 Top3 도서의 제목을 출력하는 기능 도서 데이터를 동적할당을 이용하여 저장 프로그램 구현 시 처리 대상 자료 • 도서명 • 저자 • 가격 • 판매수량 • 코드 • 베스트셀러 2. 기능 정의 1) 메뉴 2) 기능 도서 입력, 도서 출력, 제목 검색, 저자검색(검색기능키워드검색), 출판연도별 목록 출력, 베스트셀러 출력 3) 고도화 내용 베스트셀러 Top3 출력 동적메모리를 할당하여 저장 연속 입력 기능, 출력 메뉴 연속 사용 기능 4) 고도화 방법 3. 자료구조 정의 1) 자료 2) 자료구조 struct book { char bookTitle[50]; char bookAuthor[20]; int bookPrice; int ..