방통대 c프로그래밍 1학기 출석수업대체과제물
본 자료는 2페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
해당 자료는 2페이지 까지만 미리보기를 제공합니다.
2페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

방통대 c프로그래밍 1학기 출석수업대체과제물에 대한 보고서 자료입니다.

목차

1. 반복문을 이용하여 3명의 이름과 학과, 주민등록번호를 입력받아 프로그램 실행 예와 같이 이름, 생년월일, 윤년 여부, 출생지역(대한민국, 외국), 성별(남자, 여자), 학과 이름을 출력한다.

2. 입력 받은 3명의 정보를 생년월일을 기준으로 오름차순으로 출력한다

제출내용:
1) 작성한 프로그램 소스의 각 라인에 주석을 달고, 보고서(한글, MS워드) 파일에 넣으시오.

2) 프로그램의 실행화면을 캡쳐하여 보고서 파일에 넣으시오.

3) 프로그램의 순서도(flowchart)를 작성하고 보고서 파일에 넣으시오.

본문내용

> //표준 입출력 라이브러리 printf, scanf 위해 사용
#include //문자열 복사 함수 strcpy 을 위해 사용
#pragma warning(disable:4996) // scanf 에러 발생을 막기 위해 선언합니다.
//학생 구조체를 정의합니다.
//학생은 이름(name), 주민번호(resident), 윤년(leap), 국가(nation), 학부(department) 의 문자열과
// 생년(year), 월(month), 일(day) 세개의 정수 변수로 이루어져있습니다.
struct Student {
char name[20];
char resident[14];
int year;
int month;
int day;
char leap[9];
char nation[9];
char sex[5];
char department[50];
};
//다음 함수는 프로그램이 이름, 주민번호, 학부를 입력받았을 때, 주민번호를 이용해,
//생년월일을 구하고 윤년여부를 체크하기 위해 만든 함수입니다.
//student.resident와 생년, 월과 일을 기억할 int pointer를 매개변수로 가지고,
//윤년이면 0을 윤년이 아니면 1을 반환합니다.
int birthday(struct Student p, int *year, int *month, int *day) {
//주민번호 7자리를 정수로 바꾸기 위해 크기가 7인 int array를 정의
int resident[7];
//아래 for문에 사용할 변수 선언
int i;
//아래 for문에서 문자열로 정의해 받은 주민번호 중 앞 7자리를 int 변수로 변환합니다.
// 아스키 코드와 정수 변환 보정을 위해 아스키코드 \'0\'만큼 빼줍니다.
// 일반적으로 정수 i와 아스키 코드 \'i\' 사이엔 다음과 같은 공식이 성립합니다.
// i = (int) \'i\' - \'0\'
for (i = 0; i < 7; i++) {
resident[i] = (int) p.resident[i] - \'0\';
}
//주민번호 7번째 자리를 이용해 100년 단위를 구분합니다.
//if, else if, else와 논리 연산자 or(||)을 사용했습니다.
if (resident[6] == 1 || resident[6] == 2 || resident[6] == 5 || resident[6] == 6)
*year = 1900;
else if (resident[6] == 9 || resident[6] == 0)
*year = 1800;
else
*year = 2000;
//year, month, day 포인터에 값 참조(*)를 이용해 주민번호의 숫자를 옮겨옵니다.
//이 작업을 통해 매개변수로 넣었던 int pointer에 생년월일을 각각 입력할 수 있습니다.
*year = *year + resident[0] * 10 + resident[1];
*month = resident[2] * 10 + resident[3];
*day = resident[4] * 10 + resident[5];
//아래는 윤년 여부를 판단하기 위한 구문입니다.
//윤년이면 0, 윤년이 아니면 1을 반환합니다.
if (*year % 4 == 0 && *year % 100 != 0)
return 0;
else if (*year % 400 == 0)
return 0;
else
return 1;
};
//국적을 판단하는 함수
int nation(struct Student p) {
//국적을 판단하기 위해 주민번호 7번째 자리가 필요함.
//이를 정수 변수로 저장
int i;
i = (int) p.resident[6] - \'0\';
//7번

키워드

C
  • 가격3,000
  • 페이지수8페이지
  • 등록일2020.11.19
  • 저작시기2020.11
  • 파일형식한글(hwp)
  • 자료번호#1140686
본 자료는 최근 2주간 다운받은 회원이 없습니다.
다운로드 장바구니