C_C++

(C언어) 구조체를 이용한 성적처리

고니자니 2022. 10. 27. 21:10
반응형

#구조체 #struct #성적처리 #총점 #평균

 

구조체를 이용해서 성적처리를 하는 간단한 예제입니다.

#include <stdio.h>

struct SUNGJUK
{
	int bunho;
	char name[10];
	int kor;
	int eng;
	int mat;
};

int main()
{
	struct SUNGJUK a[5] = {
		{ 1, "정경환", 99, 97, 95 },
		{ 2, "이순신", 77, 88, 100 },
		{ 3, "홍길동", 88, 87, 89 },
		{ 4, "이이", 91, 92, 93 },
		{ 5, "이나라", 94, 7, 96 } 
	};

	int i, tot;

	printf("번호 이름     국어 영어 수학 총점    평균\n");
	printf("-----------------------------------------\n");
	for (i = 0; i < 5; i++)
	{
		tot = a[i].kor + a[i].eng + a[i].mat;

		printf(" %d   %-8s  %3d  %3d  %3d  %3d  %6.2f\n",
			a[i].bunho, a[i].name, a[i].kor, a[i].eng, a[i].mat,
			tot, (float)tot/3);
	}
	return 0;
}

(Output)

 

 

위에서 작성한 코드를 데이터를 입력받아서 처리하는 코드로 변경해 봅니다.

#define _CRT_SECURE_NO_WARNINGS    // Visual Studio

#include <stdio.h>
#define N	5

struct SUNGJUK
{
	int bunho;
	char name[10];
	int kor;
	int eng;
	int mat;
};

int main()
{
	struct SUNGJUK a[N];
	int i, tot;

	// 데이터 입력
	printf("5명의 성적을 입력하세요(번호 이름 국어 영어 수학)\n");
	for (i = 0; i < N; i++)
	{
		scanf("%d %s %d %d %d", 
			&a[i].bunho, a[i].name, &a[i].kor, &a[i].eng, &a[i].mat);
	}

	// 출력
	printf("\n\n");
	printf("번호 이름     국어 영어 수학 총점    평균\n");
	printf("-----------------------------------------\n");
	for (i = 0; i < N; i++)
	{
		tot = a[i].kor + a[i].eng + a[i].mat;

		printf(" %d   %-8s  %3d  %3d  %3d  %3d  %6.2f\n",
			a[i].bunho, a[i].name, a[i].kor, a[i].eng, a[i].mat,
			tot, (float)tot/3);
	}
	return 0;
}

/* 입력할 때 복사/붙여넣기 하면 됩니다.
1 정경환 99 97 95
2 이순신 77 88 100
3 홍길동 88 87 89
4 이이 91 92 93
5 이나라 94 7 96
*/

(Output)

 


파일에서 데이터를 읽어서 처리하는 프로그램 ...  ↙↙↙

https://gonyzany.tistory.com/90

 

(C언어) 구조체를 이용한 성적처리: 파일에서 데이터 읽기

#구조체 #성적처리 #데이터 #파일 #읽기 #fopen 데이터 파일로 부터 데이터를 읽어서 구조체 배열에 기억시킨 후, 이를 이용해서 성적처리를 하는 예제입니다. 데이터 파일을 다음과 같습니다. 1 정

gonyzany.tistory.com

 

반응형