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 series: Serie[] = [];
|
||||||
let contadorId = 1;
|
let contadorId = 1;
|
||||||
|
|
||||||
// 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
|
||||||
|
3. Atualizar
|
||||||
|
4. Excluir
|
||||||
5. Sair
|
5. Sair
|
||||||
`);
|
`);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Função para obter entrada válida do usuário
|
|
||||||
function obterEntradaTexto(mensagem: string): string {
|
function obterEntradaTexto(mensagem: string): string {
|
||||||
let entrada = prompt(mensagem) || "";
|
let entrada = prompt(mensagem) || "";
|
||||||
while (!entrada.trim()) {
|
while (entrada.replace(/\s/g, "") === "") {
|
||||||
console.log("Entrada inválida. Por favor, tente novamente.");
|
console.log("Entrada inválida. Por favor, tente novamente.");
|
||||||
entrada = prompt(mensagem) || "";
|
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 {
|
function obterEntradaNumero(mensagem: string): number {
|
||||||
let entrada = parseInt(prompt(mensagem) || "", 10);
|
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.");
|
console.log("Por favor, insira um número válido.");
|
||||||
entrada = parseInt(prompt(mensagem) || "", 10);
|
entrada = parseInt(prompt(mensagem) || "", 10);
|
||||||
}
|
}
|
||||||
return entrada;
|
return entrada;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Função para obter um valor booleano válido
|
|
||||||
function obterEntradaBooleano(mensagem: string): boolean {
|
function obterEntradaBooleano(mensagem: string): boolean {
|
||||||
let entrada = prompt(mensagem + " (s/n):") || "";
|
let entrada = prompt(mensagem + " (s/n):") || "";
|
||||||
while (entrada !== "s" && entrada !== "n") {
|
while (entrada !== "s" && entrada !== "n") {
|
||||||
|
@ -49,7 +47,6 @@ function obterEntradaBooleano(mensagem: string): boolean {
|
||||||
return entrada === "s";
|
return entrada === "s";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Função para criar uma série
|
|
||||||
function criarSerie(): void {
|
function criarSerie(): void {
|
||||||
const titulo = obterEntradaTexto("Digite o título da série:");
|
const titulo = obterEntradaTexto("Digite o título da série:");
|
||||||
const ano = obterEntradaNumero("Digite o ano de lançamento 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!");
|
console.log("Série cadastrada com sucesso!");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Função para listar as séries
|
|
||||||
function listarSeries(): void {
|
function listarSeries(): void {
|
||||||
if (series.length === 0) {
|
if (!series[0]) {
|
||||||
console.log("Nenhuma série cadastrada.");
|
console.log("Nenhuma série cadastrada.");
|
||||||
return;
|
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 {
|
function main(): void {
|
||||||
let opcao = 0;
|
let opcao = 0;
|
||||||
|
|
||||||
|
@ -90,6 +129,10 @@ function main(): void {
|
||||||
criarSerie();
|
criarSerie();
|
||||||
} else if (opcao === 2) {
|
} else if (opcao === 2) {
|
||||||
listarSeries();
|
listarSeries();
|
||||||
|
} else if (opcao === 3) {
|
||||||
|
atualizarSerie();
|
||||||
|
} else if (opcao === 4) {
|
||||||
|
excluirSerie();
|
||||||
} else if (opcao === 5) {
|
} else if (opcao === 5) {
|
||||||
console.log("Encerrando o sistema. Até mais!");
|
console.log("Encerrando o sistema. Até mais!");
|
||||||
} else {
|
} else {
|
||||||
|
@ -98,5 +141,4 @@ function main(): void {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Iniciar o programa
|
|
||||||
main();
|
main();
|
Loading…
Reference in New Issue