Atualizar sistema.ts

This commit is contained in:
JADSON LIMA DO NASCIMENTO 2024-12-10 15:02:08 +00:00
parent 6aff122aac
commit ce13d90a1a
1 changed files with 59 additions and 119 deletions

View File

@ -5,128 +5,68 @@ type Serie = {
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
Entre com sua opção:
`);
}
// 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";
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";
const finalizada = (prompt("A série foi finalizada ? (s/n:") || "n").toLowerCase() === "s";
return { id: contadorId++, titulo, ano, finalizada };
return {id: contadorId++, título, ano, finalizada};
}
// Função para criar uma série
async function criarSerie(): Promise<void> {
const novaSerie = await solicitarDados();
function criarSerie(): void {
const novaSerie = 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("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"
`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);
function main(): void{
let opcao = 0;
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 {
while (opcao !== 5){
mostrarMenu();
opcao = Number (prompt("Escolha uma opção:"));
switch (opcao) {
case 1:
console.log("Criar");
await criarSerie();
break;
case 2:
if (opcao === 1){
console.log ("criar");
criarSerie();
}else if (opcao === 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:
}else if ("opcao === 5"){
console.log ("sair");
}else{
console.log ("Opção inválida! Tente novamente.");
}
} while (opcao !== 5);
}
console.log ("Encerrando o sistema. Até mais!");
}
// Iniciar o programa
await main();
main();