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

@ -1,132 +1,72 @@
type Serie = { type Serie = {
id: number; id: number;
titulo: string; titulo: string;
ano: number; ano: number;
finalizada: boolean; finalizada: boolean;
}; };
// Array para armazenar as séries let series: Serie[];
let series: Serie[] = []; let contadorId = 1;
let contadorId = 1; // Gerador de IDs únicos
// 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 5. Sair
3. Atualizar
4. Excluir
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 function criarSerie(): void {
async function solicitarDados(): Promise<Serie> { const novaSerie = solicitarDados();
const titulo = prompt("Digite o título da série:") || "Série sem título"; series.push(novaSerie);
const ano = Number(prompt("Digite o ano de lançamento da série:") || "0"); console.log("Série adicionada com sucesso!");
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 function listarSeries(): void{
async function criarSerie(): Promise<void> { if (series.length === 0){
const novaSerie = await solicitarDados(); console.log("Nenhuma Série cadastrada.");
series.push(novaSerie); }else{
console.log("Série adicionada com sucesso!"); console.log("Listagem de Séries:");
} for(const serie of series){
console.log(
// Função para listar as séries `ID: ${serie.id} | Título: ${serie.titulo} | Ano: ${serie.ano} | Finalizada: ${serie.finalizada ? "Sim" : "Não"
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.");
} }
} while (opcao !== 5);
console.log("Encerrando o sistema. Até mais!");
} }
// Iniciar o programa function main(): void{
await main(); 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();