Ir ao conteúdo
  • Cadastre-se

Duvida em C#


Emerson111

Posts recomendados

Preciso fazer um código em C# que faça o cadastro de 20 livros, tendo a opção de incluir, excluir, sair do programa e informar que a lista está completa.

Destas funcionalidades somente não consegui fazer aparecer a mensagem informando que os 20 livros já estão cadastrados. solicito ajuda para finalizar esse código.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int count = 0;
Console.WriteLine("");
Console.WriteLine("INCLUSAO PILHA");

Console.WriteLine("+--------------------+");
Console.WriteLine("| Menu Operacoes |");
Console.WriteLine("| 0 - Sair |");
Console.WriteLine("| 1 - Incluir |");
Console.WriteLine("| 2 - Excluir |");
Console.WriteLine("+--------------------+");
Console.WriteLine("");
string opcao = "";
string[] livros = new string[20];
string livro = "";
while (!opcao.Equals(0))
{
Console.Write("\nEscolha uma opcao: ");
opcao = Console.ReadLine();
if (opcao == "1")
{


if (count < 20)
{
Console.Write("\nNome do livro a ser cadastrado: ");
livro = Console.ReadLine();
livros[count] = livro;
count++;
Console.WriteLine("Livro " + livro + " cadastrado com sucesso!!!");
}
else
{
Console.WriteLine("OVERFLOW - Erro de excesso de dados, sua lista esta completa !!!");
}
}
else if (opcao == "2")
{
Console.Write("Informe o nome do livro a ser excluido: ");
livro = Console.ReadLine();
if (livros.Contains(livro))
{
int numIdx = (Array.IndexOf(livros, livro));
List<string> lista = livros.ToList();
lista.Remove(livros[numIdx]);
livros = lista.ToArray();
Console.WriteLine("Livro " + livro + " excluido com sucesso.");
}


else
{
Console.WriteLine("livro nao encontrado");
}
}
else if (opcao == "0")
{
return;
}
else
{
Console.WriteLine("Opção inválida.");
}
}

}
}
}

Link para o comentário
Compartilhar em outros sites

Você esta fazendo uma permutação entre List<string> e string[] desnecessária, acredito que deveria usar apenas o List<string> que possui muito mais recursos.

Agora quanto a dúvida, você deve verificar se a lista já contem 20 livros antes de mostrar a mensagem para digitar uma opção.

Se for usar o string[] você terá que acessar a propriedade Length para verificar quantos livros a lista possui, se for usar o List<string> você terá que utilizar a propriedade Count.

Espero ter ajudado.

ATT,

LBarcelosM

Link para o comentário
Compartilhar em outros sites

  • 4 semanas depois...

Amigo... testei seu código, e esta funcionando ..... só falta decrementar count quando remover um livro....

nesta parte do codigo....


if (livros.Contains(livro))
{
int numIdx = (Array.IndexOf(livros, livro));
List<string> lista = livros.ToList();
lista.Remove(livros[numIdx]);
livros = lista.ToArray();
Console.WriteLine("Livro " + livro + " excluido com sucesso.");
count--;
}

Att.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...