학습목표    1

학습주제    1

예습내용    1

실습방법    1

        1

중요함수    1

스트림 입출력

학습목표

스트림 입출력 활용법을 공부한다.

학습주제

§         C++에서는 앞에서 배운 stdio.h 표준 입출력을 모두 사용하고 iostream.h cin cout스트림 입출력을 사용한다.

§         스트림을 이용하여 Led 순차적으로 동작시킨다.

예습내용

스트림 입출력은 다음을 사용한다.

연산자

 

cin

>>

키보드 입력

cout

<<

화면 출력

1. 표준출력

cout<<변수 리스트

아래 예제1 프로그램 해본다.

2. 표준입력

    cin 이용하여 키보드 값을 입력한다.

cin>>변수 리스트

 

 

    주의: scnaf()에서와 같이 주소표시 & 쓰지 않는다.

    아래 예제2 프로그램 해본다.

3. 형식 입출력

    “iomanip.h” 있는 조작자를 이용하여 형태를 조절 있다.

조작자

  

dec

10진수로 변환하여 출력

hex

16진수로 변환하여 출력

oct

8진수로 변환하여 출력

endl

개행문자(‘\n) 출력하고, 스트림 내용을 삭제

ends

문자(\0) 출력

flush

스트림 내용 삭제

setfill(int c)

C 채워 출력

setprecision(int n)

부동소수점 유효 자리수를 n개로 하여 출력

setw(int n)

필드폭을 n개로 하여 출력

setioflags(long f)

지정된 형식 설정

resetiosflags(long f)

지정된 형식 삭제

입출력 조작 setioflags() resetiosflags() 다음 플래그 값으로 조절한다.

형식 플래그

  

ios::left

setw() 안에 출력을 좌측으로 정렬

ios::right

setw() 안에 출력을 우측으로 정렬

ios::scientific

지수 형태로 표기

ios::fixed

부동 소수점으로 표기

ios::dec

10진수로 변환

ios::hex

16진수로 변환

ios::oct

8진수로 변환

ios::uppercase

16진수와 지수형 표기시 문자를 대문자로 표기

ios::showbase

수치 베이스 접두문자 출력

ios::showpos

양수를 출력할 + 부호를 출력

ios::showpoint

지정된 자리 만큼 0 채워서 출력

예제3에서 연습을 해본다.

 

실습방법

   

1. 표준츨력

예제1

#include "stdafx.h"

#include "iostream.h”

int main(int argc, char* argv[])

{

char a=’A’;

cout<<”변수 a “<<a<<” 입니다.”<<”\n”;

 

    int b=10;

cout<<”변수 b “<<b<<” 입니다.”<<”\n”;

return 0;

}

변수 a A 입니다.

변수 b 10 입니다.

2. 표준입력

예제2

정사각형의 한변을 입력 받아 면적을 계산

#include "stdafx.h"

#include "iostream.h”

int main(int argc, char* argv[])

{

int a;

cout<<”변의 길이를 입력하시오. “;

cin>>a;

cout<<”면적=”<<a*a;

return 0;

}

3. 형식 입출력

예제3

setprecision() setw() 연습해 본다.

#include "stdafx.h"

#include "iostream.h"

#include "iomanip.h"

 

int main(int argc, char* argv[])

{

              double a=30.123456789;

              cout<<setw(20)<<setprecision(8)<<a<<endl;       // 총자리수=20 유효자리수 8     

              cout<<setw(20)<<setiosflags(ios::scientific)<<a<<endl;      // 총자리수=20 지수형태로 표기

              return 0;

}

30.123457

     3.01234568e+001

처음

   

직사각형 두변의 길이를 입력 받아 면적을 계산하는 프로그램을 작성하시오.

스트림 입출력을 이용하고 결과는 다음 두가지로 표기 하시오.

(1) 유효자리 30자리 표기 (2) 지수형태로 표기

중요함수

 

 

AVR 출력

 

8개의 LED 순차적으로 불이 들어오게 하는 프로그램을 만든다.

AVR예제1

8개의 LED 순차적 점등

while (1)

      {

      // Place your code here   

        PORTC=~0x01;     //1 보수를 출력                

        delay_ms(100);    // 0.1초간 시간 지연

        PORTC=~0x02; 

        delay_ms(100);

        PORTC=~0x04; 

        delay_ms(100); 

        PORTC=~0x08; 

        delay_ms(100);

        PORTC=~0x10; 

        delay_ms(100);

        PORTC=~0x20; 

        delay_ms(100);

        PORTC=~0x40; 

        delay_ms(100);

        PORTC=~0x80; 

        delay_ms(100);

         

      };

전체프로그램보기