본문 바로가기

오늘의 코딩/C언어

파일 입출력과 함수

파일입출력_성적처리기.cpp
0.00MB

파일 입출력 처리 순서

1. 파일 연결

1.1. 파일의 주소를 저장할 수 있는 파일 포인터 변수 선언

1.2. FILE* inData, outData

FILE 데이터 타입- 구조체에 가서 설명됨. 파일의 주소를 저장할 수 있는 파일 포인터 변수를 선언할 때 사용할 수 있는 데이터 타입.

 

2. 파일 열기

2.1. fopen() 함수 사용

fopen() 라이브러리 함수. stdio.h에 함수의 원형이 포함되어 있음. 

함수: 독립적으로 수행할 수 있는 프로그램 단위.

 

3.파일의 데이터 읽어 오기

3.1. fscanf() 함수 사용

fscanf() 내 소스코드에 있는 변수에 저장해주세요라는 뜻. 

 

4. 읽어온 데이터로 성적 처리

4.1. if, else 등의 명령어 사용 

 

5. 파일 닫기

5.1. fclose() 함수 사용

 

분할 정복 알고리즘

 

함수호출 방법(값에 의한 호출, 주소에 의한 호출)

변수의 유효 범위:

-지역변수: 함수 안에서 만들어진 변수는 그 안에서만 유효함

지역변수의 값을 다른 함수에서 이용하기 위해서는 값에 의한 호출을 이용하여 변수값을 복사하여 전달하거나 주소에 의한 호출을 이용하여 주소값 전달하여 사용 원본(main) 데이터의 수정 여부에 따라 함수호출 방법 결정

-글로벌변수: 사이드이펙트라고 오류 어쩌구가 있음

 

메모리 값이 바껴야 하는 경우: call by address 메모리 값이 바뀌면 안되는 경우: call by value

에러처리:

if ! <- 넘어오지 않으면  참이 된다: if 구문 실행. 

return 100->시스템 종료

 

"w" 없으면 만들어줌. 있으면 내용 다 지우고 새로 쓸 수 있는 파일로 만들어 줌.  

while 참이면 () 안의 문장을 실행하고 거짓이면 빠져나간다.

(getStu())함수를 호출해줘! 읽어와줘! spStu 를 받아서 계산해서 원본값까지 바꿔줘! 한 다음에

{} 안의 문장을 실행함!

{ 성적계산 함수 호출하고 성적 출력 함수 호출. 

}

%d%d%d%d 변환명쇄 

getStu 에 있는 건 포인터변수(일반변수가 아님) 그래서 여기에서 입력만 해도 &없이 주소 값이 곧장 바뀜

 

 

ㅇ(학점-> 학번 오타)

\a -> 에러나면 삑 소리 나게 함

 

'오늘의 코딩 > C언어' 카테고리의 다른 글

배열과 구조체  (0) 2019.08.25
배열과 함수  (0) 2019.08.25