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
|
# 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