Atualizar sistema.ts

This commit is contained in:
JADSON LIMA DO NASCIMENTO 2025-01-21 03:06:33 +00:00
parent a36b1ac158
commit 8863de6a6a
1 changed files with 87 additions and 57 deletions

View File

@ -8,65 +8,95 @@ type Serie = {
let series: Serie[] = []; let series: Serie[] = [];
let contadorId = 1; let contadorId = 1;
function mostrarMenu(): void{ // Função para exibir o menu
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 5. Sair
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++, titulo, ano, finalizada}; // Função para obter entrada válida do usuário
function obterEntradaTexto(mensagem: string): string {
let entrada = prompt(mensagem) || "";
while (!entrada.trim()) {
console.log("Entrada inválida. Por favor, tente novamente.");
entrada = prompt(mensagem) || "";
}
return entrada.trim();
} }
// 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) {
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") {
console.log("Por favor, digite 's' para sim ou 'n' para não.");
entrada = prompt(mensagem + " (s/n):") || "";
}
return entrada === "s";
}
// Função para criar uma série
function criarSerie(): void { function criarSerie(): void {
const novaSerie = solicitarDados(); const titulo = obterEntradaTexto("Digite o título da série:");
const ano = obterEntradaNumero("Digite o ano de lançamento da série:");
const finalizada = obterEntradaBooleano("A série foi finalizada");
const novaSerie: Serie = { id: contadorId, titulo, ano, finalizada };
series.push(novaSerie); series.push(novaSerie);
console.log("Série adicionada com sucesso!"); contadorId++;
console.log("Série cadastrada com sucesso!");
} }
function listarSeries(): void{ // Função para listar as séries
if (series.length === 0){ function listarSeries(): void {
console.log("Nenhuma Série cadastrada."); if (series.length === 0) {
}else{ console.log("Nenhuma série cadastrada.");
console.log("Listagem de Séries:"); return;
for(const serie of series){ }
console.log("Listagem de séries:");
for (const serie of series) {
console.log( console.log(
`ID: ${serie.id} | Título: ${serie.titulo} | Ano: ${serie.ano} | Finalizada: ${serie.finalizada ? "Sim" : "Não" `ID: ${serie.id} | Título: ${serie.titulo} | Ano: ${serie.ano} | Finalizada: ${
serie.finalizada ? "Sim" : "Não"
}` }`
); );
} }
}
} }
function main(): void{ // Função principal
function main(): void {
let opcao = 0; let opcao = 0;
while (opcao !== 5){ while (opcao !== 5) {
mostrarMenu(); mostrarMenu();
opcao = Number (prompt("Escolha uma opção:")); opcao = obterEntradaNumero("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!"); if (opcao === 1) {
criarSerie();
} else if (opcao === 2) {
listarSeries();
} else if (opcao === 5) {
console.log("Encerrando o sistema. Até mais!");
} else {
console.log("Opção inválida! Tente novamente.");
}
}
} }
// Iniciar o programa
main(); main();