From b15cf57dc4231c1d20969178b9c3ae648ecb5f80 Mon Sep 17 00:00:00 2001 From: Juciele Oliveira da Silva Date: Mon, 3 Feb 2025 18:25:32 +0000 Subject: [PATCH] Atualizar crud.ts --- crud.ts | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/crud.ts b/crud.ts index e69de29..83f0e89 100644 --- a/crud.ts +++ b/crud.ts @@ -0,0 +1,57 @@ +import * as promptSync from 'prompt-sync'; +interface Item { +  id: number; +  nome: string; +  descricao: string; +} +const prompt = promptSync(); +let itens: Item[] = []; +let idAtual = 1; +const exibirMenu = () => { +  console.log("\n1. Criar\n2. Listar\n3. Atualizar\n4. Excluir\n5. +Sair\nEscolha uma opção:"); +}; +const criar = () => { +  const nome = prompt("Nome do item: "); +  const descricao = prompt("Descrição do item: "); +  itens.push({ id: idAtual++, nome, descricao }); +  console.log("Item criado com sucesso!"); +}; +const listar = () => { +  if (itens.length === 0) return console.log("Nenhum item cadastrado."); +  itens.forEach(i => console.log(`ID: ${i.id}, Nome: ${i.nome}, +Descrição: ${i.descricao}`)); +}; +const atualizar = () => { +  const id = parseInt(prompt("ID do item a atualizar: ")); +  const item = itens.find(i => i.id === id); +  if (!item) return console.log("Item não encontrado."); +  item.nome = prompt(`Novo nome (atualmente: ${item.nome}): `); +  item.descricao = prompt(`Nova descrição (atualmente: +${item.descricao}): `); +  console.log("Item atualizado com sucesso!"); +}; +const excluir = () => { +  const id = parseInt(prompt("ID do item a excluir: ")); +  const index = itens.findIndex(i => i.id === id); +  if (index === -1) return console.log("Item não encontrado."); +  itens.splice(index, 1); +  console.log("Item excluído com sucesso!"); +}; +const main = () => { +  let opcao: number; + +  do { +    exibirMenu(); +    opcao = parseInt(prompt("> ")); +    switch (opcao) { +      case 1: criar(); break; +      case 2: listar(); break; +      case 3: atualizar(); break; +      case 4: excluir(); break; +      case 5: console.log("Saindo..."); break; +      default: console.log("Opção inválida."); +    } +  } while (opcao !== 5); +}; +main(); \ No newline at end of file