728x90
728x90

윤성우 열혈 c++ 프로그래밍 동영상 강의 : http://www.orentec.co.kr/teachlist/CPP_BASIC_1/teach_sub1.php

사용할 컴파일러 : 비쥬얼스튜디오 or 온라인컴파일러 GDB (https://www.onlinegdb.com/online_c++_compiler) GDB는 컴파일 뿐만 아니라 리눅스 방식?으로 디버깅도 되는 온라인컴파일러

 

Online C++ Compiler - online editor

OnlineGDB is online IDE with C++ compiler. Quick and easy way to compiler c++ program online. It supports g++ compiler for c++.

www.onlinegdb.com

 


 

파일 확장자는 .cpp

c++ 컴파일러로 컴파일된다.

 

입출력을 하기 위한 헤더파일 선언문 #include <iostream> 추가

헤더에 추가 이후 std, cout, endl 등을 사용할 수 있다.
헤더파일 확장자는 .h이지만 새로운 표준 라이브러리, 표준 헤더파일 선언에서는 <iostream>으로 생략 가능하다.
과거 표준 라이브러리는 <iosteram.h>로 사용한다. 점차 지원하지 않는 추세.

 

std::cout<< '출력대상' 로 출력

출력대상 위치에는 정수, 실수, 문자열, 변수 모두 사용 가능하다.
C의 printf처럼 %d 같은 서식문자를 써서 별도의 출력포맷을 지정안해도 된다. (입출력 모두)
<< 연산자를 사용하면 둘 이상의 출력대상을 연이어 출력할 수 있다.

 

<<std::endl 로 개행

개행 및 \n과 다르게 출력버퍼를 비운다. (https://yechoi.tistory.com/48)

 

std::cin >> 데이터 입력 (scanf를 대신하는 데이터 입력)

역시 #include <iostream> 헤더파일 선언문이 필요하다.
변수의 선언은 어디서든 가능하다.

// SimpleAdder.cpp

#include <iostream>

int main()
{
    int val1;
    std::cout<<"첫 번째 숫자입력: ";
    std::cin>>val1;
    
    int val2;
    std::cout<<"두 번째 숫자입력: ";
    std::cin>>val2;
    
    int result = val1 + val2;
    std::cout<<"덧셈결과: " <<result<<std::endl;

    return 0;
}

 

C++에서는 데이터의 출력처럼 데이터의 입력도 별도의 포맷 지정이 필요 없다. 

char str[100];
scanf("%s", str);
char str[100];
std::cin>>str;

 

 

C++의 지역변수 선언

함수 정의 시 C에서 지역변수 선언은 가장 먼저 등장해야 했으나,
C++의 변수의 선언은 위치에 제한을 두지 않는다.

#include <iostream>

int main(void)
{
    int val1, val2;
    int result=0;
    std::cout<<"두 개의 숫자입력: ";
    std::cin>>val1>>val2;
    
    if(val1<val2) 
    {
        for(int i=val1+1; i<val2; i++) { // C도 새 표준에서는 이런 식으로 변수선언 가능
            result+=i;
        }
    } 
    else
    {
        for(int i=val2+1; i<val1; i++) {
            result+=i;
        }
    }

    std::cout<<"두 수 사이의 정수 합: " <<result<<std::endl;
    return 0;
}

 

 

std::cin>>'변수1'>>'변수2'로 연속적인 데이터의 입력

데이터 입력 시 데이터 간 경계는 탭, 스페이스바, 엔터키의 입력과 같은 공백에 의해 나눠진다.

 

배열 기반의 문자열 입출력
#include <iostream>

int main()
{
    char name[100];
    char lang[200];
    
    std::cout<<"이름은 무엇임?";
    std::cin>>name;
    
    std::cout<<"좋아하는 언어는?";
    std::cin>>lang;
    
    std::cout<<"내 이름은 "<<name<<"입니다.\n";
    std::cout<<"제일 좋아하는 언어는 "<<lang<<"입니다."<<std::endl;
    
    return 0;
}

 


 

문제 1 : 사용자로부터 5개의 정수를 각각 받아 합을 출력하는 프로그램

 

#include <iostream>

int main(void)
{
    int result=0;
   
    for(int val=1; val<6; val++) {
        std::cout<<val<<"번째 정수 입력: ";
        std::cin>>val;
        result+=val;
    }

    std::cout<<"합계: " <<result<<std::endl;
    return 0;
}

 

 

문제 2 : 프로그램 사용자로부터 이름, 전화번호를 문자열 형태로 입력받고, 입력받은 데이터를 출력하는 프로그램

 

#include <iostream>

int main(void)
{
    int result=0;
    char name[100]; //이름
    char phoneNum[200]; //전화번호
    
    std::cout<<"이름을 입력하세요: ";
    std::cin>>name;
    std::cout<<"번호를 입력하세요: ";
    std::cin>>phoneNum;

    std::cout<<name<<phoneNum<<std::endl;
    
    return 0;
}

 

 

문제 3 : 숫자를 하나 입력받아서 그 숫자에 해당하는 구구단을 출력하는 프로그램

 

#include <iostream>

int main(void)
{
    int result=0;
    int number;
   
  
    std::cout<<"구구단 몇단을 출력할까요? (숫자를 입력)";
    std::cin>>number;
    
    for(int multiplicationTables=1; multiplicationTables<10; multiplicationTables++) {
        std::cout<<number<<"x"<<multiplicationTables<<"="<<number*multiplicationTables<<std::endl;    
    }
    
    return 0;
}

 

 

문제 4 : 판매원들의 급여 계산 프로그램. 매달 급여는 50만원에 판매 물품의 가격에 판매원의 판매금액에서 12%를 추가 지급한다. 급여의 계산은 -1이 입력될 때까지 계속되어야 한다.

 

#include <iostream>

int main(void)
{
    int sellMoney, pay;
    
    while(sellMoney != -1) {
        std::cout<<"판매 금액을 만원 단위로 입력(-1 to end): ";
        std::cin>>sellMoney;
        
        if(sellMoney == -1) {
            std::cout<<"프로그램을 종료합니다"<<std::endl;
            //continue;
        } else {
            pay = 50 + (sellMoney*0.12);
            std::cout<<"이번 달 급여: "<<pay<<"만원"<<std::endl;      
        }
        
    }
    return 0;
}

 


 

개발하는데 키보드는 무접점 키보드를 추천한다
728x90
728x90

'C, C++ > 열혈 C++ 프로그래밍' 카테고리의 다른 글

02-1 챕터 02의 시작에 앞서  (0) 2021.08.19
01-5 이름공간  (0) 2021.08.19
01-4 인라인 함수  (0) 2021.08.18
01-3 매개변수의 디폴트 값  (0) 2021.08.18
01-2 함수 오버로딩  (0) 2021.08.18
블로그 이미지

coding-restaurant

코딩 맛집에 방문해주셔서 감사합니다.

,

v