Compare commits
10 Commits
003c7400b2
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
| a630e5ee4d | |||
| 1320a6ca27 | |||
| 8863de6a6a | |||
| a36b1ac158 | |||
| ce13d90a1a | |||
| 6aff122aac | |||
| 79a334e941 | |||
| a47e71a10a | |||
| 544c8ee6cf | |||
| 006012dab0 |
@@ -1,2 +1,19 @@
|
||||
# fla-final
|
||||
|
||||
Projeto Final
|
||||
Sist. CRUD
|
||||
|
||||
## CRUD
|
||||
|
||||
- C reate
|
||||
* R ead
|
||||
+ U pdate
|
||||
- D elete
|
||||
|
||||
## TUI
|
||||
|
||||
- text
|
||||
user
|
||||
interface
|
||||
|
||||
git é legal! :+1:
|
||||
+140
@@ -0,0 +1,140 @@
|
||||
type Serie = {
|
||||
id: number;
|
||||
titulo: string;
|
||||
ano: number;
|
||||
finalizada: boolean;
|
||||
};
|
||||
|
||||
let series: Serie[] = [];
|
||||
let contadorId = 1;
|
||||
|
||||
function mostrarMenu(): void {
|
||||
console.log(`
|
||||
Sistema Gerenciador de Séries
|
||||
|
||||
1. Criar
|
||||
2. Listar
|
||||
3. Atualizar
|
||||
4. Excluir
|
||||
5. Sair
|
||||
`);
|
||||
}
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
function obterEntradaNumero(mensagem: string): number {
|
||||
let entrada = parseInt(prompt(mensagem) || "", 10);
|
||||
while (!entrada || entrada <= 0) {
|
||||
console.log("Por favor, insira um número válido.");
|
||||
entrada = parseInt(prompt(mensagem) || "", 10);
|
||||
}
|
||||
return entrada;
|
||||
}
|
||||
|
||||
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";
|
||||
}
|
||||
|
||||
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:");
|
||||
const finalizada = obterEntradaBooleano("A série foi finalizada");
|
||||
|
||||
const novaSerie: Serie = { id: contadorId, titulo, ano, finalizada };
|
||||
series.push(novaSerie);
|
||||
contadorId++;
|
||||
console.log("Série cadastrada com sucesso!");
|
||||
}
|
||||
|
||||
function listarSeries(): void {
|
||||
if (series.length === 0) {
|
||||
console.log("Nenhuma série cadastrada.");
|
||||
return;
|
||||
}
|
||||
|
||||
console.log("Listagem de séries:");
|
||||
for (const serie of series) {
|
||||
console.log(
|
||||
`ID: ${serie.id} | Título: ${serie.titulo} | Ano: ${serie.ano} | Finalizada: ${
|
||||
serie.finalizada ? "Sim" : "Não"
|
||||
}`
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
function atualizarSerie(): void {
|
||||
if (series.length === 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.length === 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;
|
||||
}
|
||||
|
||||
series.splice(index, 1);
|
||||
console.log("Série excluída com sucesso!");
|
||||
}
|
||||
|
||||
function main(): void {
|
||||
let opcao = 0;
|
||||
|
||||
while (opcao !== 5) {
|
||||
mostrarMenu();
|
||||
opcao = obterEntradaNumero("Escolha uma opção:");
|
||||
|
||||
if (opcao === 1) {
|
||||
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 {
|
||||
console.log("Opção inválida! Tente novamente.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
main();
|
||||
Reference in New Issue
Block a user