
게임 프로젝트 프로그램 설계 제목 : 숫자 야구 게임 요구사항: 정답을 찾는데 소요된 시간과 횟수 출력 랜덤함수를 이용하여 0~9 사이의 3 자리 정수 생성 사용자 입력은 0~999 사이의 정수로 입력 분할 컴파일이 가능하도록 다중 소스 파일 생성 주요 기능 구현 * 컴퓨터 숫자 만들기 * 시드함수 SRAND와 랜덤함수 RAND를 이용한 3개의 랜덤값 생성 rand() % 10 * 소요 시간 연산 * time함수를 이용하여 시작과 종료 시점의 시간을 추출 difftime함수를 이용하여 시간차를 추가 연산에 의해 출력 * 분할 컴파일 * 사용자 정의 헤더파일 생성 배열 포인터를 함수의 매개변수로 전달 헤더 파일 #include #include #define STRIKE 2 #define BALL 1 int..

변화·랜덤 라이브러리 변환 라이브러리 데이터변환 항목 내용 함수원형 int atoi(const char *str); double atof(const char *str); 헤더 stdlib.h 기능 •10진 정수 문자열을 정수로 변환 •문자열에서 10진 정수 숫자 문자 뒤의 일반 문자는 취소되며, 10진 정수 숫자 문자까지만 숫자로 변환 •공백 및 10진 정수 문자가 아닌 문자로 시작하면 0을 반환 매개변수 char *str 정수로 변환핛 10진수 정수 문자열 반환값 10진 정수 값 atoi : 문자열을 정수(int)로 변환 atof : 문자열을 실수(double)로 변환 strtof : 실수 문자열을 float형 실수로 변환 strtod : 실수 문자열을 double형 실수로 변환 데이터 변환 #incl..

주소록 관리 시스템 프로그램 설계 : 개요 주소록 관리를 위하여 파일에 보관되며 검색,수적, 삭제가 가능한 시스템 구현 * 프로그램 구현 시 처리 대상 자료 : 이름 , 생년월일, 주소, 나이 , 전화번호 * 유효성 검사를 위하여 다양한 라이브러리 함수를 사용할 수 있음 * 프로그램의 기능 수행을 위한 요구분석을 주의 깊게 수행해야 함 * 현재 시간 등을 반홖하는 함수로 time 함수를 이용할 수 있음 * 이진파일의 입출력은 fread, fwrite를 이용한다 있음 메뉴 방식으로 작업 선택 보안을 위하여 이진 파일로 데이터 저장 출생연도 입력 시 나이 계산 자동으로 입력 이름순 전체 출력 이름 검색 후 출력, 수정, 삭제 시간 변환 * 주소록 입력 * 주소록 출력 * 주소록 검색 * 나이 자동계산 asc..

시간 관련 라이브러리 헤퍼 파일 : time.h 시간 계산 clock : 시간 계산 함수 difftime : 두 시간 사이의 차이 계산 mktime : strcut tm 구조체를 통해 epoch time을 구해내는 함수 time : 현재 시간 시간 변환 asctime : 시간구조체를 문자로 변환 ctime : 시간변수를 문자로 변환 gmtime : UTC 시간으로 변환 localtime : 지역 시간으로 변환 strftime : 날짜와 시간으로 이루어진 문자열을 strct tm으로 변환 라이브러리 변수 변수 설명 size_t 부호 없는 정수형 clock_t 프로세서 시간 저장 변수 타입 time_t 캘린더 시간 저장 변수 타입 struct tm 날짜 , 시간 처리 구조체 tm 구조체 struct tm {..

도서관리 시스템 고도화(파일 처리) 프로그램 설계 고도화 내용 1) 도서 데이터를 텍스트 파일로 저장하여 관리 2) 유효성 검사기능 추가 3) 프로그램 구현 시 처리대상 자료 : 도서명, 간격, 코드, 저자, 판매수량 기능 정의 도서 입력 도서 출력 제목 검색 저자 검색(검색기능 키워드 검색) 출판연도별 목록 출력 베스트셀러 출력 데이터 파일로 입출력 *고도화방법* 텍스트 파일 입출력 : 스트림 생성 후 파일에 쓰기 / 읽기 주사용 분야 : 코드체계 / 빈 입력값 검사 자료 도서명 char bookTitle 저자 char bookAuthor 가격 int bookPrice 판매수량 int bookSale 코드 char bookCode(xxx-xxx) 자료구조 struct book { char bookTit..

파일 입출력 라이브러리(응용) fscanf 항목 내용 함수원형 int *fscanf(FILE *stream, const char *format, ...); 헤더 stdio.h 기능 형식화된 문자열을 파일로부터 입력 매개변수 FILE *stream ->읽고자 하는 FILE포인터 const char *format ->읽어들일 데이터 서식 반환값 읽기에 성공했다면 일어들인 항목 개수를 반환하고 실패나 오류가 발생하면 -1을 반환 변환문자열 내용 %o 8진 정수 형식으로 입력 %d 10진 정수 형식으로 입력 %ld long형 10진 정수 형식으로 입력 %x 16진 정수 형식으로 입력 %f float형 형식으로 입력 %lf douvle형 형식으로 입력 %c 문자 형식으로 입력 %s 문자열 형식으로 입력 #incl..

파일 입출력 라이브러리(기초) 파일 입출력 기초 파일 입출력 : 입력과 출력의 대상이 파일인 경우 입출력 대상 : 텍스트 파일, 이진 파일 입출력 과정 스트림 생성 : 파일 입출력을 위한 스트림을 생성, 파일 포인터, fopen 입출력 : fgets, fgetc, fputs, fread, fwrite 스트림 닫기 : fcloses 파일 입출력 함수 [1]파일 입출력을 수행하려면 먼저 fpoen 함수를 이용하여 파일을 열어야 함 [2]fopen 함수의 원형 FILE *fopen (const char *filename, const char *mode); filename : 파일이름 mdode : 파일 열기 모드 리턴 값 : 생성된 파일 스트림의 파일 포인터를 리턴, 파일을 열 수 없으면 널 포인터를 리턴 [..

도서관리 시스템 고도화(동적 메모리) 프로그램 설계 고도화 개요 1)베스트셀러 TOP3 도서의 제목을 출력하는 기능 2)도서 데이터를 동적할당을 이용하여 저장 : 프로그램 구현시 처리 대상 자료 도서명 가격 코드 저자 판매수량 베스트셀러 기능 정의 메뉴 : 도서 입력, 도서 출력, 도서 검색, 종료 기능 : 도서 입력, 도서 출력, 제목 검색, 저자 검색(검색기능 키워드검색), 출판연도별 목록 출력, 베스트셀러 출력 3)고도화 내용 베스트 셀러 TOP3 출력 동적메모리를 할당하여 저장 연속 입력 기능, 출력 메뉴 연속 사용 기능 4)고도화 방법 베스트셀러 출력 : qsort함수를 이용한 판매수량 정렬 메모리 공간 활용 : 동적 메모리 할당을 이용한 요구 메모리 축소 연속 입,출력 : 무한 반복 루프로 구..

함수 포인터 함수 포인터 이해 기본 개념 1)함수 포인터란? : 함수의 주소를 저장하는 변수 2)필요성 : 프로그램 코드 간결화 배열로 처리함으로써 중복 코드 제거 가능 상황에 따른 함수 호출 함수를 데이터 형태로 처리 ->함수의 보관과 전달이 용이 3)형식 : 리턴타입(*함수 포인터명)(매개변수리스트); 함수 포인터 형식 [1]리턴과 매개변수가 없는 함수에 대한 함수 포인터 #include void hello() { printf(“Hello, world!\n”); } void good() { printf(“Good morning!\n”); } int main() { void(*fp)(); fp = hello; fp(); fp = good; fp(); return 0; } [2]리턴과 매개변수가 있는 함..