Atualizar sistema.ts
This commit is contained in:
parent
79a334e941
commit
6aff122aac
138
sistema.ts
138
sistema.ts
|
@ -1,22 +1,132 @@
|
|||
const menuPrincipal = `
|
||||
Sistema de Series
|
||||
type Serie = {
|
||||
id: number;
|
||||
titulo: string;
|
||||
ano: number;
|
||||
finalizada: boolean;
|
||||
};
|
||||
|
||||
1. adicionar
|
||||
2. remover
|
||||
3. atualizar
|
||||
4. ler
|
||||
5. sair
|
||||
// Array para armazenar as séries
|
||||
let series: Serie[] = [];
|
||||
let contadorId = 1; // Gerador de IDs únicos
|
||||
|
||||
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(){
|
||||
let op: number;
|
||||
op = parseInt(prompt(menuPrincipal));
|
||||
while (op!=5){
|
||||
op = parseInt(prompt(menuPrincipal));
|
||||
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";
|
||||
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;
|
||||
}
|
||||
principal()
|
||||
|
||||
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
|
||||
await main();
|
||||
|
||||
|
|
Loading…
Reference in New Issue