Usuário com melhor resposta
Alg _ Sistema de Cadastro Basico

Pergunta
-
Adiantei algumas coisas do algoritmo, porém não estou conseguido fazer com que ele remova ou altere um valor,
Quem puder ajudar, já agradeço!Segue meu código abaixo:
using System;
using System.Collections;
using System.Collections.Generic;
namespace Trabalho
{
class Program
{
public class Pessoa
}
static List<Pesso> pessoas = new List<Pessoa>();
static void Main(string[] args)
{
EscolherOPC();
Console.WriteLine("....................................");
Console.WriteLine("Pressione qualquer tecla para sair.");
Console.WriteLne("....................................");
Console.ReadKey();
}
static void EscolherOPC()
{
bool continuar = true;
while (continuar)
{
Console.Clear();
Console.WriteLine("Bem Vindo! \n");
Console.WriteLine("Selecione uma das opções abaixo: ");
Console.WriteLine("....................................");
Console.WriteLine("(1) Cadastrar");
Console.WriteLine("(2) Alterar");
Console.WriteLine("(3) Consultar");
Console.WriteLine("(4) Listar");
Console.WriteLine("(5) Remover");
Console.WriteLine("....................................");
int opc = int.Parse(Console.ReadLine());
Console.Clear();
switch (opc)
{
case 1:
Pessoa p = new Pessoa();
Cadastrar(p);
Console.WriteLine("Cadastro Realizado!");
breakcase 2: Alterar(); break;case 3: Console.WriteLine("Informe quem deseja encontrar: "); bool encontrado = Consultar(Console.ReadLine()); break;case 4: Listar(); break;case 5: Remover(); break;
}
Console.WriteLine("Deseja continuar no sistema? 1 - Sim | 0 - Não");
continuar = (int.Parse(Console.ReadLine()) == 1 ? true : false);
}
}
static void Cadastrar(Pessoa p)
{
Console.WriteLine("Informe o nome:");
p.nome = Console.ReadLine();
Console.WriteLine("Informe a altura:");
p.altura = double.Parse(Console.ReadLine());
Console.WriteLine("Informe o peso:");
p.peso = double.Parse(Console.ReadLine());
pessoas.Add(p);
}
static void Alterar()
{
}
}
static void Remover()
{
}
}
}
- Editado SamuraiOcidental quarta-feira, 16 de maio de 2018 01:17 Ok
Respostas
-
Olá,
fiz aqui, como foi didático, fiz bem simples. Não levei em conta boas praticas. Agora você pode ajustar ai, como por exemplos as validações.
using System; using System.Collections; using System.Collections.Generic; namespace Trabalho { class Program { public class Pessoa { public string nome; public double altura; public double peso; } static List<Pessoa> pessoas = new List<Pessoa>(); static void Main(string[] args) { EscolherOPC(); Console.WriteLine("...................................."); Console.WriteLine("Pressione qualquer tecla para sair."); Console.WriteLine("...................................."); Console.ReadKey(); } static void EscolherOPC() { bool continuar = true; while (continuar) { Console.Clear(); Console.WriteLine("Bem Vindo! \n"); Console.WriteLine("Selecione uma das opções abaixo: "); Console.WriteLine("...................................."); Console.WriteLine("(1) Cadastrar"); Console.WriteLine("(2) Alterar"); Console.WriteLine("(3) Consultar"); Console.WriteLine("(4) Listar"); Console.WriteLine("(5) Remover"); Console.WriteLine("...................................."); int opc = int.Parse(Console.ReadLine()); Console.Clear(); switch (opc) { case 1: Pessoa p = new Pessoa(); Cadastrar(p); Console.WriteLine("Cadastro Realizado!"); break; case 2: Alterar(); Console.WriteLine("Alteracao feita com sucesso"); break; case 3: Console.WriteLine("Informe quem deseja encontrar: "); bool encontrado = Consultar(Console.ReadLine()); break; case 4: Listar(); break; case 5: Remover(); break; } Console.WriteLine("Deseja continuar no sistema? 1 - Sim | 0 - Não"); continuar = (int.Parse(Console.ReadLine()) == 1 ? true : false); } } static void Cadastrar(Pessoa p) { Console.WriteLine("Informe o nome:"); p.nome = Console.ReadLine(); Console.WriteLine("Informe a altura:"); p.altura = double.Parse(Console.ReadLine()); Console.WriteLine("Informe o peso:"); p.peso = double.Parse(Console.ReadLine()); pessoas.Add(p); } static void Alterar() { if (pessoas.Count > 0) { Console.WriteLine("digite o numero para edicao"); var c = 0; foreach (var p in pessoas) { Console.WriteLine("{0} - Nome: {1} | Altura: {2}m | Peso: {3}kg", c, p.nome, p.altura, p.peso); c++; } var num = int.Parse(Console.ReadLine()); if (num >= 0 && num < pessoas.Count) { Console.WriteLine("Informe os dados para alteração"); Console.WriteLine("Informe o nome:"); pessoas[c - 1].nome = Console.ReadLine(); Console.WriteLine("Informe a altura:"); pessoas[c - 1].altura = double.Parse(Console.ReadLine()); Console.WriteLine("Informe o peso:"); pessoas[c - 1].peso = double.Parse(Console.ReadLine()); } } else { Console.WriteLine("não há pessoas cadastradas"); } } static bool Consultar(string nome) { bool encontrado = false; foreach (Pessoa p in pessoas) { if (p.nome.ToLower().Contains(nome.ToLower())) { Console.WriteLine("Nome: {0} | Altura: {1}m | Peso: {2}kg", p.nome, p.altura, p.peso); encontrado = true; } } if (!encontrado) { Console.WriteLine("Pessoa não encontrada!"); } return encontrado; } static void Listar() { foreach (Pessoa p in pessoas) { Console.WriteLine("Nome: {0} | Altura: {1}m | Peso: {2}kg", p.nome, p.altura, p.peso); } } static void Remover() { if (pessoas.Count > 0) { Console.WriteLine("digite o numero para Exclusão"); var c = 0; foreach (var p in pessoas) { Console.WriteLine("{0} - Nome: {1} | Altura: {2}m | Peso: {3}kg", c, p.nome, p.altura, p.peso); c++; } var num = int.Parse(Console.ReadLine()); pessoas.Remove(pessoas[c-1]); Console.WriteLine("exclusao feita com sucesso"); } else { Console.WriteLine("não há pessoas cadastradas"); } } } }
- Editado welington jrModerator terça-feira, 15 de maio de 2018 23:32
- Marcado como Resposta SamuraiOcidental quarta-feira, 16 de maio de 2018 00:22
-
É porque o índice na lista de pessoas começa com zero. igual um array ele sempre começa na posição 0. No caso a variável contador está com 1 a mais
- Marcado como Resposta SamuraiOcidental quarta-feira, 16 de maio de 2018 01:10
Todas as Respostas
-
Olá,
fiz aqui, como foi didático, fiz bem simples. Não levei em conta boas praticas. Agora você pode ajustar ai, como por exemplos as validações.
using System; using System.Collections; using System.Collections.Generic; namespace Trabalho { class Program { public class Pessoa { public string nome; public double altura; public double peso; } static List<Pessoa> pessoas = new List<Pessoa>(); static void Main(string[] args) { EscolherOPC(); Console.WriteLine("...................................."); Console.WriteLine("Pressione qualquer tecla para sair."); Console.WriteLine("...................................."); Console.ReadKey(); } static void EscolherOPC() { bool continuar = true; while (continuar) { Console.Clear(); Console.WriteLine("Bem Vindo! \n"); Console.WriteLine("Selecione uma das opções abaixo: "); Console.WriteLine("...................................."); Console.WriteLine("(1) Cadastrar"); Console.WriteLine("(2) Alterar"); Console.WriteLine("(3) Consultar"); Console.WriteLine("(4) Listar"); Console.WriteLine("(5) Remover"); Console.WriteLine("...................................."); int opc = int.Parse(Console.ReadLine()); Console.Clear(); switch (opc) { case 1: Pessoa p = new Pessoa(); Cadastrar(p); Console.WriteLine("Cadastro Realizado!"); break; case 2: Alterar(); Console.WriteLine("Alteracao feita com sucesso"); break; case 3: Console.WriteLine("Informe quem deseja encontrar: "); bool encontrado = Consultar(Console.ReadLine()); break; case 4: Listar(); break; case 5: Remover(); break; } Console.WriteLine("Deseja continuar no sistema? 1 - Sim | 0 - Não"); continuar = (int.Parse(Console.ReadLine()) == 1 ? true : false); } } static void Cadastrar(Pessoa p) { Console.WriteLine("Informe o nome:"); p.nome = Console.ReadLine(); Console.WriteLine("Informe a altura:"); p.altura = double.Parse(Console.ReadLine()); Console.WriteLine("Informe o peso:"); p.peso = double.Parse(Console.ReadLine()); pessoas.Add(p); } static void Alterar() { if (pessoas.Count > 0) { Console.WriteLine("digite o numero para edicao"); var c = 0; foreach (var p in pessoas) { Console.WriteLine("{0} - Nome: {1} | Altura: {2}m | Peso: {3}kg", c, p.nome, p.altura, p.peso); c++; } var num = int.Parse(Console.ReadLine()); if (num >= 0 && num < pessoas.Count) { Console.WriteLine("Informe os dados para alteração"); Console.WriteLine("Informe o nome:"); pessoas[c - 1].nome = Console.ReadLine(); Console.WriteLine("Informe a altura:"); pessoas[c - 1].altura = double.Parse(Console.ReadLine()); Console.WriteLine("Informe o peso:"); pessoas[c - 1].peso = double.Parse(Console.ReadLine()); } } else { Console.WriteLine("não há pessoas cadastradas"); } } static bool Consultar(string nome) { bool encontrado = false; foreach (Pessoa p in pessoas) { if (p.nome.ToLower().Contains(nome.ToLower())) { Console.WriteLine("Nome: {0} | Altura: {1}m | Peso: {2}kg", p.nome, p.altura, p.peso); encontrado = true; } } if (!encontrado) { Console.WriteLine("Pessoa não encontrada!"); } return encontrado; } static void Listar() { foreach (Pessoa p in pessoas) { Console.WriteLine("Nome: {0} | Altura: {1}m | Peso: {2}kg", p.nome, p.altura, p.peso); } } static void Remover() { if (pessoas.Count > 0) { Console.WriteLine("digite o numero para Exclusão"); var c = 0; foreach (var p in pessoas) { Console.WriteLine("{0} - Nome: {1} | Altura: {2}m | Peso: {3}kg", c, p.nome, p.altura, p.peso); c++; } var num = int.Parse(Console.ReadLine()); pessoas.Remove(pessoas[c-1]); Console.WriteLine("exclusao feita com sucesso"); } else { Console.WriteLine("não há pessoas cadastradas"); } } } }
- Editado welington jrModerator terça-feira, 15 de maio de 2018 23:32
- Marcado como Resposta SamuraiOcidental quarta-feira, 16 de maio de 2018 00:22
-
-
-
É porque o índice na lista de pessoas começa com zero. igual um array ele sempre começa na posição 0. No caso a variável contador está com 1 a mais
- Marcado como Resposta SamuraiOcidental quarta-feira, 16 de maio de 2018 01:10
-
-