Jump to content
Stark

[Resolvido] Trabalho Prático C#

Recommended Posts

Stark

Boas, entrei agora para Engenharia Informática, e tenho um trabalho prático pra fazer em C#, em que consiste num menu, em que posso ordenar a lista por ordem alfabética, ordenar por números de telemóvel/telefone e uma opção pra pesquisar por nome, sem esquecer que os apelidos devem estar em primeiro, seguido por uma vírgula, e depois vem o nome próprio e os nomes do meio vem a seguir e têm que estar abreviados.

Segue um print das coisas que tenho que fazer.

http://prntscr.com/d84etx

E sinceramente, não sei por onde começar. Como é óbvio não quero que resolvam o trabalho por mim, mas queria assim uma ajudinha ou umas dicas por onde começar.

Sei que tenho de fazer um switch case, mas estou um pouco perdido.

Ajuda? Tenho um ficheiro de texto com 10000 contactos pra inserir no código.

Share this post


Link to post
Share on other sites
apocsantos

Boa tarde,

Primeiro vais precisar de entender o que são colecções. O menu, podes muito bem ir por um switch case, o armazenamento dos dados, usando uma estrutura, seja ela um arraylist, ou um datatable, ou o que quiseres, não te faltam estruturas em C# e pronto, é por aí o caminho!

Se quiseres usar grafismo "engraçado" e partindo do principio que será uma App CLI, podes sempre usar MonoCurses, ou outra coisa parecida.

Cordiais cumprimentos,

Apocsantos

  • Vote 1

"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Share this post


Link to post
Share on other sites
NelsonBN

Sugeria que a primeira coisa que fizesses, fosse tipificar os dados e depois tal como o apocsantos, usar uma estrutura de dados.

 

algo como 

public class Contact
{
	public string FirstName { get; set; }
	public string LastName { get; set; }
	public string PhoneNumber { get; set; }
}

List<Contact> listContacts ...........

depois depois analisavas os dados que tinhas para ver o padrão dos mesmos de forma a preencher essa mesma estrutura.... como por exemplo fazer o splite de cada linha por virgula e/ou "-" de forma a teres cada elemento do contacto....

depois disso podes usar o Linq do c# que permite fazer muitas operações em estrutura de colecções de dados. no teu caso seria o "OrderBy()"

  • Vote 1

Share this post


Link to post
Share on other sites
Stark
Em 16/11/2016 às 20:06, apocsantos disse:

Boa tarde,

Primeiro vais precisar de entender o que são colecções. O menu, podes muito bem ir por um switch case, o armazenamento dos dados, usando uma estrutura, seja ela um arraylist, ou um datatable, ou o que quiseres, não te faltam estruturas em C# e pronto, é por aí o caminho!

Se quiseres usar grafismo "engraçado" e partindo do principio que será uma App CLI, podes sempre usar MonoCurses, ou outra coisa parecida.

Cordiais cumprimentos,

Apocsantos

 

Em 17/11/2016 às 08:41, NelsonBN disse:

Sugeria que a primeira coisa que fizesses, fosse tipificar os dados e depois tal como o apocsantos, usar uma estrutura de dados.

 

algo como 


public class Contact
{
	public string FirstName { get; set; }
	public string LastName { get; set; }
	public string PhoneNumber { get; set; }
}

List<Contact> listContacts ...........

depois depois analisavas os dados que tinhas para ver o padrão dos mesmos de forma a preencher essa mesma estrutura.... como por exemplo fazer o splite de cada linha por virgula e/ou "-" de forma a teres cada elemento do contacto....

depois disso podes usar o Linq do c# que permite fazer muitas operações em estrutura de colecções de dados. no teu caso seria o "OrderBy()"

Obrigado pessoal!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.