목차
1. 음식점을 기술하는 구조체를 작성하여라. 이 구조체는 음식점의 이름, 주소, 평균 가격, 음식의 형태 등을 포함하는 맴버를 가져야 한다. 이 구조체를 이용하여 주어진 음식 형태를 취급하는 모든 음식점을 가격이 저렴한 순으로 출력하는 프로그램을 작성하여라.
3. a,b,c라는 3개의 비트 필드를 포함하는 구조체를 생성하는 프로그램을 작성하라. a와 b는 3비트 크기를 가지며, c는 2비트 크기를 갖는다. 그 다음 각각에 값을 대입하고 그 값을 출력하라.
9. 여러 종류의 운송수단 승용차, 자전거, 배, 비행기에 관한 구조를 보유하는 구조형을 작성하라. 이 운송수단은 모두 소유자, 제작년도, 제작회사를 공용자료로 갖고 있다. 또한 특별히 다음과 같은 정보도 갖고 있다.
11. 학생들에 관한 자료로 이름, 생년월일, 출신학교가 있다. 학생들의 생년월일이 빠른 순서로 출력하는 함수를 작성하라. 원래의 자료는 생년월일과 무관한 순서로 되어 있다.
23. 아래의 데이터를 구조체 배열변수에 대입하여 표시하는 프로그램을 작성하라.
25. 다음의 구조체를 갖는 프로그램에 5명의 child데이터를 할당하고 출력하는 프로그램을 작성하여 보라
3. a,b,c라는 3개의 비트 필드를 포함하는 구조체를 생성하는 프로그램을 작성하라. a와 b는 3비트 크기를 가지며, c는 2비트 크기를 갖는다. 그 다음 각각에 값을 대입하고 그 값을 출력하라.
9. 여러 종류의 운송수단 승용차, 자전거, 배, 비행기에 관한 구조를 보유하는 구조형을 작성하라. 이 운송수단은 모두 소유자, 제작년도, 제작회사를 공용자료로 갖고 있다. 또한 특별히 다음과 같은 정보도 갖고 있다.
11. 학생들에 관한 자료로 이름, 생년월일, 출신학교가 있다. 학생들의 생년월일이 빠른 순서로 출력하는 함수를 작성하라. 원래의 자료는 생년월일과 무관한 순서로 되어 있다.
23. 아래의 데이터를 구조체 배열변수에 대입하여 표시하는 프로그램을 작성하라.
25. 다음의 구조체를 갖는 프로그램에 5명의 child데이터를 할당하고 출력하는 프로그램을 작성하여 보라
본문내용
member[k].yy
// 년도값부터 서로 다를 경우엔 하위의 if문을 수행하지 않고, 곧바로 년도의 대소비교를 하게 된다.
{
temp=member[k];
member[k]=member[m];
member[m]=temp;
}
}
}
printf("이름 / 생년월일 / 출신학교 \n");
for(k=0;k<5;k++)
// for문을 이용하여, 대소비교가 끝난 데이터를 전부 인쇄하게 된다. 여기서는 먼저 생년이 작은 순서대로, 생년이 같으면 생월이 작은 순서대로, 생월 또한 같으면 생일 값이 작은 순서대로 출력하게 된다.
{
printf("%10s %4d/%2d/%2d %10s \n", member[k].name, member[k].yy, member[k].mm, member[k].dd, member[k].school);
}
}
23. 아래의 데이터를 구조체 배열변수에 대입하여 표시하는 프로그램을 작성하라.
이름
연령
연소득 (만원)
김한철
38
576
안정식
29
445
고정식
41
640
강영래
29
516
박영민
54
758
#include
struct
{
char name[10];
int age;
int income;
} data[5]={{"김한철", 38, 576},{"안정식", 29, 445},
{"고정식", 41, 640},{"강영래", 29, 516},{"박영민", 54, 758}};
void main()
{
int k;
for(k=0;k<5;k++)
printf("이름 : %s / 나이 : %d / 월소득 : %d (만원)\n", data[k].name, data[k].age, data[k].income);
}
[ 구조체 ]
이름이 들어갈 공간을 확보한다. 한글 3자(양문 6자)이므로, 그 이하로 잡을 경우 over flow가 발생한다. 나이와 연소득이 들어갈 공간도 잡아준다.
위에서 잡아 준 공간 5개를 확보한 후, 각각의 데이터를 입력 해 준다. 여기에서 이름 부분은 char로 잡았기 때문에 ""안에 데이터를 입력해야 하며, 나머지는 int이므로 “ ”를 넣을 필요가 없다. 만약 “ ”를 넣는다면, 숫자는 더 이상 숫자로 인식하지 않고, 문자로 인식을 하게 된다.
[ 메인 함수 ]
for문을 위해 정수 k를 선언한다.
위에서 입력된 데이터를 출력해 준다.
25. 다음의 구조체를 갖는 프로그램에 5명의 child데이터를 할당하고 출력하는 프로그램을 작성하여 보라
struct client
{
char *name;
struct info
{
int age;
int weight;
} pers_info;
} child={"ROBERT",{5,31}};
#include
struct client
{
char *name;
struct info
{
int age;
int weight;
} pers_info;
} child[5]={{"dog",{3,20}},{"cow",{500,2}},
{"pig",{100,1}},{"duck",{10,2}},{"horse",{200,5}}};
void main()
{
int k;
for(k=0;k<5;k++)
printf("name: %5s / age: %3d / weight: %3d \n",
child[k].name, child[k].pers_info.age, child[k].pers_info.weight);
}
[ 구조체 ]
문자상수에 포인터를 선언
( 중첩 구조체 (?) )
나이와 몸무게를 입력받을 정수변수 선언
5애의 데이터를 입력해 준다.
[ 메인 함수 ]
for문에 사용할 정수 k 선언
입력되어 있는 값을 출력한다.
{
temp=member[k];
member[k]=member[m];
member[m]=temp;
}
}
}
printf("이름 / 생년월일 / 출신학교 \n");
for(k=0;k<5;k++)
// for문을 이용하여, 대소비교가 끝난 데이터를 전부 인쇄하게 된다. 여기서는 먼저 생년이 작은 순서대로, 생년이 같으면 생월이 작은 순서대로, 생월 또한 같으면 생일 값이 작은 순서대로 출력하게 된다.
{
printf("%10s %4d/%2d/%2d %10s \n", member[k].name, member[k].yy, member[k].mm, member[k].dd, member[k].school);
}
}
23. 아래의 데이터를 구조체 배열변수에 대입하여 표시하는 프로그램을 작성하라.
이름
연령
연소득 (만원)
김한철
38
576
안정식
29
445
고정식
41
640
강영래
29
516
박영민
54
758
#include
struct
{
char name[10];
int age;
int income;
} data[5]={{"김한철", 38, 576},{"안정식", 29, 445},
{"고정식", 41, 640},{"강영래", 29, 516},{"박영민", 54, 758}};
void main()
{
int k;
for(k=0;k<5;k++)
printf("이름 : %s / 나이 : %d / 월소득 : %d (만원)\n", data[k].name, data[k].age, data[k].income);
}
[ 구조체 ]
이름이 들어갈 공간을 확보한다. 한글 3자(양문 6자)이므로, 그 이하로 잡을 경우 over flow가 발생한다. 나이와 연소득이 들어갈 공간도 잡아준다.
위에서 잡아 준 공간 5개를 확보한 후, 각각의 데이터를 입력 해 준다. 여기에서 이름 부분은 char로 잡았기 때문에 ""안에 데이터를 입력해야 하며, 나머지는 int이므로 “ ”를 넣을 필요가 없다. 만약 “ ”를 넣는다면, 숫자는 더 이상 숫자로 인식하지 않고, 문자로 인식을 하게 된다.
[ 메인 함수 ]
for문을 위해 정수 k를 선언한다.
위에서 입력된 데이터를 출력해 준다.
25. 다음의 구조체를 갖는 프로그램에 5명의 child데이터를 할당하고 출력하는 프로그램을 작성하여 보라
struct client
{
char *name;
struct info
{
int age;
int weight;
} pers_info;
} child={"ROBERT",{5,31}};
#include
struct client
{
char *name;
struct info
{
int age;
int weight;
} pers_info;
} child[5]={{"dog",{3,20}},{"cow",{500,2}},
{"pig",{100,1}},{"duck",{10,2}},{"horse",{200,5}}};
void main()
{
int k;
for(k=0;k<5;k++)
printf("name: %5s / age: %3d / weight: %3d \n",
child[k].name, child[k].pers_info.age, child[k].pers_info.weight);
}
[ 구조체 ]
문자상수에 포인터를 선언
( 중첩 구조체 (?) )
나이와 몸무게를 입력받을 정수변수 선언
5애의 데이터를 입력해 준다.
[ 메인 함수 ]
for문에 사용할 정수 k 선언
입력되어 있는 값을 출력한다.
추천자료
신호와 시스템 (그래프 그리기- C언어를 이용한 맥놀이 현상의 해석)
Binomial random variable X의 distribution C언어 구현
[castlenine]C언어 요점정리
자기소개서 카운팅 발표(c언어)
6족 로봇 보행 발표(c언어)
[언어의이해C]인간언어의 특징을 동물의 언어와 비교해서 제시하고, 소쉬르 언어학의 주요 내...
전화번호 관리 프로젝트 단순연결리스트를 이용한 c언어 자료구조
2013 장애인 기능경기 대회 1과제 C언어 답안 (프랜차이즈 커피전문점에서 상품별 판매실적 ...
MAZE 확장[자료구조/자료구조및실험/c언어/c#/ Maze problem/Maze/Maze problem/미로/미로찾기]
소개글