Gostaria da opinião de vocês, sobre o que pode ser melhorado e/ou corrigido neste código. Isso é um trabalho de faculdade. Agradeço a todos que puderem ajudar.
O trabalho é esse:
O conceito de desenvolvimento sustentável vem recebendo uma atenção especial da humanidade. A preocupação com o futuro do planeta é uma realidade. Nesse contexto, você foi contratado pela empresa FUTURO SUSTENTÁVEL para desenvolver um sistema de controle de ações sustentáveis de sucesso. A ideia desse sistema é fazer o cadastro de ações tomadas nas diversas partes do planeta e que conseguiram combinar o meio ambiente com o desenvolvimento. Seu sistema terá um menu inicial com as opções de inserir, remover, alterar e listar ações sustentáveis que tiveram sucesso. Além disso, esse menu deve ter a opção de ordenar as ações pela data de ocorrência ou país em que a mesma aconteceu. Quando uma das opções for selecionada pelo usuário, o sistema deve abrir uma nova janela para executar a opção e, depois, retornar ao menu inicial. Outro requisito importante do seu sistema é que as ações devem ser armazenadas e recuperadas de arquivos textos.
a. definir os atributos de uma ação de sucesso (pelo menos oito);
b. entregar as telas de menu do sistema utilizando os operadores switch-case e do-while;
c. seu sistema deve ser capaz de ler do teclado uma ação sustentável e armazená-la em um arquivo texto;
d. seu sistema deve ser capaz de ler a ação armazenada no arquivo texto e recuperá-la.
O código é esse:
Muito obrigado a todos.
O trabalho é esse:
O conceito de desenvolvimento sustentável vem recebendo uma atenção especial da humanidade. A preocupação com o futuro do planeta é uma realidade. Nesse contexto, você foi contratado pela empresa FUTURO SUSTENTÁVEL para desenvolver um sistema de controle de ações sustentáveis de sucesso. A ideia desse sistema é fazer o cadastro de ações tomadas nas diversas partes do planeta e que conseguiram combinar o meio ambiente com o desenvolvimento. Seu sistema terá um menu inicial com as opções de inserir, remover, alterar e listar ações sustentáveis que tiveram sucesso. Além disso, esse menu deve ter a opção de ordenar as ações pela data de ocorrência ou país em que a mesma aconteceu. Quando uma das opções for selecionada pelo usuário, o sistema deve abrir uma nova janela para executar a opção e, depois, retornar ao menu inicial. Outro requisito importante do seu sistema é que as ações devem ser armazenadas e recuperadas de arquivos textos.
a. definir os atributos de uma ação de sucesso (pelo menos oito);
b. entregar as telas de menu do sistema utilizando os operadores switch-case e do-while;
c. seu sistema deve ser capaz de ler do teclado uma ação sustentável e armazená-la em um arquivo texto;
d. seu sistema deve ser capaz de ler a ação armazenada no arquivo texto e recuperá-la.
O código é esse:
Código:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Collections; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.WriteLine("\t\t***** Futuro Sustentável *****"); Menu(); } public static void Menu() { //declarando e inicializando variáveis int escolha, busca, nota; escolha = busca = nota = 0; string acao, autor, local, descricao, data, ende, aux, categ, autorOutros, arquivos; acao = autor = local = descricao = data = ende = aux = categ = autorOutros = arquivos = ""; do { //tela do menu principal Console.WriteLine("*** MENU PRINCIPAL ***"); Console.WriteLine("1 - Inserir"); Console.WriteLine("2 - Remover"); Console.WriteLine("3 - Alterar"); Console.WriteLine("4 - Listar"); Console.WriteLine("5 - Sair"); escolha = int.Parse(Console.ReadLine()); switch (escolha) { //inserir - criar novo documento e inserir dados case 1: Console.WriteLine("Informe uma ação de sucesso preenchendo os requisitos abaixo: "); //cadastro de informações da ação Console.WriteLine("Título da ação"); acao = Console.ReadLine(); Console.WriteLine("Categoria \n1- Empresa \n2- Pessoa física \n2- ONG"); categ = Console.ReadLine(); Console.WriteLine("Data da ação (DD-MM-AAAA)"); data = Console.ReadLine(); Console.WriteLine("Autor principal da ação"); autor = Console.ReadLine(); Console.WriteLine("Outros integrantes da ação (caso não haja outros, informe 'nenhum')"); autorOutros = Console.ReadLine(); Console.WriteLine("Local onde a ação foi realizada"); local = Console.ReadLine(); Console.WriteLine("Descrição da ação"); descricao = Console.ReadLine(); Console.WriteLine("Nota da ação de 1 a 5"); nota = int.Parse(Console.ReadLine()); //verifica se a nota digitada está entre um e cinco if ((nota > 0) && (nota <= 5)) { //recebe o endereço do documento a ser salvo ende = @"D:\AcaoSocial\" + acao + ".doc"; //cria um novo documento using (FileStream fs = File.Create(ende)) using (StreamWriter sw = new StreamWriter(fs)) //"escreve" no documento criado sw.Write("Título da ação: " + acao + "Categoria da ação" + categ + "\nData de criação: " + data + "\nAutor: " + autor + "Coautores: " + autorOutros + "\nLocal: " + local + "\nBreve descrição: " + descricao + "Nota da ação: " + nota); //preenche um arquivo preexistente com todos os nomes dos outros arquivos if (File.Exists(@"D:\AcaoSocial\teste.doc")) { using (StreamWriter sw = File.AppendText(@"D:\AcaoSocial\teste.doc")) { //concatena mais um título de ação no documento sw.Write("\r\n\n* " + acao); } } else { Console.WriteLine("Erro no sistema! Faça o processo novamente"); } } else { Console.WriteLine("Informe uma nota válida!"); } Console.Clear(); // break; //remover/deletar case 2: break; //alterar dados - abre um documento e permite alteração case 3: //abre o arquivo texto e permite alteração Console.WriteLine("Digite 1- Busca por nome \n"); busca = int.Parse(Console.ReadLine()); if (busca == 1) { Console.WriteLine("Informe o nome da ação"); aux = Console.ReadLine(); ende = @"D:\AcaoSocial\" + aux + ".doc"; } Console.WriteLine("Abrindo documento: "); if (File.Exists(ende)) { System.Diagnostics.Process.Start(ende); } else { Console.WriteLine("Arquivo não encontrado!"); } /* FileInfo file_info = new FileInfo("C:\meu_arquivo.txt"); string Criado = file_info.CreationTime.ToString("dd/MM/yyyy HH:mm:ss"); string Modificado = file_info.LastWriteTime.ToString("dd/MM/yyyy HH:mm:ss"); string Acessado = file_info.LastAccessTime.ToString("dd/MM/yyyy HH:mm:ss"); */ Console.ReadKey(); Console.Clear(); break; //listar - abre um documento com o nome de todos os arquivos criados case 4: Console.WriteLine("Listando o arquivo: "); StreamReader lista = new StreamReader(@"D:\AcaoSocial\teste.doc"); string sLine = ""; ArrayList texto = new ArrayList(); while (sLine != null) { sLine = lista.ReadLine(); if (sLine != null) texto.Add(sLine); } lista.Close(); foreach (string exibe in texto) Console.WriteLine("* " + exibe); //Console.ReadLine(); Console.ReadKey(); Console.Clear(); /*if (File.Exists(@"D:\AcaoSocial\teste.doc")) { System.Diagnostics.Process.Start(@"D:\AcaoSocial\teste.doc"); string [] arquiv = Directory.GetFiles(ende); foreach (string arquivo in arquiv) { Console.WriteLine(arquivo); } } else { Console.WriteLine("Arquivo não encontrado!"); } Console.ReadKey(); Console.Clear();*/ break; //se as opções não corresponderem a um dos valores aparecerá uma msg de erro default: if ((escolha != 1) && (escolha != 2) && (escolha != 3) && (escolha != 4) && (escolha != 5)) { Console.WriteLine("Informe uma opção válida!"); Console.ReadKey(); Console.Clear(); } break; } } while (escolha != 5); } } }