C언어 구조체 Swap 함수
코드 #include struct major{ double math; double english; }; struct major swap(struct major); int main(void) { struct major s1 = { 0, 0 }; printf("수학점수와 영어점수를 입력하세요\n"); scanf_s("%lf %lf", &s1.math, &s1.english); printf("수학 %.2lf 영어 %.2lf \n", s1.math, s1.english); s1 = swap(s1); printf("수학 %.2lf 영어 %.2lf\n", s1.math, s1.english); } struct major swap(struct major s1) { double temp; temp = s1.math; ..
2022.02.20
C언어 구조체 연결리스트 정렬 삽입 삭제
코드 #include #include void PrintNode( void ); // 리스트에 있는 Node들을 출력 void InsertNode( char* name, int age ); // 새로운 Node를 추가 void DeleteNode( unsigned int id ); // id 값을 통해 Node 제거 void FreeList( void ); // 리스트의 모든 Node를 제거 typedef struct Node { unsigned int id; char *name; int age; struct Node *next; }NodeStruct; NodeStruct* g_pHead = NULL; // 리스트의 가장 첫 Node를 가르킴. NodeStruct* g_pTail = NULL; // 리스..
2022.02.20
C언어 영타연습기 프로그램
문제개요 이번 과제는 영문타자연습기로서 오타의 위치, 오타의 개수, 정확도 등등 을 출력해주며 텍스트 파일에 점수판을 구현하는 과제이다. 문제 분석 이번 과제에서 필요했던 기능들은, 파일 입출력, 구조체배열, 문자열 길이, 문자열 비교, 오타의 길이와 문장의 길이로 타자속도를 구하고, 이번 연습에서 가장 최고타자속도와 평균 타자속도를 화면에 출력해주어야 한다. 또한 점수판은 구조체배열로 구성되어 있으며, 이때까지 저장되어 있던 점수판을 불러들여 최대 점수로 비교를 한뒤 순위별로 정렬(버블)을 해서 다시 score.txt 넣어주는 역할을 하는 기능들이 필요로 한다. 또한 마지막으로 분할컴파일이 이번과제의 완성이 된다. 참고 처음에 1번은 게임시작 2번은 점수판 보기 게임시작후 이름을 작성하고 문장수를 선택..
2022.02.20
no image
Python Pycharm, GitHub Repository 추가
이번 글에서는 Pycharm 환경에서 GIthub Repository 추가하는 방법에 대해 설명드리겠습니다. 먼저, Pycharm 환경에서 Git -> GitHub-> Share Project on GItHub를 클릭합니다. 다음과 같은 창이 출력될텐데, 비공개로 하시고 싶다면, Private를 클릭하시면 됩니다. 공개로 하고 싶다면 체크를 풀어주시면 됩니다. 이후에 Share 버튼을 클릭합니다. 아래와 같이, Commit할 파일들의 목록이 나오게 됩니다. commit할 파일들을 확인한 후, Add 버튼을 클릭합니다. github 사이트에 가보시면, Repository와 프로젝트가 잘 생성되었음을 확인할 수 있습니다.
2022.02.19
no image
Python Anaconda, Jupyter Notebook, Pycharm 인터프리터 연동
Python을 이용해, 작업하기 위해 Anaconda 패키지와와 Jupyter Notebook 개발환경을 사용하시는 분들이 많습니다. 여기에 반복적인 작업을 하는 프로그램을 구현하기 위해, Pycharm을 추가로 설치하는 분들도 있습니다. 하지만, Pycharm은 Anaconda에서 기본적으로 제공하는 IDE가 아니므로, 인터프리터 연동의 문제가 발생할 수 있습니다. 1. 문제점 Jupyter Notebook과 Pycharm을 이용하여 각각의 환경에서 개발을 진행할 때, 필요한 라이브러리들을 다운 받기 위해 pip install '라이브러리' 를 자주 사용하게 됩니다. 그런데 이전에 다운 받았던 라이브러리가 없다고 에러가 발생되는 경우가 있습니다. 이 문제는 Jupyter Notebook과 Pycharm..
2022.02.19
no image
Python ProgrammingError: nan can not be used with MySQL
1. 에러 python을 이용하여 MySQL에 데이터를 삽입할 때, ProgrammingError: nan can not be used with MySQL 에러 문구를 발결할 수도 있습니다. 원인은 MySQL에서 python의 nan을 받아들이기 어렵기 때문입니다. 해결법은 다음 코드와 같이 간단합니다. 2. 해결방법 dataframe의 nan 값을 모두 None으로 바꿔주는 문구입니다. 위와 같이, NaN 값을 None으로 치환하고 나면 에러가 해결됩니다. df = df.where((pd.notnull(df)), None)
2022.02.19
Python MySQL 데이터 조회: WHERE, ORDER BY, LIMIT
이번 글에서는 Python을 이용하여, 데이터를 조회해보게습니다. 데이터를 조회하기 이전에는 아래와 같은 절차가 필요합니다. DB생성 TABLE 생성 데이터 추가 위 절차가 궁굼하다면 아래의 링크들을 참조하세요. 2022.02.19 - [소프트웨어/Python] - Python MySQL DB 생성, 삭제 2022.02.19 - [소프트웨어/Python] - Python MySQL 테이블 생성, 제거 2022.02.19 - [소프트웨어/Python] - Python MySQL 데이터 단일 행, 다중 행 추가 1. 정리 1.1. TABLE 구조 및 데이터 구성 데이터를 조회하기에 앞서, 조회하고자 하는 TABLE의 구조를 파악해야 합니다. 이번 글에서 실습하고자 하는 TABLE의 구조는 아래와 같습니다. ..
2022.02.19
no image
Python MySQL 데이터 단일 행, 다중 행 추가
이번 글에서는 Python을 이용하여, MySQL의 TABLE에 데이터를 추가하고 삭제해보겠습니다. 데이터를 추가하기 전에는 DB와 TABLE이 존재해야 합니다. DB와 TABLE이 추가되지 않은 상태라면, 아래 글들을 참조하세요. 2022.02.19 - [소프트웨어/Python] - Python MySQL DB 생성, 삭제 2022.02.19 - [소프트웨어/Python] - Python MySQL 테이블 생성, 제거 1. 정리 위에서 설명한 바와 같이, 데이터를 생성하기 전에는 DB와 TABLE이 있어야 합니다. TABLE은 생성되어있다고 가정하겠습니다. TABLE의 구조는 다음과 같습니다. 이름 종류 dateTime datetime name varchar(255) val1 smallint(6) va..
2022.02.19
no image
Python MySQL 테이블 생성, 제거
이번 글에서는 Python을 이용하여 MySQL의 테이블을 생성하고 삭제해보겠습니다. 1. 정리 1.1. TABLE 생성 TABLE을 생성하기 전에, 아래와 같은 작업을 처리해야 합니다. 좀더 자세한 설명은 아래 링크를 참조하세요. 2022.02.19 - [소프트웨어/Python] - Python MySQL DB 생성, 삭제 pymysql 모듈 import connect cursor 이제 쿼리문을 작성해보겠습니다. DB를 생성하는 쿼리문은 'CREATE TABLE TABLE명(데이터타입, 데이터이름)' 입니다. 만약, 두개 이상의 데이터를 저장하고 싶으면 'CREATE TABLE TABLE명(데이터타입1, 데이터이름1, 데이터타입2, 데이터이름2)' 와 같이, 쿼리문을 작성하시면 됩니다. 아래의 sql문..
2022.02.19