import 'dart:io';
void main() {
List<String> notas = <String>[];
menu(notas);
}
void cabecalho() {
const String separador = '===================================================================';
print('');
print(' Sistema de Notas');
print(separador);
print(' _ _ ___ _____ _ ____ _ _____ ____ _ ___ ____ ');
print('| \\ | |/ _ \\|_ _|/ \\ / ___| | | | ____/ ___| / \\ |_ _/ ___| ');
print('| \\| | | | | | | / _ \\ \\___ \\ | | | _|| | _ / _ \\ | |\\___ \\ ');
print('| |\\ | |_| | | |/ ___ \\ ___) | | |___| |__| |_| |/ ___ \\ | | ___) |');
print('|_| \\_|\\___/ |_/_/ \\_\\____/ |_____|_____\\____/_/ \\_\\___|____/ ');
print(separador);
print(' Seja bem-vindo(a) ao sistema!');
print('');
}
String getComando() {
print('\nDigite um comando:\n 1 - Adicionar\n 2 - Listar\n 3 - Sair');
List<String> comandos = ['1', '2', '3'];
String? entrada = " ";
entrada = stdin.readLineSync();
if (entrada == null || !comandos.contains(entrada)) {
print("\nComando invalido");
getComando();
}
return entrada!;
}
List<String> adicionaNota(List<String> notas) {
print('\nEscreva uma nota:');
String? nota = " ";
nota = stdin.readLineSync();
if (nota == null || nota.isEmpty) {
print("\nNão é possivel adicionar uma nota:");
adicionaNota(notas);
}
notas.add(nota!);
return notas;
}
void listarNotas(List<String> notas) {
for (var i = 0; i < notas.length; i++) {
print(notas[i]);
}
}
void menu(List<String> notas) {
cabecalho();
String comando = getComando();
switch (comando) {
case '1':
adicionaNota(notas);
menu(notas);
case '2':
listarNotas(notas);
menu(notas);
case '3':
print('Um até breve!!!');
}
}