Ir para conteúdo
Fórum Script Brasil
  • 0

problema com projeto


marlonpdm

Pergunta

pessoal, estou tendo um problema com meu programa final... são coisas pequena, porém estou com dificuldades...

urgente!!!

a. receba uma string com no maximo 250 caracteres;

b. exibir a quantidade de caracteres da string digitada;

c. visualizar a string digitada;

d. visualizar a string digitada com a substituição de um caracter por outro;

e. visualizar a string sem os espaços em brancos;

f. visualizar a string digitada com apenas a primeira letra de cada palavra maiuscula;

g. sair do programa;

O programa so deve ser encerrado atraves da opçao 'Sair' e o usuario pode executar as

funcionalidades quantas vezes achar necessario. Construa funções para a manipulação da

string recebida.

Desde já agradeço!!!

segue o fonte:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>


  void menuPrincipal();
  void mudaString(char *s1, char *s2) {
      
      char temp;
        
      temp = *s1;
      *s1  = *s2;
      *s2  = temp;
      }
         
          
  void stringSemEspaco();
  void caixaAltaString();
  void sairPrograma();
  
  void menuPrincipal() {
       printf("\n\t                  ****Teste Final de DHD****\n\n\n\n");
       printf("\n        a: Para entrar com uma string.");
       printf("\n        b: Para exibir a quantidade de caracteres da string digitada.");
       printf("\n        c: Para visualizar a string digitada.");
       printf("\n        d: Para visualizar a string com a substituicao de um caracter por outro.");
       printf("\n        e: Para visualizar a string sem os espacos em branco.");
       printf("\n        f: Para visualizar a string com a primeira letra em maiusculo.");
       printf("\n        g: Para sair do programa");
       printf("\n\n\n    Digite uma opcao: ");
       
       }
  void sairPrograma() {
         exit(0);
         }

int main(){
   char ch;
   char nome[200];
   char nome2[200];
   char *frase[200];
   
   int i, j;
   
      for (;;) {
   system("cls");       
   menuPrincipal();
   ch = getch();      
         switch (ch) {
                
               case 'a':
                    
                    printf("\n\n\n>Digite uma string qualquer: ");
                    gets(nome); 
                    printf("\n   **String recebida!\n\n"); 
                    system("pause");
                    break; 
               case 'b':
                    j = strlen(nome);
                    printf("\n\n\n O tamanho da string: %d caractere(S)", j);
                    printf("\n\n");
                    system("pause");
                    break;
               case 'c': 
                    printf("\n\n\n>>A string digitada: %s", nome); 
                    printf("\n\n");
                    system("pause");
                    break; 
              
               case 'd':
                    printf("\n\n A string atual é: %s", nome); 
                    
                    printf("\n\n>>>Digite a nova String: ");
                    gets(nome2);
                    //strcpy(nome, nome2);
                    mudaString(&nome2[0], &nome[0]);
                    //mudaString(&nome2[0], &nome[0]);
                    
                    printf("\n\n>A Nova string é: %s", nome2);
                    printf("\n\n");
                    system("pause");
                    break; 
              
              
               case 'e':
//                    strcat(nome);
                    
                    
                    break;
                    
               case 'f':
                     printf("\n\nA string antes: %s", nome);
                        for(i=0; nome[i]; i++)
                     nome[0] = toupper(nome[0]);
                     printf("\n\nA palavra convertida em maiusculo: %s\n\n",nome);

                     printf("\n\n");
                     system("pause");   
                    
               case 'g':
                   sairPrograma();
                   break;  

               default:
                   printf("Opcao Invalida... Tente outra vez!");
                   printf("\n\n");
                   system("pause");
                   //menuPrincipal();
                   break; 
          
      } 
   }
      getch();     
}

Editado por marlonpdm
Adcionar tag's (Jonathan)
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
Rodrigo, peço a você que poste a resposta aqui no fórum, de forma que ela fique acessível a outros membros com a mesma dúvida.

Tranquilo, é que aqui ele não perguntou, a mensagem que mandei pra ele estava especifica a duvida e ia sugerir isso a ele logo após ler a mensagem ok? Iria ficar vago a meu post e eu o vi após a mensagem respondida.

Abraço!

Link para o comentário
Compartilhar em outros sites

  • 0
Rodrigo, peço a você que poste a resposta aqui no fórum, de forma que ela fique acessível a outros membros com a mesma dúvida.

Tranquilo, é que aqui ele não perguntou, a mensagem que mandei pra ele estava especifica a duvida e ia sugerir isso a ele logo após ler a mensagem ok? Iria ficar vago a meu post e eu o vi após a mensagem respondida.

Abraço!

Fiz um novo código, mas sendo a quantidade na funçao que muda a string na hora de chamar não chamar a quantidade da mesma(string)... e a item "e" se a parte de uma string sem espaço está correta mesmo, ok?

Desde já agradecido!

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>


  void menuPrincipal();
  /*void mudaString(char *nome1, char *nome2) {
      
     //char nomeAtual;
       char *temp;
    // *nome2 = nomeAtual;
     //*nome2 = *nome1;
     //*nome1 = nomeAtual;

        temp = *nome1;
        *nome1  = *nome2;
        *nome2  = temp;
      }
    */  
      
  void acha(char *nome, char *caractAchar, char *subs, int max) {
  int x;
  
     for (x=0; x<max;x++) {
       if(nome[x] = 'A') {
         nome[x] = 'B';
       } else 
       {
        nome[x] = *subs;
       *subs = *caractAchar;
       *caractAchar = nome[x];
       }
  }
}       

       
  void stringSemEspaco();
  void caixaAltaString();
  void sairPrograma();
  
  void menuPrincipal() {
       printf("\n\t                  ****Teste Final de DHD****\n\n\n\n");
       printf("\n        a: Para entrar com uma string.");
       printf("\n        b: Para exibir a quantidade de caracteres da string digitada.");
       printf("\n        c: Para visualizar a string digitada.");
       printf("\n        d: Para visualizar a string com substituicao de um caracter por outro.");
       printf("\n        e: Para visualizar a string sem os espacos em branco.");
       printf("\n        f: Para visualizar a string com a primeira letra em maiusculo.");
       printf("\n        g: Para sair do programa");
       printf("\n\n\n    Digite uma opcao: ");
       
       }
  void sairPrograma() {
         printf("\n\n\n\n  >>Saindo do programa...");
         system("pause");
         exit(0);
         }

int main(){
   char ch;
   char nome[100];
   char nome2[100];
   char frase[100];
//   char *pont1 = &nome, *pont2 = &nome2;
   int i, j, x;
   
      for (;;) {
   system("cls");       
   menuPrincipal();
   ch = getch();      
         switch (ch) {                
               case 'a':
                    
                    printf("\n\n\n>Digite uma string qualquer: ");
                    gets(nome); 
                    printf("\n   **String recebida!\n\n"); 
                    system("pause");
                    break; 
               case 'b':
                    j = strlen(nome);
                    printf("\n\n\n O tamanho da string: %d caractere(S)", j);
                    printf("\n\n");
                    system("pause");
                    break;
               case 'c': 
                    printf("\n\n\n>>A string digitada: %s", nome); 
                    printf("\n\n");
                    system("pause");
                    break; 
              
               case 'd':
                    printf("\n\n A string atual é: %s", nome); 
                    
                    printf("\n\n>>>Digite o caractere que deseja mudar: ");
                    gets(nome2);
                   
                    acha(&nome, &nome2, &frase, j);               
                    printf("\n\n>A Nova string é: %s", frase);
                    printf("\n\n");
                    system("pause");
                    break; 
              
              
               case 'e':
                      printf("\n\n>>A string no momento: %s", nome);

                      int a;
                      printf("\n\n");
                      a=strlen(nome);
                      for(i=0;i<=a;i++){
                      //ele ve se a frase[i] tem espaço em branco se tiver então ele coloka no espaço o '\n'
                      if(nome[i] == ' ')
                      {
                         nome[i]='\n';
                      }
                     printf("%c",nome[i]);}
                     printf("\n\n");
                     system("pause");
                    break;
                    
               case 'f':                     
                     printf("\n\nA string antes: %s", nome);
                        for(i=0; nome[i] ; i++)
                     nome[0] = toupper(nome[0]);
                     printf("\n\nA string no momento: %s\n\n",nome);

                     printf("\n\n");
                     system("pause");
                   break;       
                    
               case 'g':
                   sairPrograma();
                   break; 
               default:
                   printf("Opcao Invalida... Tente outra vez!");
                   printf("\n\n");
                   system("pause");
                   //menuPrincipal();
                   break;           
      } 
   }
      getch();     
}

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...