June is Combung

구조체 기본 본문

C/구조체

구조체 기본

june__Park 2021. 3. 29. 16:56
#include <stdio.h>
#include <string.h>

/*
	< 구조체(structure) > 
	- 여러 형태의 변수를 한 세트로 묶어서 새로운 나만의 자료형으로 만드는 것 
*/

// 구조체 정의(설계도 만들기)
/*struct student {
	char name[100]; // 필드 (= 멤버변수)
	int kr;
	int en;
	int ma;
	double avg; 
};

typedef struct student ST; // struct student 를 ST 라는 이름의 자료형으로 지정하겠다
*/
typedef struct student {
	char name[100]; // 필드 (= 멤버변수)
	int kr;
	int en;
	int ma;
	double avg; 
}ST;

#include <string.h>
void ex03(){
	ST s1; //struct student s1;
	struct student s2 = {"김피카츄", 100, 80, 90, 90.0};
	struct student s3 = {"최또도가스"};

	//strcpy_s(s1.name, 100, "이푸린"); // s1.name = "이푸린"
	scanf_s("%s", s1.name, 100);
	//s1.kr = 100;
	scanf_s("%d", &s1.kr);
	s1.en = 88;
	s1.ma = 67;
	s1.avg = (s1.kr + s1.en + s1.ma) / 3.0;

	// . : 직접접근연산자 ( ~의 ) ==> 구조체변수명.필드명
	printf("%s. %d / %d / %d 평균:%.2lf점 \n", s1.name, s1.kr, s1.en, s1.ma, s1.avg);
	printf("%s. %d / %d / %d 평균:%.2lf점 \n", s2.name, s2.kr, s2.en, s2.ma, s2.avg);
	printf("%s. %d / %d / %d 평균:%.2lf점 \n", s3.name, s3.kr, s3.en, s3.ma, s3.avg);

}


// Pokemon 구조체 정의(자료형명 : POK)
//   필드 : name, lv, hp, ap

// TODO : 풀이, 구조체와 함수/배열/포인터
void quiz01(){
	// Pokemon 구조체 변수 4개 만들기 
	//  (+ 4칸짜리 배열1개도 가능)

	// scanf_s() 로 포켓몬 4마리의 이름, 레벨 입력 받기. 
	//   체력(hp) : 레벨의 100배 
	//   공격력(ap) : 레벨의 10배 (+ rand() 를 사용하여 20% 확률로 15배)

	// printf() 로 모든 정보 출력 

	// (+ 가장 레벨이 높은 포켓몬의 이름과 레벨 출력)
}



void main(){
	ex03();
}

/*
int main(int argc, char* args[]){
	// argc : arguments count (인자의 개수)
	// project4.exe aaa bbb ccc ==> 4개 
	
	// args : 인자가 들어갈 char*의 배열 
	for(int i = 0; i < argc; ++i){
		printf("args[%d] : %s \n", i, args[i]);
	}
	return 0; 
}*/

'C > 구조체' 카테고리의 다른 글

괄호예제 & 포켓몬2  (0) 2021.03.29
도서관리1  (0) 2021.03.29
포켓몬  (0) 2021.03.29
Comments