Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Ajuda

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    C# Ajuda

    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:

    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);
    
            }
        }
    }
    Muito obrigado a todos.
X
Working...
X