분류 전체보기

· Language/C
#define _CRT_SECURE_NO_WARNINGS #include struct student { int number; char name[10]; double grade; }; int main(void) { struct stduent s; printf("학번을 입력하시오: "); scanf("%d", &s.number); printf("이름을 입력하시오: "); scanf("%s", s.name); printf("학점을 입력하시오: "); scanf("%f", &s.grade); printf("학번: %d\n", s.number); printf("이름: %s\n", s.name); printf("학점: %f\n", s.grade); return 0; }
· Language/C
구조체를 이용하여 학생 정보를 간편하게 입력하는 알고리즘을 구현해 보았다. #include struct student { int number; char name[10]; double grade; }; int main(void) { struct student s = { 2021350017, "김은서", 4.3 }; printf("학번: %d\n", s.number); printf("이름: %s\n", s.name); printf("학점: %f\n", s.grade); return 0; } 구조체에서 배열을 초기화할 때 두 가지 방법을 사용할 수 있는데, 위처럼 배열을 초기화하는 것처럼 할 수 있고, 아래처럼 .뒤에 붙일 수 있다. s.number = 2021350017; strcpy(s.name, "김은서..
· Language/C
주어진 메뉴를 출력하는 알고리즘을 구현해 보았다. 문자열을 배열로 나타내면 너무 많은 배열의 크기가 필요하기 때문에 포인터를 이용하여 표현한다. 여기서 유의할 점은, 포인터 배열에 문자열이 들어갈 경우 출력할 때 *menu[i]로 하지 않고 menu[i]라고 한다. #include int main(void) { char* menu[5] = { "init", "open", "close", "read", "write" }; for (int i = 0; i < 5; i++) printf("%d 번째 메뉴: %s\n", i, menu[i]); return 0; } 출력하면 다음과 같은 결과가 나온다.
· Language/C
두 점 (x1, y1), (x2, y2)를 지나는 일차함수의 기울기와 y절편을 구하는 알고리즘을 구현해 보았다. #include int get_line_parameter(int x1, int y1, int x2, int y2, float* slope, float* yintercept) { if (x1 == x2) return -1; else { *slope = (float)(y2 - y1) / (float)(x2 - x1); *yintercept = y1 - (*slope) * x1; return 0; } } int main(void) { float s, y; if (get_line_parameter(2, 6, 5, 20, &s, &y) == -1) printf("에러\n"); else printf("기..
· Language/C
배열로 입력받은 값을 거꾸로 출력하는 알고리즘을 구현해보았다. #include void print_reverse(int a[], int n); int main(void) { int a[] = { 10, 20, 30, 40, 50 }; print_reverse(a, 5); return 0; } void print_reverse(int a[], int n) { for (int i = n - 1; i >= 0; i--) { printf("%d\n", a[i]); } } print_reverse 함수를 포인터로 구현할 수도 있다. #include void print_reverse(int a[], int n); int main(void) { int a[] = { 10, 20, 30, 40, 50 }; print_..
· Network
Trunk를 이용한 서로 다른 VLAN 라우팅으로 통신 가능한 네트워크를 구성하려고 한다. 1. 장비 배치하기 먼저, 문제에 나와있는 구성도처럼 장비를 배치한다. 2. 스위치 인터페이스 설정 vlan 10을 만들고 VLAN10이라고 이름을 붙이고, 마찬가지로 vlan 20을 만들어 VLAN20이라고 이름을 붙인다. show vlan을 치면 전체 VLAN이 보인다. vlan 1은 기본적으로 가지고 있는 것이고, vlan 10과 vlan 20이 새로 생성된 것을 알 수 있다. 각 인터페이스 모드에 들어와 fa0/1은 vlan 10, fa0/2는 trunk, fa0/3은 vlan 20과 연결시킨다. 3. 라우터 인터페이스 설정 fa0/0 인터페이스 모드에 들어가 no shutdown을 쳐서 열어준다. 각각의 ..
· Network
서로 다른 VLAN을 이용한 라우팅으로 서로 다른 VLAN을 사용하고 있는 두 PC간의 통신이 가능하도록 네트워크를 구성하려고 한다. 1. 장비 배치하기 먼저, 문제에 나와있는 구조도처럼 장비를 배치한다. 2. 스위치 인터페이스 설정 vlan 10을 만들고 VLAN10이라고 이름을 붙이고, 마찬가지로 vlan 20을 만들어 VLAN20이라고 이름을 붙인다. 각 인터페이스 모드에 들어와 fa0/1과 fa0/3은 vlan 10, fa0/2과 fa0/4는 vlan 20과 연결시킨다. show vlan을 치면 전체 VLAN이 보인다. vlan 1은 기본적으로 가지고 있는 것이고, vlan 10에는 fa0/1과 fa0/3이, vlan 20에는 fa0/2와 fa0/4가 연결된 것을 확인할 수 있다. 3. 라우터 인..
식당, 카페, 미용실 등과 같이 예약 제도를 운영하는 업소에서 사용할 수 있는 예약 변경 프로그램 알고리즘을 파이썬으로 구현해 보았다. #예약 변경 프로그램 reserved_days = [2, 4, 7, 16, 21, 23, 27, 30] #이미 예약이 완료된 날짜 리스트 while True: original = int(input('기존에 예약한 날짜를 입력하세요: ')) #기존에 예약한 날짜 입력받기 if original in reserved_days: break #입력받은 날짜가 예약 완료 날짜 리스트에 포함된게 확인되면 반복문 종료 else: print('예약이 존재하지 않습니다.') #입력받은 날짜가 예약 완료 날짜 리스트에 포함되지 않으면 다시 입력받기 for day in reserved_day..
je1att0
'분류 전체보기' 카테고리의 글 목록 (7 Page)