June is Combung
구조체 기본 본문
#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