Atualizar sistema.ts

This commit is contained in:
JADSON LIMA DO NASCIMENTO 2025-02-10 19:21:23 +00:00
parent 8863de6a6a
commit 1320a6ca27
1 changed files with 54 additions and 12 deletions

View File

@ -8,38 +8,36 @@ type Serie = {
let series: Serie[] = []; let series: Serie[] = [];
let contadorId = 1; let contadorId = 1;
// Função para exibir o menu
function mostrarMenu(): void { function mostrarMenu(): void {
console.log(` console.log(`
Sistema Gerenciador de Séries Sistema Gerenciador de Séries
============================= =============================
1. Criar 1. Criar
2. Listar 2. Listar
3. Atualizar
4. Excluir
5. Sair 5. Sair
`); `);
} }
// Função para obter entrada válida do usuário
function obterEntradaTexto(mensagem: string): string { function obterEntradaTexto(mensagem: string): string {
let entrada = prompt(mensagem) || ""; let entrada = prompt(mensagem) || "";
while (!entrada.trim()) { while (entrada.replace(/\s/g, "") === "") {
console.log("Entrada inválida. Por favor, tente novamente."); console.log("Entrada inválida. Por favor, tente novamente.");
entrada = prompt(mensagem) || ""; entrada = prompt(mensagem) || "";
} }
return entrada.trim(); return entrada;
} }
// Função para obter um número válido do usuário
function obterEntradaNumero(mensagem: string): number { function obterEntradaNumero(mensagem: string): number {
let entrada = parseInt(prompt(mensagem) || "", 10); let entrada = parseInt(prompt(mensagem) || "", 10);
while (isNaN(entrada) || entrada <= 0) { while (!entrada || entrada <= 0) {
console.log("Por favor, insira um número válido."); console.log("Por favor, insira um número válido.");
entrada = parseInt(prompt(mensagem) || "", 10); entrada = parseInt(prompt(mensagem) || "", 10);
} }
return entrada; return entrada;
} }
// Função para obter um valor booleano válido
function obterEntradaBooleano(mensagem: string): boolean { function obterEntradaBooleano(mensagem: string): boolean {
let entrada = prompt(mensagem + " (s/n):") || ""; let entrada = prompt(mensagem + " (s/n):") || "";
while (entrada !== "s" && entrada !== "n") { while (entrada !== "s" && entrada !== "n") {
@ -49,7 +47,6 @@ function obterEntradaBooleano(mensagem: string): boolean {
return entrada === "s"; return entrada === "s";
} }
// Função para criar uma série
function criarSerie(): void { function criarSerie(): void {
const titulo = obterEntradaTexto("Digite o título da série:"); const titulo = obterEntradaTexto("Digite o título da série:");
const ano = obterEntradaNumero("Digite o ano de lançamento da série:"); const ano = obterEntradaNumero("Digite o ano de lançamento da série:");
@ -61,9 +58,8 @@ function criarSerie(): void {
console.log("Série cadastrada com sucesso!"); console.log("Série cadastrada com sucesso!");
} }
// Função para listar as séries
function listarSeries(): void { function listarSeries(): void {
if (series.length === 0) { if (!series[0]) {
console.log("Nenhuma série cadastrada."); console.log("Nenhuma série cadastrada.");
return; return;
} }
@ -78,7 +74,50 @@ function listarSeries(): void {
} }
} }
// Função principal function atualizarSerie(): void {
if (!series[0]) {
console.log("Nenhuma série cadastrada.");
return;
}
const id = obterEntradaNumero("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:");
serie.titulo = obterEntradaTexto("Novo título:");
serie.ano = obterEntradaNumero("Novo ano de lançamento:");
serie.finalizada = obterEntradaBooleano("A série foi finalizada");
console.log("Série atualizada com sucesso!");
}
function excluirSerie(): void {
if (!series[0]) {
console.log("Nenhuma série cadastrada.");
return;
}
const id = obterEntradaNumero("Digite o ID da série a ser excluída:");
const index = series.findIndex((s) => s.id === id);
if (index === -1) {
console.log("Série não encontrada.");
return;
}
for (let i = index; i < series.length - 1; i++) {
series[i] = series[i + 1];
}
series.pop();
console.log("Série excluída com sucesso!");
}
function main(): void { function main(): void {
let opcao = 0; let opcao = 0;
@ -90,6 +129,10 @@ function main(): void {
criarSerie(); criarSerie();
} else if (opcao === 2) { } else if (opcao === 2) {
listarSeries(); listarSeries();
} else if (opcao === 3) {
atualizarSerie();
} else if (opcao === 4) {
excluirSerie();
} else if (opcao === 5) { } else if (opcao === 5) {
console.log("Encerrando o sistema. Até mais!"); console.log("Encerrando o sistema. Até mais!");
} else { } else {
@ -98,5 +141,4 @@ function main(): void {
} }
} }
// Iniciar o programa
main(); main();