본문 바로가기

전체 글

(98)
[인프런|5강] C로 배우는 자료구조 | 전화번호부 v2.0 전화번호부 v2.0 전화번호부 v1.0(4강)에 더해 파일로 저장 및 로드, 알파벳 순 정렬 기능을 추가한다 자료구조는 v1.0과 동일하며 load, save 함수가 추가된다. #include .. #define CAPACITY 100 #define BUFFER_SIZE 100 char * names[CAPACITY]; char * numbers[CAPACITY]; int n = 0; void load(); void add(); void find(); void status(); void remove(); void save(); int main() { char buffer[BUFFER_SIZE]; while (1){ printf("$ "); scanf("%s", buffer); if (strcmp(comm..
[인프런|4강] C로 배우는 자료구조 | 전화번호부 v1.0 전화번호부 v1.0 위와 같이 동작되도록 전화번호부 프로그램을 만든다. add, find, status, delete 등의 동작 구현 코딩 이전에 어떤 자료구조로 저장할지 프로그램의 자료구조를 먼저 생각해야한다. - 어떤 데이터를 다루고 유지해야 하는지 생각 전화번호부 v1.0의 경우 1. 내부적으로 저장해야하는 데이터는 여러사람의 이름, 전화번호 char * 타입의 names[], numbers[]를 선언 전화번호의 경우 '-' 기호를 사용하며 0으로 시작하는 경우 정수형일때 0이 빠지므로 문제가 된다. 그래서 char 타입을 사용한다. #include .. #define CAPACITY 100 #define BUFFER_SIZE 100 char * names[CAPACITY]; char * numbe..
[인프런|3강] C로 배우는 자료구조 | 문자열 연습문제 문자열 연습문제 위와 같은 결과를 만드는게 목표 #define BUFFER_SIZE 20 int main(void) { char buffer[BUFFER_SIZE]; while(1) { printf("$ "); //scanf(buffer); scanf는 공백 문자 기준으로 끊기 때문에 공백을 포함한 문장에 쓸 수 없음 //gets(buffer); gets는buffer에 담을 수 있는 길이 상관없이 담는 문제가 있다. //fgets(buffer, BUFFER_SIZE, stdin); BUFFER_SIZE만큼 읽는다. 단, \n, buffer size 초과시 원하는 대로 반영이 제대 로 안됨 // buffer[strlen(buffer)-1] = '\0'; fgets를 쓸때 buffer[strlen(buffe..