728x90
반응형
86. 간단한 계산기 만들기: 간단한 사칙연산을 수행하는 계산기를 작성하세요.
문제
Dart를 사용하여 간단한 덧셈, 뺄셈, 곱셈, 나눗셈을 수행하는 계산기를 구현하세요. 사용자로부터 두 개의 숫자와 연산자를 입력받아 결과를 출력하세요.
풀이
Dart에서는 간단한 사용자 입력과 조건문을 활용하여 계산기를 구현할 수 있습니다.
import 'dart:io';
void main() {
print("첫 번째 숫자를 입력하세요:");
double num1 = double.parse(stdin.readLineSync()!);
print("연산자를 입력하세요 (+, -, *, /):");
String operator = stdin.readLineSync()!;
print("두 번째 숫자를 입력하세요:");
double num2 = double.parse(stdin.readLineSync()!);
double result;
switch (operator) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
if (num2 != 0) {
result = num1 / num2;
} else {
print("0으로 나눌 수 없습니다.");
return;
}
break;
default:
print("유효하지 않은 연산자입니다.");
return;
}
print("결과: $num1 $operator $num2 = $result");
}
설명
- stdin.readLineSync()를 사용해 사용자 입력을 받고, double.parse()로 숫자로 변환합니다.
- switch 문을 사용하여 입력된 연산자에 따라 사칙연산을 수행합니다.
- 결과를 출력하고, 나눗셈에서 0으로 나누는 경우 오류를 처리합니다.
87. To-do 리스트 만들기: 할 일(To-do) 리스트를 구현하고 추가, 삭제, 조회 기능을 제공하세요.
문제
할 일(To-do) 리스트를 구현하여 사용자가 할 일을 추가, 삭제, 조회할 수 있는 프로그램을 작성하세요.
풀이
Dart의 리스트(List)를 사용하여 할 일을 관리할 수 있습니다.
import 'dart:io';
void main() {
List<String> todoList = [];
while (true) {
print("\n원하는 작업을 선택하세요: 1. 추가 2. 삭제 3. 조회 4. 종료");
String choice = stdin.readLineSync()!;
if (choice == '1') {
print("추가할 할 일을 입력하세요:");
String task = stdin.readLineSync()!;
todoList.add(task);
print("할 일이 추가되었습니다.");
} else if (choice == '2') {
print("삭제할 할 일의 번호를 입력하세요:");
int index = int.parse(stdin.readLineSync()!) - 1;
if (index >= 0 && index < todoList.length) {
todoList.removeAt(index);
print("할 일이 삭제되었습니다.");
} else {
print("유효하지 않은 번호입니다.");
}
} else if (choice == '3') {
print("\n현재 할 일 목록:");
for (int i = 0; i < todoList.length; i++) {
print("${i + 1}. ${todoList[i]}");
}
} else if (choice == '4') {
print("프로그램을 종료합니다.");
break;
} else {
print("유효하지 않은 선택입니다. 다시 시도하세요.");
}
}
}
설명
- List<String>을 사용하여 할 일 목록을 저장합니다.
- while 루프를 통해 사용자가 선택한 작업에 따라 할 일을 추가, 삭제, 조회합니다.
- 사용자가 프로그램을 종료할 때까지 루프가 계속됩니다.
88. 사용자 입력 받아 처리하기: 사용자 입력을 받아서 특정 작업을 수행하는 프로그램을 작성하세요.
문제
사용자로부터 이름과 나이를 입력받아, 사용자의 나이에 따라 맞춤형 메시지를 출력하는 프로그램을 작성하세요.
풀이
Dart의 입력 기능을 사용하여 사용자 정보를 받아 처리할 수 있습니다.
import 'dart:io';
void main() {
print("이름을 입력하세요:");
String name = stdin.readLineSync()!;
print("나이를 입력하세요:");
int age = int.parse(stdin.readLineSync()!);
if (age < 18) {
print("안녕하세요, $name! 당신은 미성년자입니다.");
} else if (age >= 18 && age < 60) {
print("안녕하세요, $name! 당신은 성인입니다.");
} else {
print("안녕하세요, $name! 당신은 노년층에 속합니다.");
}
}
설명
- 사용자의 이름과 나이를 입력받아 적절한 메시지를 출력합니다.
- if-else 문을 사용하여 나이에 따라 다른 메시지를 출력합니다.
89. 미니 블로그 구현하기: 미니 블로그를 구현하여 게시글을 추가, 수정, 삭제할 수 있는 기능을 작성하세요.
문제
간단한 미니 블로그 시스템을 구현하여 게시글을 추가, 수정, 삭제할 수 있는 프로그램을 작성하세요.
풀이
Dart의 리스트와 맵(Map)을 활용하여 게시글을 관리할 수 있습니다.
import 'dart:io';
void main() {
List<Map<String, String>> blogPosts = [];
while (true) {
print("\n원하는 작업을 선택하세요: 1. 게시글 추가 2. 게시글 수정 3. 게시글 삭제 4. 게시글 조회 5. 종료");
String choice = stdin.readLineSync()!;
if (choice == '1') {
print("게시글 제목을 입력하세요:");
String title = stdin.readLineSync()!;
print("게시글 내용을 입력하세요:");
String content = stdin.readLineSync()!;
blogPosts.add({'title': title, 'content': content});
print("게시글이 추가되었습니다.");
} else if (choice == '2') {
print("수정할 게시글 번호를 입력하세요:");
int index = int.parse(stdin.readLineSync()!) - 1;
if (index >= 0 && index < blogPosts.length) {
print("새로운 제목을 입력하세요:");
String newTitle = stdin.readLineSync()!;
print("새로운 내용을 입력하세요:");
String newContent = stdin.readLineSync()!;
blogPosts[index]['title'] = newTitle;
blogPosts[index]['content'] = newContent;
print("게시글이 수정되었습니다.");
} else {
print("유효하지 않은 번호입니다.");
}
} else if (choice == '3') {
print("삭제할 게시글 번호를 입력하세요:");
int index = int.parse(stdin.readLineSync()!) - 1;
if (index >= 0 && index < blogPosts.length) {
blogPosts.removeAt(index);
print("게시글이 삭제되었습니다.");
} else {
print("유효하지 않은 번호입니다.");
}
} else if (choice == '4') {
print("\n현재 게시글 목록:");
for (int i = 0; i < blogPosts.length; i++) {
print("${i + 1}. ${blogPosts[i]['title']}: ${blogPosts[i]['content']}");
}
} else if (choice == '5') {
print("프로그램을 종료합니다.");
break;
} else {
print("유효하지 않은 선택입니다. 다시 시도하세요.");
}
}
}
설명
- List<Map<String, String>>를 사용하여 게시글의 제목과 내용을 관리합니다.
- 게시글 추가, 수정, 삭제, 조회 기능을 구현하여 간단한 블로그 시스템을 제공합니다.
- 사용자가 종료를 선택할 때까지 루프가 계속됩니다.
90. 로그인 시스템 구현하기: 사용자 이름과 비밀번호를 사용하여 로그인 시스템을 구현하세요.
문제
사용자 이름과 비밀번호를 입력받아 로그인할 수 있는 간단한 로그인 시스템을 구현하세요.
풀이
Dart의 조건문을 사용하여 사용자 이름과 비밀번호를 확인하는 로그인 시스템을 구현할 수 있습니다.
import 'dart:io';
void main() {
String correctUsername = "user";
String correctPassword = "password123";
print("사용자 이름을 입력하세요:");
String username = stdin.readLineSync()!;
print("비밀번호를 입력하세요:");
String password = stdin.readLineSync()!;
if (username == correctUsername && password == correctPassword) {
print("로그인 성공! 환영합니다, $username.");
} else {
print("로그인 실패: 사용자 이름 또는 비밀번호가 잘못되었습니다.");
}
}
설명
- 미리 정의된 사용자 이름과 비밀번호를 기준으로 입력값을 확인하여 로그인 성공 여부를 결정합니다.
- if-else 문을 사용하여 로그인 성공 또는 실패 메시지를 출력합니다.
공감과 댓글은 저에게 큰 힘이 됩니다.
Starting Google Play App Distribution! "Tester Share" for Recruiting 20 Testers for a Closed Test.
728x90
반응형
'Dart > Dart 100제' 카테고리의 다른 글
Dart 100제 96 ~ 100 (웹 개발) (0) | 2024.08.27 |
---|---|
Dart 100제 91 ~ 95 (데이터 처리) (0) | 2024.08.26 |
Dart 100제 81 ~ 85 (기타) (0) | 2024.08.26 |
Dart 100제 71 ~ 75 (라이브러리와 패키지) (0) | 2024.08.11 |
Dart 100제 66 ~ 70 (예외 처리) (0) | 2024.08.11 |