구조체를 이용한 C언어 프로그래밍 (문제풀이)
본 자료는 2페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
해당 자료는 2페이지 까지만 미리보기를 제공합니다.
2페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

구조체를 이용한 C언어 프로그래밍 (문제풀이)에 대한 보고서 자료입니다.

목차

1. 음식점을 기술하는 구조체를 작성하여라. 이 구조체는 음식점의 이름, 주소, 평균 가격, 음식의 형태 등을 포함하는 맴버를 가져야 한다. 이 구조체를 이용하여 주어진 음식 형태를 취급하는 모든 음식점을 가격이 저렴한 순으로 출력하는 프로그램을 작성하여라.
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 선언
입력되어 있는 값을 출력한다.

키워드

구조체,   C언어,   프로그래밍,   문제,   풀이,   비트,   필드,   공용체
  • 가격1,000
  • 페이지수8페이지
  • 등록일2004.10.05
  • 저작시기2004.10
  • 파일형식한글(hwp)
  • 자료번호#269545
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니