본문 바로가기
ProgrammingLanguage/C언어

C언어 | 구조체 예제

by 씽쌩쏭 2021. 2. 14.
728x90

✅문제 : 학생 정보 입력 받기

 

사용자로부터 학생의 이름, 나이, 학년, 수학, 영어, 국어 점수를 입력받고

이를 평균과 함께 출력하는 프로그램을 작성하세요.

 

(코뮤니티 모각코 과정 中 출제된 문제입니다.)

 

[초안]

 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

typedef struct//구조체 정의
{
	char name[20]; //이름
	int age; //나이
	int grade; // 학년
	int math; // 수학 점수
	int english; // 영어 점수
	int korean; // 국어 점수

}Student;


int main() {

	Student st; //구조체 선언

	int avg; //평균 변수

	//입력
	printf("이름 : ");
	scanf("%s", &st.name);
	printf("나이 : ");
	scanf("%d", &st.age);
	printf("학년 : ");
	scanf("%d", &st.grade);
	printf("수학 : ");
	scanf("%d", &st.math);
	printf("영어 : ");
	scanf("%d", &st.english);
	printf("국어 : ");
	scanf("%d", &st.korean);

	//평균 계산
	avg = (st.math + st.english + st.korean) / 3;

	//출력
	printf("\n[학생]\n");
	printf("이름 : %s\n", st.name);
	printf("나이 : %d\n", st.age);
	printf("학년 : %d\n", st.grade);
	printf("수학 : %d\n", st.math);
	printf("영어 : %d\n", st.english);
	printf("국어 : %d\n", st.korean);
	printf("평균 점수 : %d\n", avg);

	return 0;
}

 

평균이 소수점 뒤까지 출력되지 않는다는 걸 까먹었다.

다시 수정하고 실행 ... 

 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

typedef struct//구조체 정의
{
	char name[20]; //이름
	int age; //나이
	int grade; // 학년
	int math; // 수학 점수
	int english; // 영어 점수
	int korean; // 국어 점수

}Student;


int main() {

	Student st; //구조체 선언

	double avg; //평균 변수

	//입력
	printf("이름 : ");
	scanf("%s", &st.name);
	printf("나이 : ");
	scanf("%d", &st.age);
	printf("학년 : ");
	scanf("%d", &st.grade);
	printf("수학 : ");
	scanf("%d", &st.math);
	printf("영어 : ");
	scanf("%d", &st.english);
	printf("국어 : ");
	scanf("%d", &st.korean);

	//평균 계산
	avg = (double)(st.math + st.english + st.korean) / 3;

	//출력
	printf("\n[학생]\n");
	printf("이름 : %s\n", st.name);
	printf("나이 : %d\n", st.age);
	printf("학년 : %d\n", st.grade);
	printf("수학 : %d\n", st.math);
	printf("영어 : %d\n", st.english);
	printf("국어 : %d\n", st.korean);
	printf("평균 점수 : %f\n", avg);

	return 0;
}

 

 

깔--끔

예시로 넣은 건 내 바램임ㅋㅋ(희망 점수)ㅎㅎ