c언어 구조체 성적표만들기 출력부분 알려주세용...
#include <stdafx.h>
#include <stdio.h>
#define MAXINPUTCOUNT 3
struct student{
char name[20];
int korean;
int english;
int math;
int total;
double average;
};
void swap(student *parmfrist, student *parmsecond)
{
student temp;
temp = *parm_frist;
*parmfrist = *parmsecond;
*parm_second = temp;
}
void main()
{
struct student record[MAXINPUTCOUNT];
int i, j;
for(i = 0; i < MAXINPUTCOUNT; i++){
printf("-. 이름을 입력하세요 : ");
scanf("%s", record[i].name);
printf("-. 국어점수 : ");
scanf("%d", &record[i].korean);
printf("-. 영어점수 : ");
scanf("%d", &record[i].english);
printf("-. 수학점수 : ");
scanf("%d", &record[i].math);
record[i].total = (record[i].korean + record[i].english + record[i].math);
record[i].average = record[i].total / 3.0;
printf("\n");
}
만약 입력부분이 이렇다면 출력부분이
┌───┬───┬───┬───┒
│번호 │ 1 │이름 │ │
│───┼───┼───┼───┤
│국어 │ │총점 │ │
│───┼───┼───┼───┤
│수학 │ │평균 │ │
│───┼───┼───┼───┤
│영어 │ │등수 │ │
└───┴───┴───┴───┘
이런식으로 표를 만들고싶은데 알려주세요
┌────┬────┬────┬────┐
│번호 │ 1 │ 이름 │ │
│────┼────┼────┼────┤
│국어 │ │ 총점 │ │
│────┼────┼────┼────┤
│수학 │ │ 평균 │ │
│────┼────┼────┼────┤
│영어 │ │ 등수 │ │
└────┴────┴────┴────┘이러한 방식으로 출력하기 위해서는 우선 출력시 번호대로 저 형식으로 모두 출력할 것인지 아니면 따로 입력받아 그 번호만 출력할 것인지를 알아야 할 것 같습니다.
전체를 저 형식으로 출력한다면 For문과 Printf를 이용하여 출력을 하면 될 것으로 보이구요.
전체 출력식을 정확하지 않고 틀릴 가능성이 매우 높지만 간략하게 코드를 짜자면
for(i = 0; i <= MAXINPUTCOUNT; i++)
{
printf("┌────┬────┬────┬────┐\n");
printf│번호 │ %d │ 이름 │ %s │\n", record[i] ,record[i].name);
printf│────┼────┼────┼────┤\n");
printf│국어 │ %d │ 총점 │ %d │\n", record[i].korean, record[i].total );
printf│────┼────┼────┼────┤\n");
printf│수학 │ %d │ 평균 │ %d │\n", record[i].math, record[i].average);
printf│────┼────┼────┼────┤\n");
printf│영어 │ %d │ 등수 │ │\n", record[i].english);
printf└────┴────┴────┴────┘\n");
}
이러한 방식으로 출력을 하면 될 것으로 보입니다.
아래와 같은 방법으로 하면 되지 않을까 합니다.
for (i=0; i<MAXINPUTCOUNT; i++) { printf("┌───┬───┬───┬───┒\n"); printf("│ 번호 │%6d│ 이름 │%6s│\n", i, record[i].name); printf("│───┼───┼───┼───┤\n"); printf("│ 국어 │%6d│ 총점 │%6d│\n", record[i].korean, record[i].total); printf("│───┼───┼───┼───┤\n"); printf("│ 수학 │%6d│ 평균 │%4.2f│\n", record[i].math, record[i].average); printf("│───┼───┼───┼───┤\n"); printf("│ 영어 │%6d│ 등수 │%6d│\n", record[i].korean, i); printf("└───┴───┴───┴───┘\n"); }