전체 글 127

[C언어] 구조체(2) - 예제

과일 가격의 평균 구하기 과일 이름, 가격, 과일 철을 미리 선언 출력 함수를 사용하여 미리 선언된 과일의 정보 출력 과일들의 평균 가격 구하기 define으로 SIZE를 3으로 정의 #include #define SIZE 3 typedef struct Fruit { char name[20]; //20byte int price; //4byte char season[10]; //20byte }F; void main() { F arrFruit[SIZE] = { //구조체(2차원) 배열 {"사과", 1500, "가을"}, {"배", 2000, "가을"}, {"바나나", 900, "사계절"} }; double sum = 0; double avg = 0; for (int i = 0; i < SIZE; i++) {..

C언어 2021.08.08

[C언어] 구조체(1)

구조체 구조체는 반복되는 변수들을 편하게 관리하기 위해서 사용합니다. 변수들의 공통 요소를 찾아 구조체로 묶어 사용하며, 이렇게 만들어진 구조체는 재사용의 목적이 되기도 합니다. 방법① struct 구조체명 { //구조체 데이터타입 변수명1; 데이터타입 변수명2; }; void main() { //메인함수 struct 구조체명 구조체변수; 구조체변수.변수명1 = 값1; 구조체변수.변수명2 = 값2; } Ex) 방법① : x, y 좌표 출력하기 struct structEx{ //구조체 int x; //데이터타입 변수명1; int y; //데이터타입 변수면2; }; void main() { //메인 함수 struct structEx sE; sE.x = 10; // "구조체변수.멤버변수" 형식으로 초기화 sE..

C언어 2021.08.07

[자바] 백준 - 8958번

8958번 - OX퀴즈 입력받을 문자열의 개수를 Scanner로 입력 받고자 배열의 크기 정하기 for문을 이용해 각 인덱스에 문자열 입력받기 if문을 이용해 문자열의 단어를 하나씩 비교 비교한 문자가 'O'와 동일할 때 count를 1씩 증가하고, 그렇지 않을 때 count를 0으로 초기화 sum에 count에 있는 값을 누적에서 더하기 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String[] arr = new String[sc.nextInt()]; for (int i = 0; i < arr.length; i++) { arr..

Baekjoon 2021.08.04

[C언어] 1차원 배열

배열 배열은 저장 공간들이 나열되어 있는 형태입니다. Ex) 값 4개를 저장하기 위해 저장공간을 4개 사용하는 것은 너무 많기에 크기가 4인 배열을 한 번 선언하여 사용 배열 선언 방법 3가지 int arr[3]; //크기가 3인 배열을 선언만 한 상태 int arr[] = {1, 2, 3}; //값을 3개 넣어 초기화한 상태 int arr[3] = {1, 2, 3}; //크기가 3인 배열을 선언하여 초기화한 상태 배열 인덱스 int arr[5] = {1, 2, 3, 4, 5}; //크기가 5인 배열을 초기화 for(int i = 0; i < sizeof(arr)/sizeof(int); i++) { printf("arr[%d] : %d\n", i, arr[i]); //배열의 값을 출력 } sizeof(a..

C언어 2021.08.03

[C언어] 교통카드, 카페 주문하기 예제

교통카드 잔액 확인 while 반복문을 사용하여 잔액이 부족할 경우 종료 if 조건문을 사용하여 나이에 따라 요금을 다르게 설정 요금을 지불하고 교통카드에 남은 금액 출력 #include void main() { int childrenMaxAge = 13; int teenagerMaxAge = 19; int adultmaxAge = 150; int cMoney = 500; int tMoney = 1000; int aMoney = 1200; int money = 10000; int age = 0; while (1) { printf("나이를 입력하세요 : "); scanf_s("%d", &age); if (age 0) { printf("어린이 입니다.\n"); money -= cMoney; if (money..

C언어 2021.08.02

[자바] KeyListener + Scanner

Scanner로 문자 입력받아 창에 쓰기 + 키코드 출력 KeyListener를 설명하는 글과 동일한 틀을 사용했습니다. 다른 것은 메인메소드입니다. 메인메소드에 Scanner 클래스를 사용하여 콘솔 창에 문자를 입력하면 프레임 창에 표시되도록 코드를 작성하였습니다. 이 코드를 작성하여 " myFrmae3.area.setText(inputUser); " inputUser에 입력된 문자를 setText 메소드를 통해 area에 표시되도록 하였습니다. import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.util.Scanner; import javax.swing.JFrame; import javax.swing.JTextA..

JAVA/GUI 2021.07.20

[자바] 콜백(CallBack) - JFrame

콜백(CallBack)을 왜 사용하는가? 특정 조건이 있고, 이 조건을 만족할 때마다 기능을 수행한다고 하자. 콜백을 사용하면 이벤트가 발생하여 특정 조건을 만족시켰을 경우, 콜백 함수를 호출하여 바로 기능을 수행할 수 있다. 콜백 함수는 바로바로 사용할 수 있으며, 조건이 맞는지 틀린지 확인하는 과정을 거치지 않아도 되기에 효율적이다. 만약, 콜백을 사용하지 않고 계속 객체에 접근하는 방식으로 코드를 작성하였다고 하자. 해당 객체에 어떠한 오류가 발생할 경우 그 객체부터 접근하는 과정까지 모두 수정이 필요할 수 있다. 콜백이라는 개념을 사용하면 객체의 주소만 연결시켜주면 바로 기능을 수행할 수 있다. * 이번 글에서는 수업 예제인 콜백을 GUI코드로 예시를 들고, 다음 글에서 GUI를 제외한 콜백 코드..

JAVA/GUI 2021.07.19

[자바] JFrame 이미지 추가하기 - 슈퍼마리오(1)

슈퍼마리오 배경과 캐릭터 이미지 추가하여 프레임 꾸미기 JFrame을 상속받은 MyImage 클래스를 선언 JPanel을 상속받은 MyPanel 내부 클래스를 선언 생성자와 initData, setInitLayout 메소드를 선언 내부 클래스에서 paintComponent 메소드를 오버 라이딩하여, 배경화면과 캐릭터 1, 2, 3을 프레임에 추가 import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.JFrame; import javax.swing.JPanel; class M..

JAVA/GUI 2021.07.17

[자바] KeyListener

키보드를 아무거나 눌렸을 때, 해당 키의 키 코드 출력 코드 작성하기 어떠한 키를 입력하면 해당 키 코드와 키가 출력됨 Frame을 상속받고, KeyListener을 인터페이스로 받음 JTextArea를 사용하여 텍스트 입력 영역을 만듦 e.getKeyCode, e.getKeyChar 메소드를 사용하여 keycode와 keychar를 리턴함 import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.JFrame; import javax.swing.JTextArea; class MyKeyEvent extends JFrame implements KeyListener{ JTextArea area; //창에 텍스트 영..

JAVA/GUI 2021.07.15