c언어 구조체와 동적할당에 관련된 질문입니다.

c언어 구조체와 동적할당에 관련된 질문입니다.

QA

c언어 구조체와 동적할당에 관련된 질문입니다.

본문

지금 구현한 형태에서 동적할당을 이용하면서 구조체를 이용해 학생 이름, 학번, 점수 이 세가지 값을 입력받아서 처리하고 싶은데 어디서부터 손을 대야할지 방법을 잘 모르겠습니다.

 


#include <stdio.h>
#include <stdlib.h>
struct info {
    char name[12];
    int number;
    int score;
};
typedef struct info info;
void main()
{
    int n, i, sum = 0, * p;
    double avg;
    printf("학생 수를 입력하시오 : ");
    scanf_s("%d", &n);
    p = (int*)malloc(n * sizeof(struct info));
    printf("학생 수 만큼의 이름과 학번과 점수를 입력하시오 : ");
    for (i = 0; i < n; i++) {
        scanf_s("%d", p + i); //&p[i]
        sum += p[i]; //*(p+i)
    }
    avg = (double)sum / n;
    int max = p[0];
    for (i = 1; i < n; i++) {
        if (p[i] > max) max = p[i];
    }
    free(p);
    printf("평균: %.2lf 최고점: %d \n", avg, max);
}

이 질문에 댓글 쓰기 :

답변 1

    p = (info*)malloc(n * sizeof(struct info));
    printf("학생 수 만큼의 이름과 학번과 점수를 입력하시오 : ");
    for (i = 0; i < n; i++) {
        scanf_s("%s", &p[i].name); //&p[i]
        scanf_s("%d", &p[i].number); //&p[i]
        scanf_s("%d", &p[i].score); //&p[i]
        sum += p[i].score;
    }
답변을 작성하시기 전에 로그인 해주세요.
전체 19
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT