본문 바로가기

College Computer Science/C Language21

[C 프로그래밍 실습] 기말고사 문제 1. 다음 내용을 참고로 구조체 fraction을 정의하고, 2개의 분수를 표준입력으로 받아, 두 분수의 사칙 연산을 수행하는 프로그램을 작성하시오. (20점) 구조체 fraction 멤버 구성: 정수형의 분자(numerator)와 분모(denominator) 구조체 변수 선언은 포인터 형으로 한다. 연산식 입력 : 분수1 연산자 분수2 분수와 연산자 사이에는 임의의 공백이 있을 수 있다(뺄셈 연산 참고) 계산 결과후 약분(reduction of fraction)은 불필요(곱셈 연산 결과 참고) 연산은 무한 루프로 실행 2. 다음 파일(in.txt) 내용을 참고하여 구조체를 정의하고, 파일의 내용을 읽어 연결리스트를 구성하시오. 각 학생의 점수의 합을 구하여 아래와 같이 연결리스트를 출력하는 프로그램을 .. 2021. 1. 8.
[C 프로그래밍 실습] 동적 메모리와 전처리 2 (Lab 14) Program 1 : 전처리 함수, 매크로 Program 2 : 전처리 함수, 매크로 Program 3 : 전처리 함수, 매크로, 삼항 연산자 Program 4 : 버블 정렬 Program 5 : 선택 정렬 Program 6 : 삽입 정렬 Program 1 다음을 참고로 매크로 PRINTM(exp)를 정의하여 다음 결과가 나오도록 프로그램을 작성하시오. Dev C++ 의 경우 전처리 연산자(#, #@, ##)는 printf() 인자로 사용할 경우 오류 발생하나, 아래 문제를 해결하기 위한 매크로 정의에는 문제 없음 매크로 PRINTM (exp)는 “Expression: exp = 연산 결과값” 으로 출력 int a = 2; PRINTM(3 * 4 + 3 / a); #include #define PRINT.. 2021. 1. 8.
[C 프로그래밍 실습] 동적 메모리와 전처리 1 (Lab 13) Program 1 : 구조체, 동적 메모리 할당 Program 2 : 이차원 배열, 동적 메모리 할당 Program 3 : 파일 입력, 구조체, 동적 메모리 할당, 연결리스트 Program 4 : 동적 메모리 할당, 연결리스트, 출력 Program 5 : 배열, 연결리스트, 삽입, 삭제, 정렬 Program 1 다음 결과를 참고로 구조체 point와 circle을 정의하고 구조체 circle을 저장할 공간을 동적으로 할당하여 다음 자료를 저장하고 출력하는 프로그램을 작성하시오. 구조체 point : 실수 멤버 x, y 이차원 평면의 좌표로 구성 구조체 circle : 원의 중심 좌표인 point와 반지름인 실수 radius멤버로 구성 원 중심좌표(x,y) 와 반지름을 실수로 차례로 입력 #include .. 2021. 1. 8.
[C 프로그래밍 실습] Report 04 Program 1 다음 내용을 참고로 구조체 employee를 정의하고, 아래 출력 화면의 내용으로 직원 4명의 정보를 초기값으로 설정하여 출력하시오. 그리고 사번 또는 이름과 새로운 인센티브를 입력하여 변경된 연봉을 출력하도록 하는 프로그램을 작성하시오. (Lab 10 동일문제) 구조체 person 멤버의 구성 : 사번, 이름, 전화번호 구조체 employee : 멤버의 구성 : person, 월급, 인센티브 연봉은 구조체의 멤버가 아니며 계산하여 출력 연봉 = 월급 * (12 + 인센티브/100)로 계산 출력 화면 1) 문제 해결 방법에 대한 설명 _Person 구조체와 _Employee 구조체를 만들어 사용 Line 24에서 연봉 직접 계산하여 출력 사용자 정의 함수 : _Employee 구조체 배.. 2021. 1. 8.
[C 프로그래밍 실습] 파일 처리 (Lab 12) Program 1 : 파일 입력 Program 2 : 파일 입력, 데이터 출력 Program 3 : 파일 입력, 파일 같은지 비교하기 Program 4 : 파일 입력, 파일 복사, 파일 생성, 파일 출력 Program 5 : 파일 입력, 데이터 출력, 파일 생성, 파일 출력 Program 6 : 파일 문자, 줄, 단어 수 세기 Program 7 : 파일 크기 구하기 Program 1 다음을 참고로 임의의 입력 텍스트 파일(예: sample.c)을 읽어 파일의 내용을 동일하게 출력하는 프로그램을 작성하시오. 입력 텍스트 파일은 임의의 .c 파일을 하나 선택한다. 함수 fgetc()/getc(), feof(), fprintf() 사용 /* sample.c #define _CRT_SECURE_NO_WARNIN.. 2021. 1. 7.
[C 프로그래밍 실습] 함수와 포인터 활용 2 (Lab 11) Program 1 : 함수 포인터, void 함수 포인터 Program 2 : 가변인자 함수, 자료형 Program 3 : 가변인자 함수, 문자열 연결 Program 4 : 가변인자 함수, 자료형 Program 5 : 함수 포인터, 사칙연산, 0으로 나눌 때, 연산자 오류 Program 6 : void 포인터 배열 Program 1 다음 프로그램에서 문법오류 및 실행오류를 찾아 수정하시오. 아래 코드를 눈으로 분석해 보고, 어떤 부분에서 문제가 있는지 확인후, 코드를 IDE에 복사하여 잘못된 부분 수정하고 컴파일하고 실행해 본다. #include void myprint(int x); int main() { void (*p)(int); p = myprint(); p(2); (*p)(4); return 0;.. 2021. 1. 7.
[C 프로그래밍 실습] 3인 블랙잭 Blackjack 카드 게임 만들기 (Term Project) 1. 주제 : 블랙잭 카드 게임 3인(dealer, player1, player2) 블랙잭 게임을 만드시오. dealer 는 컴퓨터이다. player1 과 player 2 의 이름과 가진 돈의 액수를 입력 받고 게임을 시작한다. 블랙잭 카드 게임 참고 링크 https://blog.naver.com/yjhjr8/221761487128 https://blog.naver.com/ban2yrabbit/221973301777 https://blog.naver.com/leelife77/222060566891 2. 구현해야 하는 기본 기능 카드를 표현하는 자료구조를 만들고, 초기 카드 무늬/숫자 정보로 카드를 초기화한다. 카드를 섞는 함수를 만든다. 카드 게임을 진행하면서 필요한 다양한 기능(카드 분배, 금액 베팅,.. 2021. 1. 7.
[C 프로그래밍 실습] 함수와 포인터 활용 1 (Lab 10) Program 1 : 이차원 배열(행렬) 출력, 더하기, 빼기 함수 Program 2 : 이차원 배열 포인터, 함수 Program 3 : 일차원 배열 최댓값, 최솟값 찾는 함수 Program 4 : 오름차순 정렬 배열 병합 Program 5 : 가변인자 함수 Program 6 : 가변인자 함수 Program 1 두 이차원 배열의 출력, 더하기, 빼기를 수행하는 함수를 만들고, 실행 예를 참고하여 배열의 연산 결과를 출력하는 프로그램을 작성하시오. 아래 내용을 이용하여 함수를 정의 하고 실행 #define ROWS 2 #define COLS 3 typedef double matrixa[ROWS][COLS]; typedef double matrixb[ROWS][COLS]; typedef double resu.. 2021. 1. 6.
[C 프로그래밍 실습] Report 03 Program 1 다음 내용을 참고로 구조체와 열거형을 이용하여 카드 게임을 할 수 있는 기본적인 자료형을 만들어보고, 카드를 나눠주는 프로그램을 작성하시오. 카드는 총 52장 모양 4가지 : "♥(Hearts)", "◆(Diamonds)", "♣(Clubs)", "♠(Spades)" 숫자 13가지 : ace(1)부터 10까지 그리고 jack(11), queen(12), king(13) 3명의 Player에게 7장의 카드를 나누어주는 과정을 다음과 같이 출력하도록 한다 filldeck()- 무늬와 숫자의 52장 카드덱 구성, shuffle() – 카드 섞기, deal() – 카드 분배 순위 결정은 다음 3가지 규칙을 사용한다. (Triple이 가장 높음) Triple = 같은 숫자 3쌍 / Two pai.. 2021. 1. 4.