본문 바로가기

반응형

SWEET NEW

(352)
[C언어] 실습: 구조체 'book'으로 책이름, 저자, 가격 출력하기 구조체 'book'으로 책이름, 저자, 가격 출력하기 #include #include // strcpy() struct book{ char title[20]; char writer[20]; int price; }; int main(){ typedef struct book Book; // struct book == Book Book b1 = {"c programming", "씨", 25000}; Book b2; strcpy(b2.title, "c++ programming"); strcpy(b2.writer, "씨플플"); b2.price = 33000; Book books[3] = { {"c programming", "씨", 25000}, {"c++ programming", "씨플플", 33000}, {"..
[C언어] 실습: 구조체 'people'로 이름, 나이, 신장 출력하기 구조체 'people'로 이름, 나이, 신장 출력하기 #include #include // strcpy() struct Contact{ // 구조체 선언 char name[20]; char phone[20]; int ringtone; }; struct people{ // 구조체 선언 char name[20]; int age; double height; } p3; // 구조체 선언과 동시에 변수(p3)를 선언해 준다. // people 이라는 구조체의 변수 p3 int main(){ // 구조체 변수 선언 struct people p1 = {"홍길동", 33}; struct people p2; // 구조체 접근을 위해 구조체 변수(p2) 생성 p2.age = 10; p2.height = 160.9; str..
[C언어] 구조체(Structure) 구조체(Structure)는 서로 다른 자료형을 하나의 이름으로 묶어서 관리하는 자료 구조로 '사용자 정의 자료형'이다. - 사용자 자료형 or 참조 자료형 - 기본 자료형: char, short, int, long, float, double - 참조 자료형: 배열명, 포인터형, 구조체형 1) 구조체 선언 typedef struct student{ // 구조체 자료정의 struct 구조체명 char grade; // 자료형 변수명; char name[20]; int sub[4]; double avg; int no = 9; // 자료형 변수명 = 9; } // 구조체 student에 49byte가 할당되었다. 2) 구조체 변수 struct student std; // 'std'는 구조체 변수명(객체명)이다..
[C언어] 실습: 알맞은 암호(abcd1234)가 입력되면 프로그램 종료하기 알맞은 암호(abcd1234)가 입력되면 프로그램 종료하기 입력 및 출력형식 패스워드를 입력해야 프로그램이 종료됩니다. ​ 패스워드: Abcd1234 일치하지 않습니다. ​ 패스워드: abcd1234 login successed #include #include // strcmp() int main(){ char password[] = "abcd1234"; // 초기 비밀번호를 설정하여 준다. char user[10]; // 입력하는 비밀번호를 받을 변수를 선언해준다. printf("패스워드를 입력해야 프로그램이 종료됩니다.\n\n"); while(1){ printf("패스워드 : "); scanf("%s", user); // strcmp()를 이용하여 'password'와 'user' 문자열을 비교한다...
[Arduino] 서보모터 실습: HIGH 값을 조절하여 서보모터 제어하기 HIGH 값을 조절하여 서보모터 제어하기 준비물) 아두이노 우노(Arduino Uno) USB 케이블 서보모터 (회로 연결) ​ #include // 서보모터 헤더파일을 선언한다. Servo myServo; // 서보모터 객체를 선언한다. void setup(){ myServo.attach(9); // ~PWM 아두이노 핀 번호를 선언한다. } void loop(){ myServo.writeMicroseconds(500); // HIGH 값을 500ms 동안 유지한다. delay(1000); myServo.writeMicroseconds(1000); // +45도 delay(1000); myServo.writeMicroseconds(1500); // +90도 delay(1000); myServo.writ..
[C언어] 실습: 두 개의 문자열을 입력받은 후, 값을 바꾸어 출력하기 (오류) 두 개의 문자열을 입력받은 후, 값을 바꾸어 출력하기 (오류) 오류: 포인터 *pstr 변수를 사용하였을 때, 크기가 다른 문자열 2개가 입력되면 pstr[0]과 pstr[1]에 할당된 크기가 다르기 때문에 오류가 발생한다. #include #include int main(){ char str[100]; // 임시배열을 선언해준다. char *pstr[2]; printf("문자열 1 : "); scanf("%s", str); pstr[0] = (char*)malloc(strlen(str) + 1); strcpy(pstr[0], str); // pstr[0]에 '문자열1'이 저장된 str의 문자열을 저장한다. printf("문자열 2 : "); scanf("%s", str); pstr[1] = (char*..
[Arduino] 서보모터 파형 ※파형의 주기는 서보모터에 따라 다르다. (서보모터: SG90) ​ ​ 서보모터는 PWM 방식으로 제어되며 파형의 주기는 20ms(50Hz)이다. f: 주파수(Hz), T: 주기(s) 1ms = 0.001s ∴f = 1/T f = 1 / (20 * 0.001)s = 50Hz 입력 파형의 HIGH 값은 보통 1~2ms 값을 가지며, HIGH 값을 유지하는 시간에 따라서 서보모터의 각도를 변화시킬 수 있다. 즉 Duty Cycle의 값을 조절하여 서보모터의 각도를 제어할 수 있다. 데이터 시트(SG90) Duty Cycle에 따른 각도 변화 ~1ms = -90deg 1.5ms = 0deg ~2ms = 90deg
[C언어] 실습: 두 개의 문자열을 입력받은 후, 값을 바꾸어 출력하기 두 개의 문자열을 입력받은 후, 값을 바꾸어 출력하기 입력형식 출력형식 문자열 1: apple 문자열 2: orange 문자열 1: orange, 문자열 2: apple #include #include // strcpy() int main(){ char tmp[10]; // str1[]과 str2[]의 값을 바꾸어 주기 위한 임시변수 tmp[]를 선언한다. char str1[10]; // 문자열1을 저장하기 위한 문자열 변수(문자 배열)를 선언한다. char str2[10]; printf("문자열 1: "); scanf("%s", str1); printf("문자열 2: "); scanf("%s", str2); printf("\n(전) 문자열 1: %s, 문자열 2: %s\n", str1, str2); s..

반응형