Atualizar sistema.ts

This commit is contained in:
JADSON LIMA DO NASCIMENTO 2024-11-19 15:08:45 +00:00
parent 79a334e941
commit 6aff122aac
1 changed files with 126 additions and 16 deletions

View File

@ -1,22 +1,132 @@
const menuPrincipal = ` type Serie = {
Sistema de Series id: number;
titulo: string;
ano: number;
finalizada: boolean;
};
1. adicionar // Array para armazenar as séries
2. remover let series: Serie[] = [];
3. atualizar let contadorId = 1; // Gerador de IDs únicos
4. ler
5. sair
entre com uma opção: ` // 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 principal(){ Entre com sua opção:
let op: number; `);
op = parseInt(prompt(menuPrincipal)); }
while (op!=5){
op = parseInt(prompt(menuPrincipal));
} // Função para solicitar os dados de uma série
async function solicitarDados(): Promise<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++, titulo, ano, finalizada };
}
// Função para criar uma série
async function criarSerie(): Promise<void> {
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<void> {
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<void> {
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.");
} }
principal() } while (opcao !== 5);
console.log("Encerrando o sistema. Até mais!");
}
// Iniciar o programa
await main();