none
Alg _ Sistema de Cadastro Basico RRS feed

  • 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!");
                            break
                        case 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()
            {
            }
        }
    }



    terça-feira, 15 de maio de 2018 22:20

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");
                }
            }
        }
    }


    terça-feira, 15 de maio de 2018 23:30
    Moderador
  • É 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

    quarta-feira, 16 de maio de 2018 01:05
    Moderador

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");
                }
            }
        }
    }


    terça-feira, 15 de maio de 2018 23:30
    Moderador
  • Obrigado mestre!

    quarta-feira, 16 de maio de 2018 00:22
  • Poderia explicar o por quê do [c - 1] ? 
    Sei que c é como um contador, usado para auxiliar, mas por que o "- 1"?
    quarta-feira, 16 de maio de 2018 00:47
  • É 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

    quarta-feira, 16 de maio de 2018 01:05
    Moderador
  • Obrigado meu amigo, ajudou muito e aprendi coisas novas! :D

    quarta-feira, 16 de maio de 2018 01:11
  • Poderia fazer uma forma para salvar os dados em arquivo, para que sejam abertos da próxima
    vez?
    domingo, 20 de maio de 2018 16:15