목록cpp (3)
말랑말랑제리스타일
C언어에서 구조체를 이용해 학생 관리 프로그램을 만들어봅시다. 콘솔 프로그래밍으로 학생 배열을 만들어 진행할 예정이며, 기능은 입력, 전체 출력, 번호를 이용한 삭제, 번호를 이용한 조회 이렇게 네 가지 기능으로 된 프로그램입니다. C언어 학생 관리 시스템 프로그램 전체 틀 구성 프로그램의 전체 흐름을 구성해 봅시다. 일단 학생 정보에 대한 구조체가 필요할 것이고 main 함수에서는 콘솔 프로그램이기 때문에 계속 반복되도록 while문을 걸어줘야겠죠. 그리고 C언어에서 동적으로 메모리 할당할 수도 있지만 학생 관리 콘솔 프로그램을 만드는 실습을 하는 단계에서 malloc 등의 동적 할당을 배웠을 확률이 낮기 때문에 define으로 최대 학생 수와 학생 이름의 최대 길이를 미리 정의해 두겠습니다. #inc..
C언어에서 rand 함수를 사용하는 경우 srand를 같이 사용하는 경우를 볼 수 있습니다. 그 이유는 rand 함수가 동작하는 방식 때문인데요. C언어뿐만 아니라 파이썬 등 대부분의 랜덤 함수에서 이런 방식이 사용됩니다. C언어에서 srand를 사용하지 않고 rand 함수를 사용하는 경우 C언어에서 rand 함수를 사용하는 아래 소스를 동작시켜봅시다. #include #include #include int main() { // 무작위 숫자 5개 생성 for (int i = 0; i < 5; i++) { int r = rand(); printf("%d ", r); } return 0; } 자 이 소스를 동작시키면 무작위의 5개 숫자가 생성될 겁니다. 그리고 다시 한번 실행해 봅시다. 다시 5개의 숫자가 ..
백준 알고리즘 1008번 문제 C++ 풀이입니다 먼저 사칙연산 문제가 난이도가 쉽지만 나눗셈의 특성상 곱셈, 덧셈, 뺄셈과 달리 결과가 정수가 아닌 소수가 나오게 됩니다 그리고 일반적인 나눗셈에서는 0으로 나누는 예외처리를 해줘야하지만 문제에 명시된 것처럼 백준 알고리즘 1008번 문제 연산에 사용되는 A와 B는 모두 0보다 크기 때문에 이 상황에 따른 예외처리는 필요없습니다 대신 출력단에서 %f로 출력하면 결과가 소수점 6자리까지 출력되는데 오차가 10^(-6) 수준이 되고 10^(-10)으로 해줘서 오차를 줄이기 위해 %.10lf로 출력을 해줘야하죠 이렇게 double a와 b를 10자리까지 출력해주려면 아래와 같은 코드로 백준알고리즘 1008번 문제를 풀 수 있습니다 백준 알고리즘 1008번 답 #..