아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
통쾌한여우103
통쾌한여우10320.09.27

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 │이름 │ │
│───┼───┼───┼───┤
│국어 │ │총점 │ │
│───┼───┼───┼───┤
│수학 │ │평균 │ │
│───┼───┼───┼───┤
│영어 │ │등수 │ │
└───┴───┴───┴───┘

이런식으로 표를 만들고싶은데 알려주세요

55글자 더 채워주세요.
답변의 개수2개의 답변이 있어요!
  • ┌────┬────┬────┬────┐
    │번호 │ 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"); }