Atualizar sistema.ts
This commit is contained in:
parent
8863de6a6a
commit
1320a6ca27
66
sistema.ts
66
sistema.ts
|
@ -8,38 +8,36 @@ type Serie = {
|
|||
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
|
||||
`);
|
||||
}
|
||||
|
||||
// Função para obter entrada válida do usuário
|
||||
function obterEntradaTexto(mensagem: string): string {
|
||||
let entrada = prompt(mensagem) || "";
|
||||
while (!entrada.trim()) {
|
||||
while (entrada.replace(/\s/g, "") === "") {
|
||||
console.log("Entrada inválida. Por favor, tente novamente.");
|
||||
entrada = prompt(mensagem) || "";
|
||||
}
|
||||
return entrada.trim();
|
||||
return entrada;
|
||||
}
|
||||
|
||||
// Função para obter um número válido do usuário
|
||||
function obterEntradaNumero(mensagem: string): number {
|
||||
let entrada = parseInt(prompt(mensagem) || "", 10);
|
||||
while (isNaN(entrada) || entrada <= 0) {
|
||||
while (!entrada || entrada <= 0) {
|
||||
console.log("Por favor, insira um número válido.");
|
||||
entrada = parseInt(prompt(mensagem) || "", 10);
|
||||
}
|
||||
return entrada;
|
||||
}
|
||||
|
||||
// Função para obter um valor booleano válido
|
||||
function obterEntradaBooleano(mensagem: string): boolean {
|
||||
let entrada = prompt(mensagem + " (s/n):") || "";
|
||||
while (entrada !== "s" && entrada !== "n") {
|
||||
|
@ -49,7 +47,6 @@ function obterEntradaBooleano(mensagem: string): boolean {
|
|||
return entrada === "s";
|
||||
}
|
||||
|
||||
// Função para criar uma série
|
||||
function criarSerie(): void {
|
||||
const titulo = obterEntradaTexto("Digite o título da série:");
|
||||
const ano = obterEntradaNumero("Digite o ano de lançamento da série:");
|
||||
|
@ -61,9 +58,8 @@ function criarSerie(): void {
|
|||
console.log("Série cadastrada com sucesso!");
|
||||
}
|
||||
|
||||
// Função para listar as séries
|
||||
function listarSeries(): void {
|
||||
if (series.length === 0) {
|
||||
if (!series[0]) {
|
||||
console.log("Nenhuma série cadastrada.");
|
||||
return;
|
||||
}
|
||||
|
@ -78,7 +74,50 @@ function listarSeries(): void {
|
|||
}
|
||||
}
|
||||
|
||||
// Função principal
|
||||
function atualizarSerie(): void {
|
||||
if (!series[0]) {
|
||||
console.log("Nenhuma série cadastrada.");
|
||||
return;
|
||||
}
|
||||
|
||||
const id = obterEntradaNumero("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:");
|
||||
serie.titulo = obterEntradaTexto("Novo título:");
|
||||
serie.ano = obterEntradaNumero("Novo ano de lançamento:");
|
||||
serie.finalizada = obterEntradaBooleano("A série foi finalizada");
|
||||
|
||||
console.log("Série atualizada com sucesso!");
|
||||
}
|
||||
|
||||
function excluirSerie(): void {
|
||||
if (!series[0]) {
|
||||
console.log("Nenhuma série cadastrada.");
|
||||
return;
|
||||
}
|
||||
|
||||
const id = obterEntradaNumero("Digite o ID da série a ser excluída:");
|
||||
const index = series.findIndex((s) => s.id === id);
|
||||
|
||||
if (index === -1) {
|
||||
console.log("Série não encontrada.");
|
||||
return;
|
||||
}
|
||||
|
||||
for (let i = index; i < series.length - 1; i++) {
|
||||
series[i] = series[i + 1];
|
||||
}
|
||||
series.pop();
|
||||
|
||||
console.log("Série excluída com sucesso!");
|
||||
}
|
||||
|
||||
function main(): void {
|
||||
let opcao = 0;
|
||||
|
||||
|
@ -90,6 +129,10 @@ function main(): void {
|
|||
criarSerie();
|
||||
} else if (opcao === 2) {
|
||||
listarSeries();
|
||||
} else if (opcao === 3) {
|
||||
atualizarSerie();
|
||||
} else if (opcao === 4) {
|
||||
excluirSerie();
|
||||
} else if (opcao === 5) {
|
||||
console.log("Encerrando o sistema. Até mais!");
|
||||
} else {
|
||||
|
@ -98,5 +141,4 @@ function main(): void {
|
|||
}
|
||||
}
|
||||
|
||||
// Iniciar o programa
|
||||
main();
|
Loading…
Reference in New Issue