purposeforblogging의 등록된 링크

키자드에 등록된 총 211개의 포스트를 확인하실 수 있습니다.

Naver Blog

이것이 C#이다 3장 연습문제 1.

문제 다음과 같이 사용자로부터 사각형의 너비와 높이를 입력받아 넓이를 계산하는 프로그램을 완성하세요 다름 코드 중 주석 부분을 바꾸면 됩니다. 실행 결과: 사각형의 너비를 입력하세요. 30 사각형의 높이를 입력하세요. 40 사각형의 넓이는 1200. 내가 짠 코드 using System;namespace RectArea{ class MainApp { public static void Main() { Console.WriteLine("사각형의 너비를 입력하세요."); string width = Console.ReadLine(); Console.WriteLine("사각형의 높이를 입력하세요."); string height = Console.ReadLine(); int S = int.Parse(width)*int.Parse(height); Console.WriteLine($"사각형의 넓이는 {S}."); } }}

Naver Blog

이것이 C#이다 3장 연습문제 2

문제 다음 코드에서 잘못된 부분을 찾고, 그 이유를 설명하세요. int a = 7.3; float b = 3.14; double c = a * b; char d = "abc"; string e = '한'; 이유 float b=3.14; =>float b=3.14f; 로 바뀌어야 하고, char d="abc"; 는 하나의 문자만 저장할 수 있기 때문에 잘못되었다.

Naver Blog

이것이 C#이다 3장 연습문제 3

문제 값 형식과 참조 형식의 차이는 무엇인가요? 답 값 형식은 스택에 데이터를 저장하고, 참조 형식은 힙에다 데이터를 저장하고, 스택에다 데이터 주소를 저장한다.

Naver Blog

이것이 C#이다 3장 연습문제 4

문제 박싱과 언박싱을 설명하세요. 참조 형식 중 하나인 object는 모든 형식의 기본 클래스이기 때문에 어떤 형식의 데이터든 저장할 수 있는데, 이때 object형식에 값 형식의 데이터를 저장할 경우, 값 형식의 데이터를 박싱하여 스택이 아닌 힙에 저장을 한다. 언박싱이란 object a=20; //참조 형식, int형 데이터를 박싱하여 힙에 저장 int b=(int)a; //힙에 박싱되어있는 int형 데이터를 복사 후, 언박싱하여 스택에 저장 위의 코드처럼 힙에 있는 값 형식의 데이터를 스택으로 옮길 때 박스를 복사 후, 언박싱하여 옮긴다.

Naver Blog

이것이 C#이다 3장 연습문제 5

문제 다음 코드를 컴파일한 후의 a와 b는 각각 어떤 데이터 형식이겠습니까? var a = 2020; var b = "double"; 답 a : 값 형식 b : 참조 형식

Naver Blog

이것이 C#이다 4장 연습문제 1

문제 i++와 ++i의 차이점은 무엇인가요? 답 i++는 i++가 속한 줄의 코드를 실행한 후에 i의 값이 1 증가하는 것이다. 반면에 ++i는 ++i가 속한 줄의 코드가 실행될 때 i의 값이 1 증가하는 것이다.

Naver Blog

이것이 C#이다 4장 연습문제 2

문제 다음 보기 중에서 그 결과가 다른 것을 찾으세요 (변수 i를 초기화해서 각 보기를 실행해보면 그 결과가 나옵니다. 고민을 좀 해본 후에 답을 확인해보세요.) 1. i=i+1; 2. i++; 3. ++i; 4. i+=1; 답 2번

Naver Blog

이것이 C#이다 4장 연습문제 3

문제 다음 코드에서 a와 b는 각각 얼마일까요? int a = 8 >> 1 int b = a >> 2; 답 a : 4 b : 1

Naver Blog

이것이 C#이다 4장 연습문제 4

문제 다음 코드에서 a는 얼마일까요? int a = 0xF0 | 0x0F; 답 255 풀이 0이 붙으면 8진수, 0x가 붙으면 16진수 (16진수)0xF0 => (2진수) 1111 0000 (16진수)0x0F => (2진수) 0000 1111 |는 OR 연산자 이므로 0xF0 | 0x0F => 1111 1111 = 2^8-1 =256-1 = 255 이다

Naver Blog

이것이 C#이다 4장 연습문제 5

문제 다음 코드에서 b는 어떤 값을 가질까요? int a = 10; string b = a == 0 ? "가나다" : "ABC"; 답 ABC

Naver Blog

명품 C++ programming 13장 실습문제 2번

문제 0~100점 사이의 점수를 입력받아 학점을 F(60 미만), D(70 미만), C(80 미만), B(90 미만), A(100 이하)로 출력하는 프로그램을 작성하라. 점수가 0~100 사이가 아닌 경우 예외로 처리하라. #include<iostream>using namespace std;int main() { int input = 0; cout << "0~100점 사이의 점수를 입력하시오: "; cin >> input; try { if (60 > input && 0 <= input) cout << "F 학점입니다." << endl; else if (70 > input && 0 <= input) cout << "D 학점입니다." << endl; else if (80 > input && 0 <= input) cout << "C 학점입니다." <&l.......

Naver Blog

명품 C++ programming 13장 실습문제 3번

문제 0에서 9 사이의 정수를 키보드에서 입력받아 리턴하는 get() 함수의 원형은 다음과 같다. int get() throw(char*); get() 함수는 사용자가 0에서 9 사이의 값을 입력하지 않는 경우 문자열("input fault")의 예외를 발생시킨다. get() 함수를 작성하라. get() 함수를 이용하여 두 개의 정수를 키보드로부터 입력받아 두 수의 곱을 출력하는 main() 함수를 작성하라. main() 함수는 while 문을 무한 반복한다. 0~9 사이의 정수 입력 >> 50~9 사이의 정수 입력 >> 65X6=300~9 사이의 정수 입력 >> 70~9 사이의 정수 입력 >> -2input fault 예외 발생, 계산할 수 없음0~9 사이의 정수 입력 >> 40~9 사이의 정수.......

Naver Blog

명품 C++ programming 13장 실습문제 4번

문제 다음 코드에서 getFileSize() 함수는 매개 변수에 NULL이 넘어오면 -1을, 파일을 열수 없으면 -2를 리턴하고, 정상적인 경우 파일 크기를 리턴한다. #include<iostream>#include<fstream>using namespace std;int getFileSize(const char* file) { if (file == NULL) return -1; // file이 NULL 포인터이면 -1 리턴 ifstream fin(file); if (!fin) return -2; // 열기가 실패하면 -2 리턴 fin.seekg(0, ios::end); int length = fin.tellg(); return length;}int main() { int n = getFileSize("c:\\windows\\system.ini"); cout << "파일 크기 = " << n << endl; // 파일 크기 = 219가 출력됨 int m = getFi.......

Naver Blog

명품 C++ programming 13장 실습문제 5번

문제 다음은 정수를 입력받아 구구단을 출력하는 프로그램이다. 그런데 이 프로그램은 1~9가 아닌 정수가 입력되는 것을 걸러내지 못하고, 특히 문자가 입력되면 무한루프에 빠지게 된다. #include<iostream>using namespace std;int main() { int n; while (true) { cout << "양수입력>> "; cin >> n; for (int i = 1; i <= 9; i++) cout << n << 'x' << i << '=' << n * i << ' '; cout << endl; }}다음과 같이 실행되도록 try-throw-catch를 이용하여 이 프로그램을 수정하라. 양수입력>> 55x1=5 5x2=10 5x3=15 5x4=20 5x5=25 5x6=30 5x7=35 5x8=40 5x9=45양수입.......

Naver Blog

명품 C++ programming 13장 실습문제 6번

문제 다음 원형과 조건을 가진 concat() 함수를 작성하라. int* concat(int a[], int sizea, int b[], int sizeb); concat() 함수는 배열 a와 배열 b를 연결한 새로운 배열을 생성하여 리턴한다. 그러나 만일 메모리가 부족하거나, 배열 a나 b가 NULL 이거나, sizea나 sizeb가 양수가 아닌 경우 int 타입의 예외를 발생시킨다. concat() 함수를 활용하는 코드와 실행 결과는 다음과 같다. int main() { int x[] = { 1,2,3,4,5 }; int y[] = { 10,20,30,40,50 }; try { int* p = concat(x, 5, y, 4); // 5 대신에 0을 입력하면 예외가 발생 for (int n = 0; n < 9; n++) cout << p[n] << ' '; cout << endl; delete[]p; } ca.......

Naver Blog

명품 C++ programming 13장 실습문제 7번

문제 예제 12-7의 파일 복사 프로그램을 예외 처리 코드를 삽입하여 수정하라. #include <iostream>#include <fstream>using namespace std;int main() { // 소스 파일과 목적 파일의 이름 const char* srcFile = "c:\\temp\\desert.jpg"; const char* destFile = "c:\\temp\\copydesert.jpg"; // 소스 파일 열기 ifstream fsrc(srcFile, ios::in | ios::binary); if(!fsrc) { // 열기 실패 검사 cout << srcFile << " 열기 오류" << endl; return 0; } // 목적 파일 열기 ofstream fdest(destFile, ios::out | ios::binary); if(!fdest) { // 열기 실패 검사 cout << destFile << " 열기 오류"<&l.......

Naver Blog

명품 C++ programming 13장 실습문제 8번

문제 try-catch 블록을 사용하면, 프로그램 내 오류 검사 if 문으로 인해 반복되고 길어지는 코드를 간소화할 수 있다. 다음 함수 copy()는 int [] 배열을 복사하여 복사본 배열의 포인터를 리턴한다. 복사가 여의치 않는 경우 참조 매개 변수인 failCode에 적절한 오류 코드를 삽입하고 NULL을 리턴한다. copy() 함수의 원형을 int* copy(int* src, int size);로 고치고 copy()와 main() 모두 try-catch 블록을 이용하여 수정하라. 코드가 튼튼하고 단순해진다. #include<iostream>using namespace std;int* copy(int* src, int size, int& failCode) { int* p = NULL; if (size < 0) { failCode = -1; // too small return NULL; .......

Naver Blog

명품 C++ programming 13장 실습문제 9번

문제 다음은 C 코드로서 get.c 파일에 저장되어 있다. #include<stdio.h>int get() { int c; printf("숫자를 입력하세요>>"); scanf_s("%d", &c); return c;}get() 함수를 호출하여 두 정수를 키보드로부터 입력받아 아래 실행 화면과 같이 곱을 출력하는 프로그램을 mul.cpp 파일로 저장하고, get.c와 mul.cpp 파일로 구성되는 프로젝트를 작성하라. 실행결과 숫자를 입력하세요>>5 숫자를 입력하세요>>60 곱은 300입니다. 내가 짠 코드 #include<iostream>extern "C" {#include"get.h" }// 다른 방법// extern "C" int get();int main() { int a = 0, b = 0; a = get(); b = get(); std::cout << "곱.......

Naver Blog

명품 C++ programming 13장 실습문제 10번

문제 다음 printline(int count) 함수는 한 줄에 count 개의 '*'를 출력하는 함수이다. #include<stdio.h> void printline(int count) { int n; for (n = 0; n < count; n++) printf("*"); printf("\n"); } 이 함수를 print.c 파일에 저장하라. 그리고 printline()을 호출하여 다음과 같이 화면에 출력하는 프로그램을 pr.cpp 파일로 작성하고, print.c와 pr.cpp 파일로 구성되는 프로젝트를 생성하여 실행하라. 실행결과 * ** *** 내가 짠 코드 #include<iostream>using namespace std;extern "C" void printline(int count);int main() { printline(1); printline(2); printline(3);}

Naver Blog

명품 C++ programming 12장 실습문제 8번(수정)

문제 c:\windows\system.ini 파일을 읽어 아래와 같이 Edit plus처럼 16진수와 문자로 출력하는 프로그램을 작성하라. <실행 결과> c:\windows\system.ini 출력3b 20 66 6f 72 20 31 36 2d 62 69 74 20 61 70 70 ; f o r 1 6 - b i t a p p20 73 75 70 70 6f 72 74 0d 0a 5b 33 38 36 45 6e s u p p o r t . . [ 3 8 6 E n68 5d 0d 0a 77 6f 61 66 6f 6e 74 3d 64 6f 73 61 h ] . . w o a f o n t = d o s a70 70 2e 66 6f 6e 0d 0a 45 47 41 38 30 57 4f 41 p p . f o n . . E G A 8 0 W O A2e 46 4f 4e 3d 45 47 41 38 30 57 4f 41 2e 46 4f . F O N = E G A 8 0 W O A . F O4e 0d 0a 45 47 41 34 30 57 4f 41 2e 46 4f 4e 3d N . . E G .......

Naver Blog

명품 C++ programming 12장 실습문제 9번

문제 텍스트 파일을 모두 읽어 다음과 같이 라인을 출력하는 프로그램을 작성하라. 아래는 c:\windows\system.ini를 사용한 사례이다. C:\windows\system.ini 파일 읽기 완료라인 번호를 입력하세요. 1보다 작은 값을 입력하면 종료 : 1; for 16-bit app support //라인 1 출력 : 6CGA80WOA.FON=CGA80WOA.FON : 10wave=mmdrv.dll : 30 //라인 30없음 : 13[mci] : -1종료 합니다. 내가 짠 코드 #include<iostream>#include<vector>#include<fstream>#include<string>using namespace std;int main() { ifstream fin("c:\\windows\\system.ini"); int input = 1; string temp; vector<string> v; if (!fin) { cout &.......

Naver Blog

명품 C++ programming 12장 실습문제 10번

문제 두 파일이 같은 지 비교하는 FileCompare 프로그램을 만들어라. 바이너리 I/O를 이용하여야 한다. 두 개의 이미지 파일을 준비하고 테스트 하라. 내가 짠 코드 #include<iostream>#include<vector>#include<fstream>#include<string>using namespace std;int main() { ifstream fin("c:\\windows\\system.ini"); int input = 1; string temp; vector<string> v; if (!fin) { cout << "c:\\windows\\system.ini 열기 오류" << endl; } while (getline(fin, temp)) { v.push_back(temp); } cout << "C:\\windows\\system.ini 파일 읽기 완료" << endl; cout << "라인 번호를 입.......

Naver Blog

명품 C++ programming 12장 OpenChallenge(최적화 필요)

문제 간단한 행맨 게임을 만들어보자. 프로그램은 사용자 모르게 영어 단어 하나를 선택하고 몇 개의 글자를 숨긴 다음 화면에 출력하여, 사용자에게 이 단어를 맞추게 하는 게임이다. 숨긴 글자의 개수가 많을수록 난이도가 높다. 이 도전 주제에서는 2개의 글자만 숨기도록 하라. 한 단어에서 5번 틀리면 프로그램을 종료하라. 행맨 프로그램에 사용되는 단어 파일은 독자들에게 배포된 words.txt 파일을 이용하라. 이 파일에는 한 줄에 하나의 영어 단어만 적혀있다. --------------------------------------지금부터 행맨 게임을 시작합니다.----------------------------------------nom>>vv-nom>>evenomNext(y/n)?yata-i-tic&g.......

Naver Blog

명품 C++ programming 12장 실습문제 12번

문제 단어가 들어 있는 words.txt 파일을 읽어 단어 별로 vector<string>에 저장하고, 단어를 입력받아 오직 한 글자만 다른 단어를 모두 출력하라. 틀린 단어가 입력되면 '단어 없음'을 출력하라. "exit"을 입력하면 프로그램을 종료하라. ... words.txt 파일 로딩 완료검색을 시작합니다. 단어를 입력해주세요.단어>> blueblurclueflueglue단어>> skysayshyskislysoyspy단어>> exit 내가 짠 코드 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748#include<iostream>#include<fstream>#include<vector>#include<string>using namespace std; void co.......

Naver Blog

명품 C++ programming 12장 실습문제 13번

문제 단어가 들어 있는 words.txt 파일을 읽어 단어 별로 vector<string>에 저장하고 사용자가 입력한 문자열로 시작되는 모든 단어를 출력하는 프로그램을 작성하라. "exit"을 입력하면 프로그램을 종료하라. ... words.txt 파일 로딩 완료검색을 시작합니다. 단어를 입력해주세요.단어>> lovelovelovebirdlovelorn단어>> fatfatfatalfatefatefulfatherfathomfatiguefattenfattyfatuous단어>> fathor발견할 수 없음단어>> exit 내가 짠 코드 12345678910111213141516171819202122232425262728293031323334353637383940414243#include<iostream>#include<fstream>#include<vector>#include<s.......

Naver Blog

명품 C++ programming 12장 실습문제 14번

문제 read() 함수를 이용하여 c:\windows\system.ini 파일의 크기를 화면에 출력하는 프로그램을 작성하라. 이때 get() 함수나 seekg(), tellg() 함수를 사용하면 안된다. 내가 짠 코드 #include<iostream>#include<fstream>using namespace std;int main() { ifstream fin("c:\\windows\\system.ini", ios::in | ios::binary); if (!fin) { cout << "c:\\windows\\system.ini 열기 오류" << endl; } char ch[32] = { 0 }; int cnt = 0; while (!fin.eof()) { fin.read(ch, 32); int n = fin.gcount(); cnt += n; } cout << "파일의 크기는 " << cnt << " 입니다." << endl;}

Naver Blog

명품 C++ programming 13장 실습문제 1번

문제 sum() 함수의 원형은 다음과 같다. int sum(int a, int b); sum() 함수는 매개 변수로 주어진 a에서 b까지 양의 정수 합을 구하여 리턴하는 함수이다. 만일 a가 b보다 크면 "잘못된 입력"을, 두 수 중 하나라도 음수이면 "음수 처리 안 됨"의 예외를 throw 한다. sum() 함수를 호출하는 main()의 사례는 다음과 같다. sum() 함수를 구현하라. int main() { try { cout << sum(2, 5) << endl; cout << sum(-1, 5) << endl; } catch (char* s) { cout << s << endl; }} 내가 짠 코드 #include<iostream>using namespace std;int sum(int a, int b) { char str[] = "음수 처리 안 됨"; if (a < 0.......

Naver Blog

명품 C++ programming 11장 실습문제 12번

문제 커피 자판기 시뮬레이터를 C++로 작성해보자. 실행 사례는 다음과 같다. 자판기는 보통 커피, 설탕 커피, 블랙 커피의 3종류만 판매한다. 단순화를 위해 실행 사례에는 총 3인분의 재료만 가지도록 하였다. 커피 메뉴에 따라 필요한 재료들이 하나씩 없어진다. 객체 지향 구조에 따라 필요한 클래스를 작성하여 프로그램을 완성하라. 실행 결과 : 내가 짠 코드 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576#include<iostream>using namespace std; class Vending_Machine { int coffee; int sugar; int cream; int water; int.......

Naver Blog

명품 C++ programming 11장 Open Challenge

문제 사람과 컴퓨터가 가위바위보 게임을 하는 프로그램을 작성하라. 선수 이름은 프로그램 실행 초기에 키 입력받는다. 컴퓨터가 무엇을 낼지는 독자가 마음대로 프로그래밍하면 된다. 저자는 컴퓨터가 랜덤하게 내도록 코딩하였다. 사람이 키보드로부터 입력받고 <Enter> 키를 치면 곧바로 결과가 나온다. 가위, 바위, 보가 아닌 다른 문자를 입력하면 다시 입력받는다. 추상 클래스 AbstractPlayer 클래스를 작성하고 사람(Human 클래스)과 컴퓨터(Computer 클래스)가 상속받아 각자 turn() 함수를 구현하면 멋있는 코드가 된다. class AbstractPlayer { string name;protected: static string gbb[3]; //"가위", "바위", "보"로 생성자.......

Naver Blog

명품 C++ programming 12장 실습문제 1번

문제 메모장을 이용하여 c:\temp\test.txt 파일을 다음과 같이 편집한 후, 이 파일을 읽어 출력하는 프로그램을 작성하라. <메모장> 0123456789 Integer 내가 짠 코드 #include<iostream>#include<fstream>#include<string>using namespace std;int main() { ofstream fout("c:\\temp\\test.txt"); if (!fout) { cout << "출력 스트림 연결 실패!" << endl; } ifstream fin("c:\\temp\\test.txt"); if (!fin) { cout << "입력 스트림 연결 실패!" << endl; } fout << "0123456789" << endl << "Integer" << endl; string line; while (getline(fin, line)) { cout <.......

Naver Blog

명품 C++ programming 12장 실습문제 2번

문제 c:\windows\system.ini 파일을 읽고 라인 번호를 다음과 같이 붙여 화면에 출력하는 프로그램을 작성하라. <system.ini> 1 : ; for 16-bit app support 2 : [386Enh] 3 : woafont=dosapp.fon 4 : EGA80WOA.FON=EGA80WOA.FON 5 : EGA40WOA.FON=EGA40WOA.FON 6 : CGA80WOA.FON=CGA80WOA.FON 7 : CGA40WOA.FON=CGA40WOA.FON 8 : 9 : [drivers] 10 : wave=mmdrv.dll 11 : timer=timer.drv 12 : 13 : [mci] 힌트: ifstream fin("c:\\windows\\system.ini"); string line; getline(fin, line);을 이용하여 루프를 돌면서 한 라인씩 읽으면 간편하다. 내가 짠 코드 #include<iostream>#include<fstream>#include<string>us.......

Naver Blog

명품 C++ programming 12장 실습문제 3번

문제 영문 텍스트 파일을 읽고 영문 글자를 모두 대문자로 출력하라. c:\windows\system.ini로 테스트 하라 내가 짠 코드 #include<iostream>#include<fstream>#include<string>#include<cctype>using namespace std;int main() { ifstream fin("c:\\windows\\system.ini"); if (!fin) { cout << "c:\\windows\\system.ini 열기 실패!" << endl; } string line; while (getline(fin, line)) { for (int i = 0; i < line.length(); i++) { cout << (char)toupper(line[i]); } cout << endl; } fin.close();}

Naver Blog

명품 C++ programming 12장 실습문제 4번

문제 영문 텍스트 파일을 읽고 영문 글자를 모두 대문자로 변환하여 저장하라. c:\windows\sstem.ini를 읽고 대문자로 변환한 파일을 c:\temp\system.txt 파일로 테스트 하라. 내가 짠 코드 #include<iostream>#include<fstream>#include<string>#include<cctype>using namespace std;int main() { ifstream fin("c:\\windows\\system.ini"); if (!fin) { cout << "c:\\windows\\system.ini 열기 실패!" << endl; } ofstream fout("c:\\temp\\system.txt"); if (!fout) { cout << "c:\\temp\\system.txt 열기 실패!" << endl; } string line; while (getline(fin, line)) { for (int i = 0; i &.......

Naver Blog

명품 C++ programming 12장 실습문제 5번(못풀었음)

문제 C++ 소스 파일에서 //로 구성된 주석문을 빼고 출력하는 프로그램을 작성하라. "//"와 같이 문자열 속에 //가 있는 경우는 없는 것으로 가정한다. .cpp 파일을 하나 준비하여 소스 폴더에 놓고 테스트하라. 저자는 정답 소스 파일로 하였다. 정답 코드 #include <iostream>#include <fstream>using namespace std;int main() { ifstream fin("ShowNoComment.cpp"); if(!fin) { cout <<"ShowNoComment.cpp 열기 오류"; return 0; } int ch; bool found=false; while((ch=fin.get()) != EOF) { if(ch == '/') { if(found == false) found = true; // 슬래시 한개 발견. 주석 시작 설정 else { // 연속된 두 개의 // 발견 fi.......

Naver Blog

명품 C++ programming 12장 실습문제 6번

문제 c:\windows\system.ini를 c:\temp\system.txt로 복사하는 동안 10%를 진행할 때마다 '.'과 바이트 크기를 다음과 같이 출력하는 프로그램을 작성하라. 복사 시작... .21B 10% .21B 20% .21B 30% .21B 40% .21B 50% .21B 60% .21B 70% .21B 80% .21B 90% .21B 100% 219B 복사 완료 내가 짠 코드 #include<iostream>#include<fstream>using namespace std;int main() { ifstream fin("c:\\windows\\system.ini", ios::in | ios::binary); if (!fin) { cout << "c:\\windows\\system.ini 열기 오류" << endl; } ofstream fout("c:\\temp\\system.txt", ios::out | ios::binary); if (!fout) { cout << "c:\\temp.......

Naver Blog

명품 C++ programming 12장 실습문제 7번

문제 텍스트 파일이든 바이너리 파일이든 원본 파일을 바이트 단위로(문자 단위가 아님에 유의) 거꾸로 사본에 저장하는 프로그램을 작성하라. c:\windows\system.ini 파일을 원본으로 하고 c:\temp\system.txt 파일로 저장하여 테스트하라. 힌트: '\r'과 '\n' 때문에 ios::binary 모드를 사용해야 한다. 거꾸로 저장된 파일을 다시 거꾸로 저장하여 프로그램에 오류가 없는지 확인하라. 내가 짠 코드 #include<iostream> #include<fstream>using namespace std;int main() { ifstream fin("c:\\windows\\system.ini", ios::in | ios::binary); if (!fin) { cout << "c:\\windows\\system.ini 열기 실패" << endl; } ofs.......

Naver Blog

명품 C++ programming 11장 실습문제 3번(모르겠음)

문제 한 줄에 '영어문장;한글문자' 형식으로 키 입력될 때, cin.ignore()를 이용하여 ';' 이후에 입력된 문자열을 화면에 출력하는 프로그램을 작성하라. 아래에서 ^Z(ctrl-z) 키는 입력 종료는 나타내는 키이며, cin.get()은 EOF를 리턴한다. 실행 결과 : 내가 짠 코드 #include<iostream>using namespace std;int main() { int ch; cin.ignore(100, ';'); // 영어 문장이 최대 99개의 문자로 입력된다고 가정한다. while ((ch = cin.get()) != EOF) { cout.put(ch); if (ch == '\n') cin.ignore(100, ';'); // 영어 문장이 최대 99개의 문자로 입력된다고 가정한다. }} 왜 cin.ignore()가 두 번 들어가는 지 모르겠음

Naver Blog

명품 C++ programming 11장 실습문제 4번

문제 한 줄에 '영어문장;한글문자' 형식으로 키 입력될 때, cin.ignore()를 이용하여 ';'이전에 입력된 문자열만 출력하는 프로그램을 작성하라. 아래에서 ^Z(ctrl-z) 키는 입력 종료를 나타내는 키이며, cin.get()은 EOF를 리턴한다. 실행 결과 : 내가 짠 코드 #include<iostream>using namespace std;int main() { int ch; while ((ch = cin.get()) != EOF) { if (ch == ';') { cin.ignore(100, '\n'); ch = '\n'; } cout.put(ch); }}

Naver Blog

명품 C++ programming 11장 실습문제 5번

문제 다음 프로그램은 예제 11-3의 코드이다. 아래 코드에서 char [] 대신 string을 이용하여 문자열을 다루도록 프로그램을 재작성하라. 123456789101112131415161718#include <iostream>#include <cstring>using namespace std; int main() { char cmd[80]; cout << "cin.get(char*, int)로 문자열을 읽습니다." << endl; while(true) { cout << "종료하려면 exit를 입력하세요 >> "; cin.get(cmd, 80); // 79개까지의 문자 읽음 if(strcmp(cmd, "exit") == 0 ) { cout << "프로그램을 종료합니다...."; return 0; } else cin.ignore(1); // 버퍼에 남아 있는 <Enter> 키 ('\n') 제거 }} 실행.......

Naver Blog

명품 C++ programming 11장 실습문제 6번

문제 다음과 같이 정수, 제곱, 제곱근의 값을 형식에 맞추어 출력하는 프로그램을 작성하라. 필드의 간격은 총 15칸이고 제곱근의 유효 숫자는 총 3자리로 한다. 빈칸은 모두 underline(_) 문자로 삽입한다. 실행 결과 : 제곱근을 구하기 위해 sqrt(double x) 함수를 호출하고 <cmath> 헤더 파일을 include하라. 내가 짠 코드 #include<iostream>#include<iomanip>#include<cmath>using namespace std;int main() { cout << left << setw(15) << "Number" << left << setw(15) << "Square" << left << setw(15) << "Square Root" << endl; for (int i = 0;.......

Naver Blog

명품 C++ programming 11장 실습문제 7번

문제 0에서 127까지 ASCII 코드와 해당 문자를 다음과 같이 출력하는 프로그램을 작성하라. 화면에 출력가능하지 않는 ASCII 코드는 '.'으로 출력하라. 실행 결과 : 내가 짠 코드 #include<iostream>#include<iomanip>#include<cctype>using namespace std;int main() { int cnt = 0; for (int i = 0; i < 4; i++) { cout << left << setw(8) << "dec"; cout << left << setw(8) << "hexa"; cout << left << setw(8) << "char"; } cout << endl; for (int i = 0; i < 64; i++) { cout << left << setw(8) << dec << i; cout <&.......

Naver Blog

명품 C++ programming 11장 실습문제 8번

문제 Circle 클래스는 다음과 같다. 12345678class Circle { string name; int radius;public: Circle(int radius=1, string name="") { this->radius = radius; this->name = name; }}; Circle 클래스의 객체를 입출력하는 다음 코드와 실행 결과를 참조하여 <<, >> 연산자를 작성하고 Circle 클래스를 수정하는 등 프로그램을 완성하라. 123Circle d, w;cin >> d >> w; // 키보드 입력을 받아 객체 d와 w를 완성cout << d << w << endl; // 객체 d, w 출력 실행 결과 : 내가 짠 코드 #include<iostream>using namespace std;class Circle { string name; int radius;public: Circle(int.......

Naver Blog

명품 C++ programming 11장 실습문제 9번

문제 다음은 Phone 클래스이다. 1234567891011class Phone { // 전화 번호를 표현하는 클래스 string name; string telnum; string address;public: Phone(string name="", string telnum="", string address="") { this->name = name; this->telnum = telnum; this->address = address; }}; Phone 클래스의 객체를 입출력하는 아래 코드와 실행 결과를 참조하여 <<, >> 연산자를 작성하고 Phone 클래스를 수정하는 등 프로그램을 완성하라. 123 Phone girl, boy; cin >> girl >> boy; cout << girl << endl << boy << endl; 실행 결과 : 내가 짠 코드 123456789101112131415161718192.......

Naver Blog

명품 C++ programming 11장 실습문제 10번

문제 다음은 프로그램과 실행 결과를 보여준다. prompt 조작자를 작성하여 프로그램을 완성하라. 12345678910111213141516#include <iostream>#include <string>using namespace std; int main() { string password; while(true) { cin >> prompt >> password; if(password == "C++") { cout << "login success!!" << endl; break; } else cout << "login fail. try again!!" << endl; }} 실행 결과 : 내가 짠 코드 #include <iostream>#include <string>using namespace std;istream& prompt(istream& in) { cout << "암호?"; return in;}int main() { string passw.......

Naver Blog

명품 C++ programming 11장 실습문제 11번

문제 다음은 프로그램과 실행 결과를 보여준다. pos 조작자를 작성하라. 123456789#include <iostream>using namespace std; int main() { int x, y; cin >> pos >> x; cin >> pos >> y; cout << x << ',' << y << endl;} 실행 결과 : #include <iostream> using namespace std;istream& pos(istream& in) { cout << "위치는? "; return in;}int main() { int x, y; cin >> pos >> x; cin >> pos >> y; cout << x << ',' << y << endl;}

Naver Blog

명품 C++ programming 10장 실습문제 14번

문제 문제 : 암호 관리 응용프로그램을 map을 이용하여 작성하라. 실행 과정은 다음과 같다. 실행 결과 : 내가 짠 코드 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647#include<iostream>#include<map>using namespace std; int main() { int input = 0; string name, code; map<string, string> m; cout << "***** 암호 관리 프로그램 WHO를 시작합니다 *****" << endl; while (true) { cout << "삽임:1, 검사:2, 종료:3>> "; cin >> input; switch (input) { case 1: cout << "이름 암호>> "; cin >> name; cin >> code; m.......

Naver Blog

명품 C++ programming 10장 실습문제 15번

문제 vector를 이용하여 아래 Circle 클래스의 객체를 삽입하고 삭제하는 프로그램을 작성하라. 삭제 시에는 이름이 같은 모든 원을 삭제한다. 12345678910class Circle { string name; // 이름 int radius; // 반지름 public: Circle(int radius, string name) { this->radius = radius; this->name = name; } double getArea() { return 3.14*radius*radius; } string getName() { return name; }}; 실행 결과 : 내가 짠 코드 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051#include<iostream>#include<vector>using namespace std; class Circle { string name; // 이름.......

Naver Blog

명품 C++ programming 10장 실습문제 16번

문제 vector<Shape*> v;를 이용하여 간단한 그래픽 편집기를 콘솔 바탕으로 만들어보자. 생성된 도형 객체를 v에 삽입하고 관리하라. 9장 실습 문제 10번의 힌트를 참고하라. 그래픽 편집기의 기능은 "삽입", "삭제", "모두보기", "종료"의 4가지이고, 실행 과정은 다음과 같다. 내가 짠 코드 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970#include<iostream>#include<vector>using namespace std;class Shape {protected: virtual void draw() = 0;public: void paint() { draw(); }}; class Circle :public Shape {protected: voi.......

Naver Blog

명품 C++ programming 11장 실습문제 1번(다시)

문제 int cin.get() 함수를 이용하여 키보드로부터 한 라인을 읽고 'a'가 몇 개인지 출력하는 프로그램을 작성하라. 실행 결과 : 내가 짠 코드 #include<iostream>using namespace std;int main() { char str[50]; int ch=0, cnt=0; cin.get(str, 50, '\n'); for (int i = 0; i < sizeof(str); i++) { if (str[i] == 'a') cnt++; } cout << cnt << endl;}

Naver Blog

명품 C++ programming 11장 실습문제 2번(다시)

문제 문제 : istream& get(char& ch) 함수를 이용하여 한 라인을 읽고 빈칸(' ')이 몇 개인지 출력하는 프로그램을 작성하라. 내가 짠 코드 #include<iostream>using namespace std;int main() { char ch; int cnt = 0; while (true) { cin.get(ch); if (ch == '\n') break; if (ch == ' ') cnt++; } cout << cnt << endl;}

Naver Blog

2019-12-26 무작정 c언어 테트리스 만들기 1일차 학습

https://m.blog.naver.com/azure0777/220295388741 오늘 배운 내용들 #include<stdio.h> //standardi...

Naver Blog

2020-02-02 c언어 기초강의 배우기

https://skyvvv624.blog.me/221133062439 그동안 배웠던 것들 전처리기: 컴파일러가 컴파일 하기 전에 먼...

Naver Blog

완벽한 공부법 부분 내용 정리-단기 기억

오늘 읽은 내용은 기억에 관한 내용이다. 단기 기억(작업 기억)과 장기 기억으로 나뉘는데, 단기 기억(작업...

Naver Blog

완벽한 공부법 부분 내용 정리-장기 기억

장기 기억 역시 단기 기억(작업 기억)처럼 정보를 분류해서 저장을 한다. 많은 사람들이 장기 기억을 하기 ...

Naver Blog

자료형 복습

자료형이란? 변수를 저장하는 형태를 말한다. 여러가지가 있는데 CPU가 가장 좋아하는 자료형은 int 이...

Naver Blog

printf 서식 문자 복습

printf 함수에서 변수를 출력할 때에는 서식 문자를 사용해야 한다. 예시) #include int main(void) {  int ...

Naver Blog

완벽한 공부법 부분 내용 정리-기억 전략:장기 기억을 위한 최상의 방법

지난번에 쓴 내용 정리에는 장기 기억을 위해서는 시험과 내용 정리, 토론 등의 활동이 효과적이라고 했다....

Naver Blog

[No.513] Language Coder-입력-자가진단5

문제 1야드(yd)는 91.44cm이고 1인치(in)는 2.54cm이다. 2.1야드와 10.5인치를 각각 cm로 변환하여 다음 형...

Naver Blog

완벽한 공부법 내용 정리-목표

목표는 정말 중요한 역할을 한다. 같은 일을 하더라도 목표가 있는 사람과 목표가 없는 사람의 차이는 크게...

Naver Blog

완벽한 공부법 부분 내용 정리-동기

동기는 행동을 실현시키고 지속시키는 역할을 한다. 그래서 이 동기는 공부에 있어 아주 중요하다고 할 수 ...

Naver Blog

완벽한 공부법 부분 내용 정리-노력

미국 뉴욕 타임즈에서 이런 기사가 나온 적 있다. 어떤 분야에서 대가가 되는 것은 노력보다 재능이 더 크...

Naver Blog

[No.516] Language Coder-입력-자가진단8

문제 실수 2개와 한 개의 문자를 입력 받아 출력하되 실수는 반올림하여 소수 둘째자리까지 출력하는 프로...

Naver Blog

완벽한 공부법 부분 내용 정리-감정

'이성은 감정의 노예다'라는 말이 있듯이 사람의 감정은 의사결정을 하는 데 있어 매우 중요한 ...

Naver Blog

완벽한 공부법 부분 내용 정리-사회성

인간이 사회적 동물이라는 것에 이견은 없을 것이다. 지구를 인간이 정복할 수 있었던 것은 이 사회성 때문...

Naver Blog

완벽한 공부법 부분 내용 정리-몸

'잠을 줄이고 공부해!', '공부할 시간도 부족한데 운동할 시간이 어딨어?' 우리는 흔...

Naver Blog

[No.517] Language Coder-입력-자가진단9

문제 세 개의 실수를 입력 받아 반올림하여 소수 셋째 자리까지 출력하는 프로그램을 작성하시오. 내가 짠 ...

Naver Blog

[No.106] Language Coder - 입력 - 형성평가1

문제 세 개의 정수형 변수를 선언하고 각 변수에 10 20 30을 대입한 후 그 변수를 이용하여 출력 예와 같이...

Naver Blog

[No.108] Language Coder - 입력 - 형성평가3

문제 정수형 변수 한 개를 선언하여 50을 대입하고 실수형 변수 한 개를 선언하여 100.12를 대입한 후 다음...

Naver Blog

[No.109] Language Coder - 입력 - 형성평가4

문제 세 개의 정수를 입력받아 합과 평균을 출력하는 프로그램을 작성하시오.(단 평균은 소수 이하를 버림...

Naver Blog

완벽한 공부법 부분 내용 정리 - 환경

습관은 자신이 생각하기도 전에 행동하는 것을 말한다. 그래서 습관은 장점이 될 수도, 단점이 될 수도 있...

Naver Blog

[No.521] Language Coder - 연산자 - 자가진단4

틀린 횟수: 3번 (1번은 ;실수로 인한 컴파일 오류) 문제 두 개의 정수를 입력받아 각각 후치 증가 연산자와...

Naver Blog

[No.522] Language Coder - 연산자 - 자가진단5

(몰라서 못풀었다는 표시임) 문제 두 개의 정수를 입력받아서, 첫 번째 줄에는 두 정수의 값이 같으면 1 ...

Naver Blog

완벽한 공부법 부분 내용 정리 - 창의성

사람들은 보통 창의성을 대단하다고 생각하지만 사실은 그렇지 않다. 왜냐하면 창의성은 배울 수 있기 때문...

Naver Blog

인간관계론 부분 내용 정리 - 꿀을 얻으려면 벌집을 건드리지 말라

에이브러햄 링컨은 사람을 아주 잘 부리는 대통령으로 불린다. 그의 비결은 뭘까? 바로 사람을 대할 때 절...

Naver Blog

인간관계론 부분 내용 정리 - 상대방의 관점에서 사물을 보지 못하면 외로운 길을 가리라

살아가다 보면 누군가를 설득 시켜야 할 상황이 오게 된다. 부모가 아이의 잘못된 점을 고쳐주고 싶어 한다...

Naver Blog

인간관계론 부분 내용 정리 - 어디서나 환영받는 사람이 되는 비결

사실 우리는 주변에 둘러보면 사람들에게 인기가 많은 사람을 볼 수 있을 것이다. 그 사람의 비결은 무엇일...

Naver Blog

C언어 연산자 복습

https://blog.naver.com/skyvvv624/221057312098 C언어의 연산자는 산술 연산자, 비교/관계 연산자, 논리 ...

Naver Blog

[No.526] Language Coder - 디버깅 - 자가진단1

(몰라서 못풀었다는 표시임) 문제 2개의 실수(double)를 입력 받아서 두 수의 곱을 정수로 변환한 결과값...

Naver Blog

[No.116] Language Coder - 디버깅 - 형성평가1

문제 정수로 된 3과목의 점수를 입력받아 평균을 구한 후 반올림하여 소수 첫째자리까지 출력하는 프로그램...

Naver Blog

[No.117] Language Coder - 디버깅 - 형성평가2

문제 실수로 된 3과목의 점수를 입력받아 총점은 정수부분의 합계를 출력하고 평균은 실수의 평균을 구한 ...

Naver Blog

[No.533] Language Coder - 선택제어문 - 자가진단6

문제 남자는 'M' 여자는 'F'로 나타내기로 하고 18세 이상을 성인이라고 하자. 성별...

Naver Blog

[No.539] Language Coder - 반복제어문 - 자가진단4

문제 정수를 계속 입력받다가 100 이상의 수가 입력이 되면 마지막 입력된 수를 포함하여 합계와 평균을 출...

Naver Blog

[No.126] Language Coder - 반복제어문 - 형성평가2

문제 0 이상의 정수들이 공백으로 구분되어 반복적으로 주어진다. 0이 입력되면 반복문을 멈추고 그 전까지...

Naver Blog

[No.127] Language Coder - 반복제어문 - 형성평가3

문제 0 부터 100 까지의 점수를 계속 입력받다가 범위를 벗어나는 수가 입력되면 그 이전까지 입력된 자료...

Naver Blog

[No.127] Language Coder - 반복제어문3 - 자가진단5(Accepted 20)

문제 자연수 n을 입력받아서 다음과 같이 출력하는 프로그램을 작성하시오. 내가 짠 코드 #include<stdi...

Naver Blog

[No.572] Language Coder - 함수1 - 자가진단2

문제 반지름의 길이를 전달받아 넓이를 출력하는 함수를 작성하고 반지름의 길이를 입력받아 함수를 호출하...

Naver Blog

[No.143] Language Coder - 반복제어문3 - 형성평가4

문제 자연수 n을 입력받아 "출력 예"와 같이 출력되는 프로그램을 작성하시오. 주의! '*&#x...

Naver Blog

[No.139] Language Coder - 반복제어문2 - 형성평가A(Accepted 90)

문제 2부터 9까지의 수 중 2개를 입력받아 입력받은 수 사이의 구구단을 출력하는 프로그램을 작성하시오. ...

Naver Blog

[No.140] Language Coder - 반복제어문3 - 형성평가1(Accepted 10)

문제 정수 20 개를 입력받아서 그 합과 평균을 출력하되 0 이 입력되면 20개 입력이 끝나지 않았더라도 그 ...

Naver Blog

[No.145] Language Coder - 반복제어문3 - 형성평가6(Accepted 10)

문제 자연수 n을 입력받아 "출력 예"와 같이 공백으로 구분하여 출력하는 프로그램을 작성하시오...

Naver Blog

[No.146] Language Coder - 반복제어문3 - 형성평가7(Accepted 70)

문제 자연수 n(n≤6)을 입력받아 "출력 예"와 같이 공백으로 구분하여 출력되는 프로그램을 작성...

Naver Blog

[No.561 Language Coder - 배열1 - 자가진단7(Accepted 60)

문제 10개의 정수를 입력받아 100 미만의 수 중 가장 큰 수와 100 이상의 수 중 가장 작은 수를 출력하는 ...

Naver Blog

[No.563] Language Coder - 배열1 - 자가진단9(Accepted 80)

문제 10개의 정수를 입력받아 배열에 저장한 후 내림차순으로 정렬하여 출력하시오. 내가 짠 코드 #include...

Naver Blog

[No.153] Language Coder - 배열1 - 형성평가4(Accepted 80)

문제 100개의 정수를 입력받을 수 있는 배열을 선언한 후 정수를 차례로 입력 받다가 -1이 입력되면 입력을...

Naver Blog

[No.157] Language Coder - 배열1 - 형성평가8(wrong answer 0)

문제 100 개 이하의 정수를 입력받다가 0 이 입력되면 그 때까지 입력된 정수 중 5의 배수의 개수와 합계 ...

Naver Blog

[No.161] Language Coder - 배열2 - 형성평가2(Accepted 10)

문제 학생들의 점수를 입력을 받다가 0이 입력되면 그 때까지 입력받은 점수를 10점 단위로 구분하여 점수...

Naver Blog

[No.167] Language Coder - 배열2 - 형성평가8

문제 4행 2열의 배열을 입력받아 가로평균과 세로평균 그리고 전체평균을 출력하는 프로그램을 작성하시오....

Naver Blog

[No.574] Language Coder - 함수1 - 자가진단4

문제 세 개의 정수를 전달받아 최대값을 구하여 리턴하는 함수를 작성하고, 세 정수를 입력받아 최대값을 ...

Naver Blog

[No.576] Language Coder - 함수1 - 자가진단6

문제 정수의 연산식을 입력받아 연산을 위한 함수를 호출하여 4칙연산(+ - * /)의 연산결과를 출력하는 프...

Naver Blog

[No.578] Language Coder - 함수1 - 자가진단8(Accepted 60)

문제 10 이하의 두 개의 양의 정수를 입력받아서 작은 수부터 큰 수까지의 구구단을 차례대로 출력하는 프...

1 2 3