728x90
struct과 pointer를 활용한 선수별 점수 출력하기
포스트 난이도: HOO_Intern
# Example codes
이번 포스트에서는 struct과 pointer를 활용하여 선수별 점수를 출력하는 예제코드를 살펴볼 수 있다. 아래의 예제코드를 살펴보면 struct과 더불어 각 선수의 아이디를 입력받아 저장하는데, 이 과정에서 포인터를 활용하여 데이터가 저장되는 걸 알 수 있다. 여기서 추가적으로 아이디를 입력했을 때 중복 여부를 확인할 수 있는 조건 블록을 작성해 줄 수도 있다. 포인터를 확실히 익혀야 다음 단계로 넘어갈 수 있기 때문에 아래의 예제코드를 통해서 포인터와 struct 사용에 대해서 확실히 이해하고 넘어가도록 하자.
#include <stdio.h>
// Define the Player structure
struct Player {
int number;
int points;
};
// Function prototypes
void getPlayerInfo(struct Player*);
void showInfo(struct Player);
int getTotalPoints(struct Player[], int);
int main() {
// Create an array of 4 Player structures
struct Player players[4];
// Get player information from the user
for (int i = 0; i < 4; i++) {
printf("\nPLAYERS #%d\n", i + 1);
printf("---------\n");
getPlayerInfo(&players[i]);
}
// Display the table of player information
printf(" NUMBER POINTS SCORED\n");
for (int i = 0; i < 4; i++) {
showInfo(players[i]);
}
// Calculate and display the total points earned by all players
int totalPoints = getTotalPoints(players, 4);
printf("\nTOTAL POINTS: %d\n", totalPoints);
return 0;
}
// Function to get player information from the user
void getPlayerInfo(struct Player *p) {
printf("Player's four digit ID: ");
scanf("%d", &p->number);
printf("Points scored: ");
scanf("%d", &p->points);
}
// Function to display player information
void showInfo(struct Player p) {
printf("%12d | %13d\n", p.number, p.points);
}
// Function to calculate the total points earned by all players
int getTotalPoints(struct Player players[], int count) {
int total = 0;
for (int i = 0; i < count; i++) {
total += players[i].points;
}
return total;
}
# github link
[Temp]
# 참고 포스트
https://whoishoo.tistory.com/663
728x90
댓글