Atualizar sistema.ts
This commit is contained in:
parent
79a334e941
commit
6aff122aac
142
sistema.ts
142
sistema.ts
|
@ -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();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue