struct 변수는 배열처럼 방을 여러개 가지고 있으나 각 방의 모양(크기)이 다를 수 있으며 각 방의 이름도 번호를 붙이는 것이 아니고 struct 변수 선언시 지정해준다.
struct 변수에 대해서도 아래 사항을 알고 있어야 한다.
* 선언하는 법
선언의 효과
각 방의 이름
각 방에 데이타 넣기
각 방의 데이타 출력
*기본모양
선언하는 법 struct {int x; char y;} z;
선언의 효과 방 2개가 생긴다.
각 방의 이름 전체는 z, 각 방은 z.x, z.y
각 방에 데이타 넣기 z.x=9; z.y='d';
각 방의 데이타 출력 cout << z.x << z.y;
*사용법
1) tag 붙이기: {A} 에 이름(태그)을 붙이면 {A} 대신 이름을 쓸 수 있다.
☞struct {int x; char y;} z; // 변수 z 선언. z는 {int x; char y;} 형태. 태그를 안쓰는 경우
☞struct zz {int x; char y;}; // {int x; char y;}에 zz 라는 이름 붙이기. 앞으로
//{int x; chary;} 대신 zz 를 쓸 수 있다.
☞struct zz k; // struct {int x; char y;} k; 와 동일(사실은 조금 다르게 취급)
zz k; // 태그를 쓸 경우 struct는 생략해도 된다. 변수 k는 zz 라는
// 데이타타입이고 zz 는 {int x; char y;} 이므로
// struct {int x; char y;} k; 와 동일(사실은 조금 다르게 취급)
☞struct abc {int x; int y; char z;} rr; // 변수 rr 선언. 동시에 {int x; int y; char z;} 대신 앞으로 abc 라는 tag를 쓰겠다고 선언.
☞struct abc bb; // 변수 bb 선언. bb는 {int x; int y; char z;} 형태의 구조체
ex)국,영,수 성적입력하여 출력하는 프로그램
________________________________________________
#include <iostream>
#include <stdlib.h>
using namespace std;
struct student{
char name;
int kor;
int eng;
int math;
};
struct student s[5];//5명으로 제한
int main()
{
int i;
for(i=0;i<5;i++)
{cout<<"이름입력"<<endl;
cin>>s[i].name;
cout<<"국어성적입력"<<endl;
cin>>s[i].kor;
cout<<"영어성적입력"<<endl;
cin>>s[i].eng;
cout<<"수학성적입력"<<endl;
cin>>s[i].math;
system("cls"); //화면 깨끗히 지우기
}
for(i=0;i<5;i++)
{
cout<<"이름 :" <<s[i].name<<endl;
cout<<"국어성적 : "<<s[i].kor<<endl;
cout<<"영어성적 : "<<s[i].eng<<endl;
cout<<"수학성적 : "<<s[i].math<<endl;
cout<<"-------------"<<endl;
}
}
출저:인하대학생
수정:http://first-reverse.tistory.com
'프로그래밍 > C++' 카테고리의 다른 글
약간의기초(포인터) (0) | 2011.01.04 |
---|---|
기초중기초(함수) (0) | 2011.01.04 |
기초중기초(배열 array) (0) | 2011.01.03 |
기초중기초(반복문 for) (0) | 2011.01.03 |
기초중기초(반복문 while) (0) | 2010.12.27 |