주사위 눈의 총 횟수 구하기
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main() {
int dice[6] = {0,0,0,0,0,0};
int rdnum;
int i;
srand(time(0));
for (i = 0; i < 100; i++){
rdnum = rand ()%6 + 1;
dice[rdnum - 1]++;
}
for (i= 0; i < 6; i++) {
printf("%d] %d\n", i + 1, dice[i]);
}
return 0;
}
정규화
Entity Relation Diagram
ERD(엔티티-관계 다이어그램, Entity-Relationship Diagram)는 데이터베이스의 구조를 시각적으로 표현하는 데 사용되는 도구입니다. ERD는 데이터베이스 내의 여러 '엔티티'들(즉, 데이터 객체)과 그들 사이의 '관계'를 나타내는 다이어그램입니다.
ERD의 주요 구성 요소는 다음과 같습니다:
● 엔티티(Entity):
엔티티는 데이터베이스에서 데이터를 저장하거나 나타내는 항목입니다. 예를 들어, 학교 데이터베이스에서는 '학생', '교사', '과목' 등이 엔티티가 될 수 있습니다. 보통 직사각형으로 표현됩니다.
● 속성(Attribute):
속성은 엔티티의 특성이나 성질을 나타냅니다. 데이터베이스의 열(column)에 해당합니다. 예를 들어, '학생' 엔티티의 속성으로는 '학번', '이름', '생년월일' 등이 있을 수 있습니다. 보통 타원이나 원으로 표현되며, 엔티티에 연결되어 표현됩니다.
● 관계(Relationship):
관계는 엔티티들 사이의 연결을 나타냅니다. 이는 한 엔티티가 다른 엔티티와 어떻게 관련되어 있는지를 보여줍니다. 예를 들어, '학생'과 '과목' 사이에는 '수강'이라는 관계가 있을 수 있습니다. 관계는 보통 선으로 표현되며, 관계의 이름이나 특성을 라벨로 추가하기도 합니다.
● 카디널리티(Cardinality) 및 옵셔널리티(Optionality):
카디널리티는 관계의 수량적 특성을 나타내며, 한 엔티티가 다른 엔티티와 얼마나 많은 관계를 가질 수 있는지를 표시합니다 (예: 1:1, 1:M, M:N). 옵셔널리티는 관계의 필수 여부를 나타냅니다.
ERD는 데이터베이스를 설계하고, 데이터 구조를 이해하며, 시스템의 요구 사항을 분석하는 데 매우 유용합니다. 복잡한 데이터 관계를 시각적으로 표현하여, 데이터베이스의 구조를 더 쉽게 이해하고 효과적으로 관리할 수 있도록 도와줍니다.
SWITCH CASE 구문
- SWITCH CASE구문은 C언어에서 여러 조건을 효율적으로 처리하기 위해 사용되는 제어구문입니다. 이련의 값이나 조건에 따라 다른 코드 블록을 실행할 수 있게해줍니다.
switch (expression) {
case value1:
// value1 일 때 실행될 코드
break;
case value2:
// value2 일 때 실행될 코드
break;
// 추가적인 case들...
default:
// 어떤 case도 일치하지 않을 때 실행될 코드
}
- SWITCH (expression)
- 이 구문은 평가될 표현식을 가집니다. 이표현식의 결과값은 case레이블과 비교됩니다.
- CASE VALUE
- 각 case키워드는 하나의 가능한 값(Value)를 나타냅니다. 표현식의 결과가 이값과 일치할 경우, 해당 case 블록의 코드가 실행됩니다.
- BREAK
- 각 case 블록의 끝에는 보통 break문이 있습니다. 이는switch 구문을 빠져나오게 하는 역할을 합니다. break가 없으면 프로그램은 연속적으로 다음 case를 실행합니다. (이를 fall-through라고 합니다.)
- DEFAULT
- 이는 선택적인 부분이며, 어떤 case도 일치하지 않을떄 실행될 코드 블록을 정의합니다. 이는 마지막에 위치하는 것이 일반적입니다.
자판기 프로그램 만들기!
#include <stdio.h>
#include <stdbool.h>
int main () {
bool poweron = true;
int choice;
int balance = 0;
int change;
while (poweron){
int pdSprite = 700;
int pdCoke = 700;
int pdLatte = 1200;
int pdCoffee = 1200;
printf ("\n금액을 입력하여주세요!>>\n");
scanf("%d", &balance);
if (700 < balance && balance < 1200){
printf ("상품을 선택하여 주세요.\n");
printf ("1번] 스프라이트 |700원\n");
printf ("2번] 코카콜라 |700원\n");
printf ("현재 잔액 = %d원.\n", balance);
scanf ("%d", &choice);
switch (choice) {
case 1:
printf ("스프라이트를 선택하셨습니다.\n");
printf ("상품 나오는 곳에서 제품을 수령해주세요!\n");
balance -= pdSprite ;
printf ("현재 잔액: %d ", balance);
break;
case 2:
printf ("코카콜라를 선택하셨습니다.\n");
printf ("상품 나오는 곳에서 제품을 수령해주세요!\n");
balance -= pdCoke ;
printf ("현재 잔액: %d ", balance);
break;
case 3:
printf ("잔액이 부족합니다.\n");
balance -= pdLatte ;
printf ("현재 잔액: %d ", balance);
break;
case 4:
printf ("잔액이 부족합니다.\n");
balance -= pdCoffee ;
printf ("현재 잔액: %d ", balance);
break;
default:
break;
}
} else if (balance > 1200){
printf ("상품을 선택하여 주세요.\n");
printf ("1번] 스프라이트 |700원\n");
printf ("2번] 코카콜라 |700원\n");
printf ("3번] 카페라떼 |1200원\n");
printf ("4번] 아메리카노 |1200원\n");
printf ("현재 잔액 = %d원.\n", balance);
scanf ("%d", &choice);
switch (choice) {
case 1:
printf ("스프라이트를 선택하셨습니다.\n");
printf ("상품 나오는 곳에서 제품을 수령해주세요!\n");
balance -= pdSprite ;
printf ("현재 잔액: %d ", balance);
break;
case 2:
printf ("코카콜라를 선택하셨습니다.\n");
printf ("상품 나오는 곳에서 제품을 수령해주세요!\n");
balance -= pdCoke ;
printf ("현재 잔액: %d ", balance);
break;
case 3:
printf ("카페라떼를 선택하셨습니다.\n");
printf ("상품 나오는 곳에서 제품을 수령해주세요!\n");
balance -= pdLatte ;
printf ("현재 잔액: %d ", balance);
break;
case 4:
printf ("아메리카노를 선택하셨습니다.\n");
printf ("상품 나오는 곳에서 제품을 수령해주세요!\n");
balance -= pdCoffee ;
printf ("현재 잔액: %d ", balance);
break;
default :
break;
}
} else {
printf ("최소 주문금액은 700원 입니다.\n");
balance += balance;
printf ("현재 잔액 : %d원", balance);
}
}
return 0;
}
'자바&Springboot플랫폼 과정 > MariaDB' 카테고리의 다른 글
TRIGGER/TRANSACTION (1) | 2023.12.07 |
---|---|
관계 데이터 모델의 컨셉과 구조 (2) | 2023.12.06 |
PREPARE/LIMIT/아스키코드/복합조건배열만들기 (2) | 2023.12.05 |
ON UPDATE/ALTER/SWITCH 구문 그리고 탄생석서비스 (1) | 2023.12.04 |
검색미션/라인그리기/가위바위보 게임 만들기 (0) | 2023.12.01 |