Ir ao conteúdo
  • Cadastre-se

C preciso codigo programa em c


Lmicas

Posts recomendados

image.thumb.png.6f895d37f828334daf3733bdeda3caf3.pngElaborar um editor de mensagens utilizando a linguagem C, que atenda as seguintes premissas:

1 – implementar por meio de funções;

2 – contemplar um menu com as opções: 1 – novo arquivo de mensagem; 2 – abrir arquivo de mensagem; 3 – visualizar arquivo de mensagem; 0 – sair.

3 – o nome do arquivo de mensagens deve ser informado pelo usuário;

4 – as mensagens deverão ser separadas por ponto e vírgula;

5 – na visualização, cada mensagem deve aparecer em uma linha.

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

@Lmicas @Lmicas      coloque um loop do / while que se repita enquanto não for digitado zero , e dentro do loop use o comando printf para imprimir as opções , e em seguida use o comando scanf para pegar a opção escolhida digitada no teclado , depois use o switch para ir para a função que faz o que foi pedido  nas opções 1 2 e 3 , e se vai precisar guardar as mensagens  em arquivos , então use o comando fopen para isso e o fprintf para gravar os dados no arquivo , para que as mensagens fique cada uma em uma linha você pode usar a o caractere new line  (  \n  )  que pula para a linha de baixo ,  mas não posso te dar um código pronto pois é contra as regras do fórum , então faça seu código e poste aqui para vermos como está e em que podemos ajudar    .

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@devair1010 desse jeito? 

//Declaração das bibliotecas
#include<stdio.h>
#include<stdlib.h>

//Declaração do prototipo das funçoes
int menu();
void novo (char caractere , char nomearq);
void visualizar (char caractere , char nomearq);
void abrir (char caractere , char nomearq);

//Declaração de um ponteiro para o arquivo
FILE *arquivo;

//Declaração das Variaveis
char caractere, letra[2], palavra[100];


void novo (char caractere , char nomearq)
{

    case 1:
            {
            printf("\nDigite o nome do arquivo para escrita:\n");
            fflush(stdin);
            gets(nomearq);    
            }break;
}

void visualizar (char caractere , char nomearq)
{
    case 2:
        {
        //Abertura do arquivo para leitura
    if((pontarq=fopen(nomearq, "a")) == NULL) //O modo w perde as informaçoes registradas, o modo a não
        printf("\nERRO NA ABERTURA DO ARQUIVO....");
    
    else
    {
        printf("\nDigite uma mensagem:\n ");
        while((caractere=getche())!='\r') // '\r' = caractere do ENTER -> aperta o enter para de escrever
        {
            fputc(caractere,pontarq);
        }
    }
    fclose(pontarq);
        }break;
}

void abrir (char caractere , char nomearq)
{
    case 3:
        {
        if((pontarq=fopen(nomearq, "r")) == NULL)
        printf("\nERRO NA ABERTURA DO ARQUIVO....");
        
    else
    {
        printf("\nMensagem do arquivo: \n");
        
        while((caractere=fgetc(pontarq)) != EOF)
        {
            printf("%c" , caractere);
        }
    }
    fclose(pontarq);    
        }break;
}

//Declaração da função menu
int menu()
{
    //Declaração da variavel local
    int opcao;
    
    do
    {
    system("cls");
    printf("\nMENU DE ESCOLHA\n");
    printf("\n------------------------------------------------\n");
    printf("\n1 - Novo arquivo de mensagem\n");
    printf("\n2 - Abrir arquivo de mensagem\n");
    printf("\n3 - Visualizar arquivo de mensagem\n");
    scanf("%i" , &opcao);
    }while;
        
}

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

@Lmicas     para postar seu código é melhor usa o botão   <>   que está desenhado na barra de ferramentas da janela de responder  . 

799670669_barradeferramentas.JPG.d0571f3786137c0e6e8a77b7b1971ed8.JPG

e seu código está bom ,  então seu código com algumas modificações poderia ser assim  :

//Declaração das bibliotecas
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
//Declaração do prototipo das funçoes
int menu();
char novo();
void visualizar();
void abrir();
//Declaração de um ponteiro para o arquivo
FILE *arquivo;
//Declaração das Variaveis
char caractere, letra[2], palavra[100],nome[30];

char novo()
{
    printf("\nDigite o nome do arquivo para escrita:\n");
    fflush(stdin);
    gets(nome);
    return nome;
}
void visualizar()
{
    //Abertura do arquivo para leitura
    if((arquivo=fopen(nome, "a")) == NULL) //O modo w perde as informaçoes registradas, o modo a não
        printf("\nERRO NA ABERTURA DO ARQUIVO....");
    else
    {
        printf("\nDigite uma mensagem:\n ");
        fflush(stdin);
        gets(palavra);
        fprintf(arquivo,"%s;\n",palavra);
        /*while((caractere=getche())!='\r') // '\r' = caractere do ENTER -> aperta o enter para de escrever
        {
            fputc(caractere,arquivo);
        }*/
    }
    fclose(arquivo);
}
void abrir(/*char caractere , char nomearq*/)
{
    if((arquivo=fopen(nome, "r")) == NULL)
        printf("\nERRO NA ABERTURA DO ARQUIVO....");
    else
    {
        printf("\nMensagem do arquivo: \n");
        while((caractere=fgetc(arquivo)) != EOF)
        {
            printf("%c" , caractere);
        }
    }
    fclose(arquivo);
    printf("    Tecle !");
    getch();
}
//Declaração da função menu
int menu()
{
    //Declaração da variavel local
    int opcao;
    system("cls"                                               );
    printf("\n  =======  MENU DE ESCOLHA  ==================\n");
    printf("------------------------------------------------\n");
    printf("1 - Novo arquivo de mensagem\n"                    );
    printf("2 - Abrir arquivo de mensagem\n"                   );
    printf("3 - Visualizar arquivo de mensagem\n"              );
    printf("0 - Sair\n\n"                                      );
    printf("    Escolha -> "                                   );
    scanf("%i" , &opcao                                        );
    return opcao;
}
int main(){
    int r,a,b;
    do{
        r=menu();
        switch(r){
        case 1:
            novo(/*caractere , nomearq*/);
            break;
        case 2:
            abrir(/*char caractere , char nomearq*/);
            break;
        case 3:
            visualizar(/*char caractere , char nomearq*/);
            break;
        }
    }while(r!=0);
    return 0;
}

 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...