웹_프론트_백엔드 210

[단과_자료구조] 2020.07.22

1. 리스트를 이용하여 학생 성적 프로그램 만들기#include#includetypedef struct NODE { int data; struct NODE* next;}N;void add(N* root, int data) { N* node = (N *)malloc(sizeof(N)); node->data = data; node->next = NULL; // 노드 생성 // 마지막노드의 next가 매번 새로운 노드를 가리킬수있도록 해야함! N *p = root; while (p->next != NULL) { // 마지막노드를 찾기위해 [p->next] 작성!!! if (p->next->data == data) { printf("%d는 이미 존재합니다.\n", data); return; } e..

[단과_자료구조] 2020.07.20

1. 배열을 이용한 성적 입력 프로그램#include#includetypedef struct student { char name[10]; int score; int num;}S;void f1(S *s, int index, int num) { printf("이름입력: "); scanf("%s", s[index].name); printf("성적입력: "); scanf("%d", &s[index].score); s[index].num = num;}void f3(S *s, int index) { for (int i = 0; i 성적수정가능 } else { printf("프로그램종료\n"); break; } } return 0;}  2. 지금까지는 배열과 구조체 배열을 이용했다.   배열은 삭제와 삽..

[단과_자료구조] 2020.07.17

1. 모듈화 프로그래밍 ** lec01.c#include#include// 모듈화 프로그래밍#include"studentFile.h"int main() { printf("학생수 입력: "); int n; scanf("%d", &n); S* s = (S*)malloc(n * sizeof(S)); // 학생 구조체 배열이 생성됨 for (int i = 0; i  ** studentFile.h#pragma once#includetypedef struct student { int num; // 1001번부터 순차적으로 지급 char name[20]; int s1; int s2; double avg;}S;void inputScores(S* sp) { // 주소값을 인자로 받기 위한 표인터 필요 -> 값 변화 발생..

[단과_자료구조] 2020.07.15

1. [과제] 입력: 1 1 0             출력: 2 1(2개의 1)             입력: 1 2 1 1 0             출력: 1 1 1 2 2 1(1의 1, 1의 2, 2개의 1)             입력 : 1 1 1 1 0             출력: 4 1(4개의 1)             제약사항 : 10개까지만 입력 가능** 내코드#include#include/* 힌트1 동적할당 vs 정적할당 => 정적할당을 코드를 짤 수 있으나 입력이 배열이 아니다란 판단을 내릴 수 있음 힌트2 이전 입력과 이후 입력(현재 입력)이 같은지 / 다른지? => 분기점이 달라지기 때문 1- 정적할당입력 -> 배열x출력 2- 배열입력이 아니구나~ -> for(;;i+=2)*/i..

[단과_자료구조] 2020.07.13

1. 자료구조 & 알고리즘에서 앞으로 배울 내용 : 배열, 구조체, 리스트, 스택, 큐, 트리   교환, 최대값, 정렬, 탐색, 순회  2. cmd 창이 안나올때? : 프로젝트 > 속성 > 링커 > 시스템 > 하위 시스템 콘솔로 변경  3. Visual Studio에서 scanf() 함수 사용하기  4. 포인터, call by value, call by reference, 동적할당#include#include // malloc 함수를 사용하기 위해 필요한 헤더파일// 1. call by value 값에 의한 호출void swap(int a, int b) { int tmp = a; // 임시 저장 변수 // a의 값을 기억할 임시 저장 변수가 필요함 a = b; b = tmp;}// 포인터? 주소..

디바이스_애플리케이션_구현 시험(아두이노 프로젝트)

1. 완성된 프로젝트 /* * 이름 : 박빈나 * 만든이유 : 최근 코로나로 인해 사회적인 문제를 일으키고 있습니다. 아두이노를 이용하여 온도를 체크, 코로나 의심자를 색출하여 널리 코로나가 퍼지는 것을 방지하자는 의도로 만들었습니다. * 작동원리 : 온도센서를 이용하여 온도를 파악한뒤 37.5도 이상일 때 LED 전구와 피에조를 이용하여 LED 전두는 불 켜지게 피에조는 소리가 나도록 만들었습니다. */ void setup() { Serial.begin(9600);// 직렬통신 초기화 pinMode(13, OUTPUT); } void loop() { int input = analogRead(A0);// 온도센서값 측정 float voltage = input * 5.0 / 1023.0;// 전압값 변환 ..

2020.07.13

1. 서보 모터(Servo Motor) : DC 모터와 달리 속도와 각도를 모두 제어하는 모터, RC카의 방향제어, 로봇의 관절 제어, 잠금잠치 열고 닫을때 등에 활용 2. 서보 모터를 사용하기 위해서는 라이브러리 사용 필요하다. 3. 09_03 서브모터 #include Servo myServo; void setup() { // 아두이노의 디지털 9번 핀을 서보 모터 제어에 사용. myServo.attach(9); } void loop() { // 서보 모터의 각도를 0 ~ 180도 까지 바꿈 for(int angle = 0; angle 문자열 변환 lcd.print("TEMP : " + tempStr);// LCD에 문자열 출력 Serial.println(tempStr);// 직렬 모니터에 문자열 출력..

2020.07.10

1. 서킷에서 사용하는 아두이노 보드는 아두이노 우노(UNO)이다. 2. 디지털 신호 : 신호를 주는 시간의 흐름이 불연속적 ** 아두이노에서 디지털 신호 핀 : 입력과 출력 모두 가능, 총 14개의 디지털 핀(0 ~ 13번)이 있다. 3. 아날로그 신호 : 신호를 주는 시간의 흐름이 연속적 ** 아두이노의 아날로그 입력 핀 : 항상 입력을 위해 사용되는 핀, 총 6개의 아날로그 핀(A0 ~ A5)이 있다, 디지털 핀에서 사용했던 pinMode() 함수를 사용할 필요가 없다. 4. 가변저항(potentiometer) : 전자회로에서 저항값을 임의로 바꿀 수 있는 저항기이다. 5. 07_01 가변저항 void setup() { // 아날로그는 pinMode가 필요없음 Serial.begin(9600);//..

2020.07.09

[Arduino 시작하기 전에 해야할 것들] 1. 팅커캐드(Tinkercad) 가입 : https://www.tinkercad.com/ > 지금 가입 클릭 > 개인 계정 만들기 > 가입 후 로그인하면 아래의 그림처럼 화면이 뜸 2. 새 회로 작성 : Circuits 클릭 > 새 회로 작성 클릭 > 회로 작성 페이지, 원하는 회로 작성하면 됨..!! [Arduino 회로 작성하기] 1. 001_Hello_Arduino 2. 01_02 blink // setup()과 loop 함수 이름은 변경하면 안된다, // 기본 설정되어 있는 이름임 // 최초(보드에 전원 연결시)에 단 한 번 실행되는 함수 void setup() { // 13번 핀 출력. // 출력? 전기신호를 내보내겠다는 뜻 pinMode(13, O..

2020.07.08

1. Visual Studio 다운 : 구글에 visual studio 검색 > https://visualstudio.microsoft.com/ko/ > Community 버전으로 다운(Community 버전만 무료로 사용할 수 있음) 2. 학원에서는 이미 다운로드된 2015 버전 사용할 예정 ** 계정 등록 완..!! 3. Visual Studio에서 GitHub 사용하기 : 도구 > 옵션 클릭 > 소스 제어 > 플러그 인 선택 > Git 선택 후 확인 버튼 > 팀 > 연결관리(N)... 클릭 > 팀 탐색기창 뜸 > GitHub 연결 버튼 클릭하면 로그인 창 뜸 > 로그인 > 복제 클릭 > 원하는 repositories 선택 후 Clone 클릭, [이때] repositories 선택하는 과정 중에 로컬..