구조체 배열 실습: 평점이 최고인 학생의 정보를 출력하기

Slides:



Advertisements
Similar presentations
1.1 구조체란 1.2 중첩 구조체 1.3 구조체와 배열 1.4 구조체와 포인터 1.5 구조체와 함수 1.6 공용체와 열거형.
Advertisements

Chapter 12. 배열. 배열  동일한 항목들이 동일한 크기로 연속적으로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는 자료 구조.
Chapter 12 배열. 2 배열  의미  배열은 연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조로 그 사용이 간편  배열은 동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는 자료 구조 일반 변수가 단독주택이라면 배열은 아파트  크기  배열의.
1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는.
1. 2 차원 배열  배열은 동일한 데이터 유형으로 여러 개의 변수를 사용할 경우 같은 이 름으로 지정하여 간편하게 사용할 수 있도록 하는 것으로서 앞에서 1 차원 배열을 공부하였습니다.  2 차원 배열은 바둑판을 생각하면 되며, 1 차원 배열에서 사용하는 첨자를 2.
1 구조체 윤 홍 란 컴퓨터 프로그래밍 2 구조체 정의  구조체란 ? o 서로 다른 형의 변수들을 하나로 묶어주는 mechanism. (cf. 배열 : 같은 형의 변수들을 하나로 묶어주는 mechanism) o 예 : 카드의.
Format String Attack! 포맷 스트링 공격 경일대학교 사이버보안학과 학년 남주호.
제2장 C 언어의 확장 C++(1).
구조체란 무엇인가 ? 예: 학생관리 프로그램의 각 학생에 대한 기록(record) 구조체는 여러 자료형 변수들의 집합체이다.
2007 1학기 12 배열.
ㅎㅎ 구조체 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스 구조체 배열.
ㅎㅎ 구조체 C++ 프로그래밍 기초 : 객체지향의 시작 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스
제 7 장 함수 사용을 통해 엑셀 정복하기.
제 9 장 구조체와 공용체.
-Part2- 제3장 포인터란 무엇인가.
8. 객체와 클래스 (기본).
11장 구조체와 열거형 구조체의 정의 구조체 변수의 선언 구조체 초기화 및 사용 구조체 재정의 포인터를 이용해서 구조체 사용
자료 구조: Chapter 3 (2)구조체, 포인터
7장 배열 ②.
5장 배열 작성자 : 변재현.
2007 1학기 16 구조체.
5장. 참조 타입.
C++ 프로그래밍 년 2학기 전자정보공학대학 컴퓨터공학부.
C 프로그래밍.
C 프로그래밍.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
쉽게 풀어쓴 C언어 Express 제10장 배열 C Express Slide 1 (of 32)
2주차: 변수, 수식, Control Flow.
제8장 배열 1부 8.1 배열 8.2 배열의 초기화 8.3 배열의 응용 8.4 정렬과 탐색 8.5 다차원 배열.
컴퓨터 프로그래밍 실습 #6 제 4 장 클래스 작성.
C 9장. 구조체 #include <stdio.h> int main(void) { int num;
11장. 1차원 배열.
프로그래밍실습 제 24 강.
C#.
C언어: 구조체 (Structures).
13. 연산자 오버로딩.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
프로그래밍 개요
2장 프로그래밍 기초.
박성진 컴퓨터 프로그래밍 기초 [09] 배열 part 1 박성진
13. 포인터와 배열! 함께 이해하기 IT응용시스템공학과 김 형 진 교수.
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
Java의 정석 제 5 장 배 열 Java 정석 남궁성 강의 의
구조체.
포인터 1차원 배열과 포인터 2차원 배열과 포인터 문자열 배열과 포인터 포인터 배열
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
처음으로 배우는 C 프로그래밍 제4부 복합 데이터 형 제 7 장 배열.
5장 배열과 문자열 C 프로그래밍.
5강. 배열 배열이란? 배열의 문법 변수와 같이 이해하는 배열의 메모리 구조의 이해 레퍼런스의 이해 다차원 배열
문자열 컴퓨터시뮬레이션학과 2015년 봄학기 담당교수 : 이형원 E304호,
Choi Seong Yun 컴퓨터 프로그래밍 기초 #03 : 변수와 자료형 Choi Seong Yun
^^ Computer Programming 2 dmpr.cnu.ac.kr/~daygax.
구조체 (Structure).
보고서 #2(제출기한: 09/23) 다음 문제를 해결하시오. (7)
C++ 프로그래밍 기초 √ 원리를 알면 IT가 맛있다 3장. 연산자.
제 8장. 클래스의 활용 학기 프로그래밍언어및실습 (C++).
Chapter 10 데이터 검색1.
컴퓨터 프로그래밍 기초 - 11th : 파일 입출력 및 구조체 -
11장 배열 1. 배열이란? 1.1 배열의 개요 1.2 배열의 선언과 사용.
구조체(struct)와 공용체(union)
2강 -문혁-.
Chapter 11 구조체.
제 29 강 스트링(string) 다루기 s a i s . s T i h t g r i n.
어서와 C언어는 처음이지 제21장.
개정판 누구나 즐기는 C언어 콘서트 제13장 동적 메모리 출처: pixabay.
13. 포인터와 배열! 함께 이해하기.
Report #2 (기한: 3/16) 데이터 구조 과목의 수강생이 50명이라고 가정한다. 이 학생(학번은 2016????으로 표현됨)들의 중간 시험(0~100), 기말 시험(0~100) 성적을 성적 파일에 작성하라(프로그램을 통해서 또는 수작업으로). 성적 파일을 읽어들여서.
6 객체.
2019 2학기 9장 배열과 포인터 1. 주소, 주소연산자(&) 2. 포인터, 역참조연산자(*) 3. 배열과 포인터.
Presentation transcript:

구조체 배열 실습: 평점이 최고인 학생의 정보를 출력하기 #define N 5 struct grade { char name[10]; ? }; void main() { struct grade ? = { {“홍길동”, 4.2, 4.0}, … }; struct grade max; // max 역시 학생 한 명의 정보를 저장하는 구조체로 이름 (name) 1학기 (first) 2학기 (second) 평점 (mean) “홍길동” 4.2 4.0 ? “이몽룡” 3.5 3.1 “김갑돌” 4.1 3.9 “황진이” “성춘향” 2.5 2.7 std[0] std[1] std[2] std[3] std[4] std[i]의 mean 멤버의 값을 구한다. std 배열에서 평점이 최대인 학생의 정보를 max에 저장한다. std[i]의 mean과 max의 mean을 비교하여 std[i]의 mean이 더 크다면 max를 std[i]로 변경함 std 배열의 내용을 출력한다. max의 내용을 출력한다

일단 구조체 배열에서 각 학생의 mean멤버값을 구한 후 평균이 최대인 학생의 정보를 구조체 변수 max에 구하기 struct grade std[N]; name first second mean std[0] “홍길동” 4.2 4.0 4.1 std[1] “이몽룡” 3.5 3.1 3.3 std[2] “김갑돌” 3.9 std[3] “황진이” 4.15 std[4] “성춘향” 2.5 2.7 2.55 struct grade max; max의 최종 결과 내용 name first second mean “홍길동” 4.2 4.0 4.1 max의 초기값을 첫번째 학생의 정보로 지정하기 max = std[0]; max를 배열과 같은 구조체형으로 선언함으로써 max에 평균이 최대인 학생의 모든 정보를 포함시킬 수 있다.  평균이 최대인 학생의 이름은 max.name으로 출력할 수 있다.

구조체 배열 실습: 평점이 최고인 학생의 정보를 출력하기 모든 학생에 대해 평균 멤버를 구하기 (for문 이용) for (i=0; i<N; i++) std[i].mean = (double)(std[i].first + std[i].second )/2; max의 초기치를 첫번째 학생의 자료로 지정한 후(max=std[0]) max의 mean 멤버값과 다른 학생들의 mean 멤버값을 비교하며 검토하기 (for문 이용) if (max.mean < std[i].mean ) max = _______________________; //구조체 자료 통째로 대입 모든 학생에 대해 std[i]의 모든 멤버를 출력하기 (for문 이용) max의 모든 멤버를 출력하기 printf(“%s %.1lf %.1lf %.2lf \n”, max.name, max.first, max.second, max.mean);