정보
-
업무명 : C 프로그래밍 과제물
-
작성자 : 이상호
-
작성일 : 2019-09-03
-
설 명 :
-
수정이력 :
-
2020-04-06 : 서식 보완
-
내용
[개요]
-
안녕하세요? 웹 개발 및 연구 개발을 담당하고 있는 해솔입니다.
-
오늘 포스팅은 C 프로그래밍 과제물을 소개드리고자 합니다.
[특징]
-
C 프로그래밍 과제물에 대한 이해를 돕기위해 작성
[기능]
-
과제물 지시사항
-
과제물 작성 요령
[활용 자료]
-
인터넷 검색
[과제물 작성 요령]
-
과제물 작성 계획 세우기
-
과제물 작성을 위하여 계획 및 준비, 글쓰기, 제출과 같이 3 단계로 구성
-
1 단계는 우선 계획 및 준비로서 공고 확인, 제출 기간 확인, 과제물 문제를 파악
-
2단계의 경우 글쓰기로서 자료 검색 수집 및 개요 작성 그리고 본문 쓰기 및 수정
-
끝으로 제출 마감일뿐만 아니라 파일 용량 검사 및 온라인시스템 제출
-
-
과제물 문제 파악 요령
-
과제물 문제에서 교수님의 지시사항을 정확히 간파하여 작성
-
특히 제출 파일의 양식/용량 및 스타일 형식 그리고 작성 분량에 유의
-
-
나만의 글쓰기 전략
-
앞서 작성 계획에서와 같이 단계별로 수행이 필연
-
추가로 각 과제물마다 한글 또는 워드 양식에서 각자만의 스타일을 바탕으로 글의 내용 작성
-
또한 각종 인터넷 검색 및 도서를 참조하여 내용을 제시할 뿐만 아니라 그에 따른 판단의 근거에 대한 명확한 인용 및 출처가 정확하게 표시
-
-
학술 검색을 위한 유용한 방법
-
인터넷은 1950대에 컴퓨터의 개발과 더불어 너무 많은 정보의 바다에서 살고 있기 때문에 자신에게 필요한 정보 발굴 능력 요구
-
인터넷 검색이 익숙하지 않을 경우 네이버 검색을 추천하고 익숙하면 구글 검색이 유용
-
그러나 일반적으로 네이버 또는 구글로 검색할 경우 다수의 블로그에서 중복되는 정보를 확인할 수 있고 이러한 정보들은 대부분 복사 붙여넣기로 인해 남용되고 있는 실정
-
따라서 이 보다는 전 세계 검색엔진 2위를 차지한 Yahoo! JAPAN (https://www.yahoo.co.jp)에서 검색하여 구글 번역할 경우 원하는 정보를 쉽게 얻음
-
연구 보고서 또는 SCI/SCIE 논문을 보기 위해서 대학교에서 저널을 구독하는 것이 일반적이나 모든 저널을 구독하기에는 상당한 경제적 부담이 되기 때문에 SCI-HUB (https://sci-hub.tw/)를 통해 보는 것을 추천
-
[사용법]
-
과제물 서식을 바탕으로 작성
[사용 OS]
-
Windows 10
[사용 언어]
-
C
-
한글 v2018
과제물 문제
소스 코드
[명세]
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#pragma warning(disable:4996)
#define _crt_secure_no_warnings
void chang_shlee(char chName[]);
void draw_shlee(int arrsize);
int main() {
/**************************** (1) chang_shlee() ****************************/
char chName[100];
// 문자열 입력
printf("\n문자열을 대소문자를 구분하여 입력 : ");
gets_s(chName);
printf("-----------------------------------------------------------\n");
// 대소문자 변환 함수 호출
chang_shlee(chName);
/**************************** (2) draw_shlee() ****************************/
int iArrSize;
printf("5부터 10 사이의 홀수 숫자를 입력하시오 \n(0을 입력시 프로그램 종료) \n");
// 무한 반복문 수행
while (1) {
printf("\n숫자 입력 : ");
// 배열 크기 (정수) 입력
scanf("%d", &iArrSize);
// 프로그램 종료의 경우
if (iArrSize == 0) {
// 종료 메시지 출력
printf("-----------------------------------------------------------\n");
printf("♥프로그램을 종료합니다. 이름 : 이상호");
printf("\n-----------------------------------------------------------");
break;
}
if (5 <= iArrSize && iArrSize <= 10) {
// 홀수의 경우
if (iArrSize % 2 == 1) {
// 모래시계 출력 함수 호출
printf("-----------------------------------------------------------\n");
draw_shlee(iArrSize);
printf("\n-----------------------------------------------------------");
} else {
// 경고 메시지 출력
printf("-----------------------------------------------------------\n");
printf("★ 홀수를 입력하시오. 학번 : 201934-363698");
printf("\n-----------------------------------------------------------");
}
} else {
// 경고 메시지 출력
printf("-----------------------------------------------------------\n");
printf("☆ 5부터 10 사이의 홀수를 입력하시오. 학과 : 컴퓨터과학과");
printf("\n-----------------------------------------------------------");
}
}
return 0;
}
void chang_shlee(char chName[]) {
// 배열 초기화
char chSetName;
int iSetCount;
iSetCount = strlen(chName) - 1;
if (iSetCount > 0) {
printf("변환된 결과물 출력 ==> ");
}
for (int iCount = iSetCount; iCount >= 0 ; iCount--) {
chSetName = chName[iCount];
if (isupper(chSetName)) { // 대문자 여부
printf("%c", tolower(chSetName)); // 소문자 변환
} else if (islower(chSetName)) { // 소문자 여부
printf("%c", toupper(chSetName)); // 대문자 변환
} else if (chSetName == ' ') { // 공백일 경우
printf("%c", '\0'); // 공백 처리
} else {
printf("%c", "문자형을 확인해주세요.");
}
}
printf("\n===========================================================\n");
}
// 배열의 크기를 입력 받아 모래시계 출력
void draw_shlee(int iArrSize) {
// 배열 초기화
char arr[9][9] = {};
int iSetValue = 0;
int iTmpCount = iArrSize - 1;
int iSetNumber = iArrSize - 1;
// 배열 세팅
for (int iCount = 0; iCount <= iSetNumber; iCount++) {
int jSetCount, jSetNumber;
if (iCount > iTmpCount) {
jSetCount = iTmpCount;
jSetNumber = iCount;
} else {
jSetCount = iCount;
jSetNumber = iTmpCount;
}
for (int jCount = jSetCount, jNumber = jSetNumber; jCount <= jNumber; jCount++) {
iSetValue++;
arr[jCount][iCount] = iSetValue;
}
iTmpCount--;
}
// 배열 출력
for (int iCount = 0; iCount <= iSetNumber; iCount++) {
for (int jCount = 0; jCount <= iSetNumber; jCount++) {
int iGetValue = arr[iCount][jCount];
// 값이 있을 경우
if (iGetValue != 0 && iGetValue != NULL) {
printf("%4d", iGetValue);
} else {
printf("%4s", "\0");
}
}
printf("\n");
}
}
[GitHub Gist]
관련 자료
[제출본]
참고 문헌
[논문]
- 없음
[보고서]
- 없음
[URL]
- 없음
문의사항
[기상학/프로그래밍 언어]
- sangho.lee.1990@gmail.com
[해양학/천문학/빅데이터]
- saimang0804@gmail.com
'자기계발 > 방송통신대 컴퓨터과학과' 카테고리의 다른 글
[방송통신대 컴퓨터과학과] 2019년 2학기 전공 컴퓨터과학개론 소개 (0) | 2019.10.20 |
---|---|
[방송통신대 컴퓨터과학과] 2019년 2학기 전공 C++ 프로그래밍 소개 (0) | 2019.10.20 |
[방송통신대 컴퓨터과학과] 2019년 1학기 전공 Visual C++ 프로그래밍 과제물 (2) | 2019.09.04 |
[방송통신대 컴퓨터과학과] 2019년 1학기 일선 데이터정보처리입문 과제물 (0) | 2019.09.04 |
[방송통신대 컴퓨터과학과] 2019년 1학기 전공 HTML 웹 프로그래밍 과제물 (0) | 2019.09.04 |
최근댓글