U E D R , A S I H C RSS

새싹�실/2012/새싹�실강사�육/3주차

3주차: 세 살 코딩버릇� 여든까지
- 배열, ��터, 어드레스, 함수, Call-by-value, Call-by-reference, 구조체 -
�번 시간� �건 꼭 해야 �! (�거 �서체다 강사 진지하다)
1. Wiki� Ice breaking � 진행 �황 정리.
2. Koistudy.net 과제 확� � 빠른 복습 후 수업 진행
3. 코딩 Keyword 설명
4. 구글 협업 문서 만들어보기

1. 보기 좋� 코드� 중요성?
코딩� 하다 보면 �신� 코드를 다시 한번 �검해야 하는 경우가 꼭 ��니다. 하지만 항� 문제가 �기죠. �게 main문� 괄호(curly bracket : {} ) �지 for문� {} �지 헷갈릴 때가 있죠? �번 시간 �후� 한번 검색해보세요. 코딩 �어쓰기, 괄호를 어떻게 붙여야 하는지� 대해서 �입니다. 꼭! 잊지 마세요. 중요하답니다.

유지보수가 어렵게 코딩 하는 방법(�렇게 하진 맙시다) 15페�지까지.
http://www.hanb.co.kr/events/eventview.html?event_id=freebook

2. 코딩 실습
#include<stdio.h>
#include<string.h>
typedef struct _CALORIE{
	char name[40];
	float value;
}CALORIE;
int calregist(CALORIE *, int);
float calcalc(CALORIE *, int);
int main(){
	CALORIE cal[500] = { {"쌀류", 150.0}, {"짜장면", 57.1}, {"국수",133.3}, {"우�",100.0}, {"소면",133.3}, {"�빵", 250.0}};
	int cal_num = 6;
	int mode =0;
	printf("칼로리 계산기\n");
	while(1){
		printf("등�� 1, 계산� 2, 종료는 0� 입력하세요 : ");
		scanf("%d", &mode);
		if(mode == 0) break;
		else if(mode == 1) cal_num = calregist(cal, cal_num);
		else if(mode == 2) printf("�칼로리 : %6.2fkcal\n\n", calcalc(cal, cal_num));
	}
	return 0;
}
int calregist(CALORIE *pcal, int num){
		printf("�품명� 입력하세요 : ");
		scanf("%s", (pcal+num)->name);
		printf("그 �품� 칼로리를 입력하세요[kcal/100g] : ");
		scanf("%f", &(pcal+num)->value);
		printf("등��었습니다.\n\n");
		return num+1;
}
float calcalc(CALORIE *pcal, int num){
	char name[40];
	float gram = 0;
	float totalcal = 0.0;
	int i;
	printf("-- �품명 �람 -------------\n");
	for(i = 0; i<num;i++)
		printf("%s\t", (pcal+i)->name);
	printf("\n----------------------------------------\n");
	while(1){
		printf("�품명(end를 입력하면 계산합니다.) : ");
		scanf("%s", name);
		if(strcmp(name, "end") == 0)
			break;
		printf("그램 수 : ");
		scanf("%f", & gram);
		for(i=0;i<num;i++){
			if(strcmp(name, (pcal+i)->name) == 0){
				totalcal += (pcal+i)->value * gram /100.0;
				break;
			}
		}
	}
	return totalcal;
}	
3. 코딩 KeyWord (선�님들께 질문해보세요)
3.1 함수(function)는 �고. 왜 �겼는가? 쓰면 좋� ��? 함수� 범위(Scope)란?
3.2 같� 타입(Type)� 변수를 한꺼번� 관리해주는 배열(array)란?
3.3 메모리 주소(address)와 변수� 메모리 할당. 그리고 *��터 (pointer)
3.4 Call-by-value, Call-by-reference.? 무엇� 다른가?
3.5 �기�신� 부르는 재귀 함수?
3.6 난 나만� Type� 만들겠어 구조체(struct)와 typedef!
.
모르는 것� �겼� 때
C Library reference Guide http://www.acm.uiuc.edu/webmonkeys/book/c_guide/
WinAPI http://winapi.co.kr/ 를 찾아보시는 것� 항� 추천 드립니다.

4. 과제
컴퓨터 공학� 다니면서 우리와 관련� 것� 알아보는 것� 당연하겠죠?
컴퓨터 관련 �유주제� 대해 조사해오세요~! 구글 협업문서로 조를 �루어 해봅시다.
강사� 계정� 구글 협업 문서 만들기 -> 학�들� 계정 공유 등� 까지 마�봅시다.

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:29:45
Processing time 0.0048 sec