From ce13d90a1a104109fb90692858f27e8ddc4c669c Mon Sep 17 00:00:00 2001 From: JADSON LIMA DO NASCIMENTO Date: Tue, 10 Dec 2024 15:02:08 +0000 Subject: [PATCH] Atualizar sistema.ts --- sistema.ts | 178 ++++++++++++++++++----------------------------------- 1 file changed, 59 insertions(+), 119 deletions(-) diff --git a/sistema.ts b/sistema.ts index 46b2b47..2b8808b 100644 --- a/sistema.ts +++ b/sistema.ts @@ -1,132 +1,72 @@ type Serie = { - id: number; - titulo: string; - ano: number; - finalizada: boolean; + id: number; + titulo: string; + ano: number; + finalizada: boolean; }; -// Array para armazenar as séries -let series: Serie[] = []; -let contadorId = 1; // Gerador de IDs únicos +let series: Serie[]; +let contadorId = 1; -// Função para exibir o menu -function mostrarMenu(): void { - console.log(` - Sistema Gerenciador de Séries - ============================= - 1. Criar - 2. Listar - 3. Atualizar - 4. Excluir - 5. Sair +function mostrarMenu(): void{ + console.log(` + Sistema Gerenciador de Séries + ============================== + 1. Criar + 2. Listar + 5. Sair - Entre com sua opção: - `); + Entre com sua opção: + `); +} +function solicitarDados(): Serie{ + const titulo = prompt ("Digite o título da Série":) || "Série sem título"; + const ano = Number (prompt("Digite o ano de lançamento da série:") || "0"); + const finalizada = (prompt("A série foi finalizada ? (s/n:") || "n").toLowerCase() === "s"; + + return {id: contadorId++, título, ano, finalizada}; } -// Função para solicitar os dados de uma série -async function solicitarDados(): Promise { - const titulo = prompt("Digite o título da série:") || "Série sem título"; - const ano = Number(prompt("Digite o ano de lançamento da série:") || "0"); - const finalizada = - (prompt("A série foi finalizada? (s/n):") || "n").toLowerCase() === "s"; - - return { id: contadorId++, titulo, ano, finalizada }; +function criarSerie(): void { + const novaSerie = solicitarDados(); + series.push(novaSerie); + console.log("Série adicionada com sucesso!"); } -// Função para criar uma série -async function criarSerie(): Promise { - const novaSerie = await solicitarDados(); - series.push(novaSerie); - console.log("Série adicionada com sucesso!"); -} - -// Função para listar as séries -function listarSeries(): void { - if (series.length === 0) { - console.log("Nenhuma série cadastrada."); - return; - } - - console.log("Listagem de séries:"); - series.forEach((serie) => { - console.log( - `ID: ${serie.id} | Título: ${serie.titulo} | Ano: ${serie.ano} | Finalizada: ${ - serie.finalizada ? "Sim" : "Não" - }` - ); - }); -} - -// Função para atualizar uma série -async function atualizarSerie(): Promise { - const id = Number(prompt("Digite o ID da série a ser atualizada:")); - const serie = series.find((s) => s.id === id); - - if (!serie) { - console.log("Série não encontrada."); - return; - } - - console.log("Informe os novos dados da série:"); - const novosDados = await solicitarDados(); - serie.titulo = novosDados.titulo; - serie.ano = novosDados.ano; - serie.finalizada = novosDados.finalizada; - - console.log("Série atualizada com sucesso!"); -} - -// Função para excluir uma série -function excluirSerie(): void { - const id = Number(prompt("Digite o ID da série a ser excluída:")); - const indice = series.findIndex((s) => s.id === id); - - if (indice === -1) { - console.log("Série não encontrada."); - return; - } - - series.splice(indice, 1); - console.log("Série excluída com sucesso!"); -} - -// Função principal -async function main(): Promise { - let opcao: number; - - do { - mostrarMenu(); - opcao = Number(prompt("Escolha uma opção:")); - - switch (opcao) { - case 1: - console.log("Criar"); - await criarSerie(); - break; - case 2: - console.log("Listar"); - listarSeries(); - break; - case 3: - console.log("Atualizar"); - await atualizarSerie(); - break; - case 4: - console.log("Excluir"); - excluirSerie(); - break; - case 5: - console.log("Sair"); - break; - default: - console.log("Opção inválida! Tente novamente."); +function listarSeries(): void{ + if (series.length === 0){ + console.log("Nenhuma Série cadastrada."); + }else{ + console.log("Listagem de Séries:"); + for(const serie of series){ + console.log( + `ID: ${serie.id} | Título: ${serie.titulo} | Ano: ${serie.ano} | Finalizada: ${serie.finalizada ? "Sim" : "Não" + }` + ); + } } - } while (opcao !== 5); - - console.log("Encerrando o sistema. Até mais!"); } -// Iniciar o programa -await main(); +function main(): void{ + let opcao = 0; + while (opcao !== 5){ + mostrarMenu(); + opcao = Number (prompt("Escolha uma opção:")); + if (opcao === 1){ + console.log ("criar"); + criarSerie(); + }else if (opcao === 2){ + console.log ("Listar"); + listarSeries(); + }else if ("opcao === 5"){ + console.log ("sair"); + }else{ + console.log ("Opção inválida! Tente novamente."); + } + } + + console.log ("Encerrando o sistema. Até mais!"); +} + +main(); \ No newline at end of file