연습 문제를 풀어보다가 문제가 발생을 했다..
//import 'dart:html_common';
import 'dart:io';
//import 'dart:vmservice_io';void main() {
List<Map<String, int>> students = loadStudentData('students.txt'); String? input;
int? foundScore;
//학생 이름 및 반복 진행문
while (foundScore == null) {
stdout.write('어떤 학생의 통계를 확인 하시겠습니까? ');
input = stdin.readLineSync(); for (var student in students) {
if (student.containsKey(input)) {
foundScore = student[input];
break;
} else {
print('잘못된 학생 이릅을 입력 하셨습니다. 다시 입력해주세요.');
}
}
} print('입력한 이름: $input');
print(students);
}//학생 정보 로드
List<Map<String, int>> loadStudentData(String filePath) {
List<Map<String, int>> students = [];
try {
final file = File(filePath);
final lines = file.readAsLinesSync(); for (var line in lines) {
final parts = line.split(',');
if (parts.length != 2) throw FormatException('잘못된 데이터 형식: $line'); String name = parts[0];
int score = int.parse(parts[1]);
students.add({name: score}); //파일에서 불러온 값을 students 변수에 추가 하기
}
} catch (e) {
print("학생 데이터를 불러오는 데 실패했습니다: $e");
exit(1);
}
return students;
}//학생 정보 저장
void saveResults(String filePath, String content) {
try {
final file = File(filePath);
file.writeAsStringSync(content);
print("저장이 완료되었습니다.");
} catch (e) {
print("저장에 실패했습니다: $e");
}
}
이런식으로 학생 정보의 텍스트 파일을 읽어서 학생 이름과 점수를 다른 텍스트 파일에 저장을 하는 문제를 풀어 보고 있었는데 문제에서는 클래스를 선언해서 해결을 하려고 했는데 아무 생각 없이 그냥 기능만 구현을 먼저 해버렸다.
사실 기능먼저 구현을 하고 나서 클래스를 만들면 쉽지 않을까 해서 그런것도 없지않아 있다
그 이후에 클래스를 선언을 하고 나서 프로그램을 수정을 하려고 하니까 전반적으로 모두다 수정을 해야 하는 상황이 발생 해버렸다.
클래스를 선언하고 난 뒤에 프로그램을 수정을 하려고 하니까 코드 사방에서 오류를 쏟아 내기 시작했다.
결국 쳇지피티의 도움을 조금 받기는 했지만 과제는 해결을 한것 같다.
다음에 코딩을 할때에는 문제의 조건을 먼저 꼭 확인 하고 코드 작성을 해야 겠고 클래스를 선언을 하는 것은 처음부터 해야할 일이다 보니까 기능 구현이 먼저가 아니라 클래스 부터 천천히 작성 해봐야겠다.
'창업 > 앱 개발 코딩' 카테고리의 다른 글
| 플러터 앱 이름, 아이콘 변경하기 (0) | 2025.10.29 |
|---|---|
| 플러터 입문 (0) | 2025.10.14 |
| 이번주 정리 (0) | 2025.09.26 |
| Dart 기본 문법 2 (0) | 2025.09.24 |
| Dart 기본 문법 (0) | 2025.09.22 |
댓글