EPI00 개발일지
(코딩 교육용)C언어 순서맞추기 문제내는 프로그램 본문
동아리 축제 때 전시(사실상은 Zoom을 통한 랜선 시연)할 프로그램을 만들어야 했는데, 이 때 우리 동아리에서 나온 여러개의 아이디어 중 코드를 퍼즐처럼 순서를 맞추며 실행해보는 그런걸 해보면 어떻겠냐는 아이디어를 실현했다.
개발 기간 : 2021년 06월 16일 13시 15분 ~ 16시 30분
사용 언어 : Python 3.7.4
(C를 통해 구동되는 Python으로 C 교육용 프로그램을 만들었다는 부분이 유머)
소스 코드 : https://github.com/dpvpd/code_order
프로그램 다운로드 : https://drive.google.com/file/d/1taB9YK701AZwMjRwf0wE_6xEd6h2L61G/view?usp=sharing
프로그램 소개 :
우선, 프로그램을 켜면 이런 창이 뜬다.
[코드 선택] 버튼을 누르면 위와 같은 창이 뜨는데, 이 중 하나를 선택해 [선택]을 누르면 프로그램에 내장된 코드를 로드할 수 있다. (사실 귀찮아서 3개만 만들어 놓았다. )
이렇게 코드가 로드되는데(본 예시에선 3rdcode.c를 선택했다), 좌측에 뜬 코드들을 드래그 앤 드롭으로 순서를 바꾼 뒤 [실행해보기]를 누르면 새 콘솔창이 열리며 해당 코드가 실행된다.
여기서 [실행해보기]를 누르면...
위와 같이 코드가 실행된다. 실행된 뒤 23을 입력한 후 Enter를 누른 화면이다.
사실 아이디어만으로는 만들지 못할 것이랑 생각이 들었으나, "하니까 되더라."
C언어 코드 실행은 사실 코드를 컴파일해서 실행하는게 아니라, 저 코드와 출력 결과가 같은 c언어 코드를(내용은 다르다. #include <windows.h>와 system("pause") 때문에)미리 컴파일해두고 그 결과로 나온 exe파일을 data폴더에 넣어놓고 subprocess를 이용해 실행하는 방식이다. 한마디로 편법.
아마 이 사실을 알고, data폴더 속의 파일들(.ui파일 두개는 제외)을 뜯어본 사람들, 혹는 github에 올려둔 소스코드를 읽어본 사람들은 바로 알 수 있을 것이다.
data폴더 속의 데이터 파일만 어떻게 잘 수정하면 저기에 더 많은 코드를 추가할 수 있다는 사실을.
하지만 난 귀찮다....
추가로.... 코드를 선택하지 않고 실행하면 critical 창이 뜨고, 순서를 맞추기 않고 실행하면 information창이 뜨면서 실행이 안된다. 일부러 막아둠
'프로그램 개발?' 카테고리의 다른 글
삼각함수+다항함수 정적분 (파이썬, 코드 only) (1) | 2021.07.25 |
---|---|
다항함수 정적분 프로그램 (C++, 코드 only) (0) | 2021.07.14 |
표준정규분포 확률밀도함수 정적분 (1) | 2021.06.07 |
정 규 분 포 (0) | 2021.05.31 |
이 항 분 포 (0) | 2021.05.31 |