파일 입출력 처리 순서
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 -> 에러나면 삑 소리 나게 함