방통대) 중간 C프로그래밍 과제물
- 최초 등록일
- 2020.05.29
- 최종 저작일
- 2020.05
- 6페이지/ 한컴오피스
- 가격 3,000원
목차
없음
본문내용
1) 프로그램 소스
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//구조체에 이름, 주민번호, 연도, 월, 일, 소속국가, 성별, 학과정보를 저장한다.
typedef struct _person{
char name[20]; char r_number[14]; int yy; int mm; int dd;
char national; char sex; char subject[20];
} Person;
//넣은 정보는 생년월일을 기준이지만, 생년을 비교하여 비교를 해준다.
int compare1(const void *a, const void *b){
int yy1 = ((Person*)a)->yy; int yy2 = ((Person*)b)->yy;
//비교하는 수yy1이 비교당하는 수yy2보다 크면 비교당하는 수yy2보다 뒤로 가고 비교하는 수yy1이 비교당하는 수yy2보다 작으면 비교당하는 수yy2보다 앞에 놓는다.
if(yy1 < yy2){ return -1; } else if(yy1 > yy2){ return 1; } else { return 0; }
}
int main(int argc, char *argv[]) { //선언부에서는 반복문을 효과적으로 돌리기 위한 카운트 2개가 필요하다. 그리고 정보를 받은 구조체와 입력해야 할 주민등록번호 그리고 연월일을 주민번호6자리를 분리하여 받기위한 변수도 필요하다.
int cnt = 0; int i; Person arr[3]; char r_number[14]; char year[4], month[2], day[2];
printf("3명의 학생 정보를 입력하세요. \n"); printf("------------------------------------ \n");
//cnt가 3이 넘을 때 까지 계속 입력과 출력을 반복한다.
do{ //이름, 학과, 주민등록번호를 입력한다.
참고 자료
없음