오늘은 이제 기존 미니 프로젝트 조와 헤어지고 C# 개인과제 기간에 돌입했다.
이를 위해 새로운 조와 만나 적응하는 시간을 가지고
새로 제공 받은 C# 강의를 시청하면서 오늘의 공부를 시작했다.
오늘은 5개의 강의 영상 중 2개를 시청하였다.
2단계 C# 강의에 경우 사전캠프 기간 동안 공부했던 기본 코딩 이론 위주로 내용이 진행되어 다음 주 부터 작업에 들어갈 개인과제 전에 C# 복기를 하는 시간을 가지기로 하였다.
개인 과제
개인 과제 목표는 내가 좋아하는 텍스트 어드벤처가 생각나는 Text rpg 간단 구현이다.
개인 과제 1일차 C# 공부
연산자와 문자열 처리 관련하여 다시 복기한 것이 유요했다.
연산자 문자열 처리 목록
01. 산술, 관계, 논리 연산자 사용법
- 산술연산자
- 관계연산자
- 논리연산자 (&&==And / ||==Or / !==Not) <- 헷갈리지 않기
02. 비트 연산자
- 비트연산자
int a = 0b1100; // 12 (2진수)
int b = 0b1010; // 10 (2진수)
int and = a & b; // 0b1000 (8)
int or = a | b; // 0b1110 (14)
int xor = a ^ b; // 0b0110 (6)
int c = 0b1011; // 11 (2진수)
int leftShift = c << 2; // 0b101100 (44)
int rightShift = c >> 1; // 0b0101 (5)
int d = 0b1100; // 12 (2진수)
int bit3 = (d >> 2) & 0b1; // 1 (3번째 비트)
d |= 0b1000; // 0b1100 | 0b1000 = 0b1100 (12)
03. 복합 대입 연산자와 증감 연산자 활용
- 복합 대입 연산자 (++x와 x++의 차이 = 전위 후위의 차이 숙지!)
- 증감 연산자
04. 연산자 우선순위
- C# 주요 연산자 우선순위
05. 문자열 처리 기능 및 메서드
1.문자열 생성
2.연결
3.분할 - x.Split();
4.검색 - x.IndexOf();
5.대체 - x.Replace();
6.변환 - Parse(); / ToString();
7.비교 - isEqual = x == y; / int compare = string.Compare(x, y);
8.포멧팅
1번 강의 과제 : 간단한 계산기 만들기
1. 사용자로부터 입력 받기 : 이름과 나이를 입력 받아 출력하기
static void Main(string[] args)
{
Console.Write("본인의 이름(ex = 김준하)과 나이(ex = 25)를 입력 해주세요: ");
string input = Console.ReadLine(); // 이름과 나이 문자열을 입력받음
string[] nameage = input.Split(' '); // 문자열을 공백으로 구분하여 배열로
string name = nameage[0];
string age = nameage[1];
Console.WriteLine("당신의 이름은 \"{0}님\"이고 나이는 \"{1}세\" 입니다.", name, age);
}
2. 간단한 사칙연산 계산기 만들기 : 두 수를 입력 받고 사칙연산의 결과를 출력하기
static void Main(string[] args)
{
//간단한 사칙연산 계산기 만들기
Console.Write("계산하고 싶은 사칙연산을 입력하여 주십시오: ex) 1 + 5 or 6 * 2 or 8 / 2 ");
string numInput = Console.ReadLine(); // 계산식을 입력받음
string[] calC = numInput.Split(' '); // 문자열을 공백으로 구분하여 배열로
int num1 = int.Parse(calC[0]);
var key = calC[1];
int num2 = int.Parse(calC[2]);
if (key=="+")
{
int sum = num1 + num2;
Console.WriteLine("{0} {1} {2}의 결과는 = {3}", num1, key, num2, sum);
}
else if (key == "-")
{
int sum = num1 - num2;
Console.WriteLine("{0} {1} {2}의 결과는 = {3}", num1, key, num2, sum);
}
else if (key == "*")
{
int sum = num1 * num2;
Console.WriteLine("{0} {1} {2}의 결과는 = {3}", num1, key, num2, sum);
}
else if (key == "/")
{
int sum = num1 / num2;
Console.WriteLine("{0} {1} {2}의 결과는 = {3}", num1, key, num2, sum);
}
}
강의 내용에서 다룬 공백 split 위주로 만들었지만
첫번째 숫자와 두번째 숫자를 하나씩 입력하고 원하는 이항연산법을 선택하는 방법도 가능할 것이다
그냥 한번에 구분하는 방식을 구현해 보고 싶었다
챕터 1 과제 코드 출력 화면 자료를 이제야 봤다... 더 간단한 것들을 요구했던 것으로 우선 만든게 아까우니 이대로 제출했다.
3. 온도 변환기 만들기 - 섭씨온도를 화씨온도로 변경
목표 화면:
static void Main(string[] args)
{
//온도 변환기 만들기, 섭씨온도를 입력받아 화씨온도로 변환
Console.Write("화씨 온도로 전환하고 싶은 섭씨 온도를 입력하세요 : ");
string numInput = Console.ReadLine();
int num = int.Parse(numInput);
int answer = num * 9 / 5 + 32;
Console.Write("변화된 화씨 온도: "+answer);
}
4. BMI 계산기 만들기 - BMI 지수 계산
BMI = 체중(kg) / 키(m)^2
static void Main(string[] args)
{
//키와 몸무게로 BMI지수 계산
Console.Write("키를 입력해주세요(m) : ");
string heightInput = Console.ReadLine();
float num1 = float.Parse(heightInput);
Console.Write("체중을 입력해주세요(kg) : ");
string weightInput = Console.ReadLine();
float num2 = float.Parse(weightInput);
float answer = num2 / (num1 * num1);
Console.WriteLine("BMI지수: " + answer);
}
2번 강의는 내용과 과제가 어려운 면이 있어 다음에 이어서 다시 하고자 하여 다음 TIL에 한번에 작성하고자 한다.
오늘은 오랜만에 유니티가 아닌 순수하게 C# 코딩만 하였다.
앞으로 조금씩 점점 복잡해지는 로직을 옅보고 벌써부터 숨이 턱 막히는 느낌이 들지만
미니 프로젝트도 성공적으로 마무리 했던 만큼 이번에도 어떻게든 해내겠다는 마음가짐으로 나아간다.
'TIL' 카테고리의 다른 글
[TIL]2024-1-3 / 8일차 - '또' 어려웠던 스네이크 게임 만들기 (1) | 2024.01.03 |
---|---|
[TIL]2024-1-2 / 7일차 - 어려웠던 틱택토 게임 만들기 (1) | 2024.01.02 |
[TIL]2023-12-28 / 5일차 - 발표와 정리 (0) | 2023.12.28 |
[TIL]2023-12-27 / 4일차 - 디버깅과 다듬기, 발표 준비 (1) | 2023.12.27 |
[TIL]2023-12-26 / 3일차 - 오디오 매니저 구현과 코드 최적 (1) | 2023.12.26 |