Ir para conteúdo
Fórum Script Brasil

danfla3

Membros
  • Total de itens

    3
  • Registro em

  • Última visita

Posts postados por danfla3

  1. Gostaria de saber o que há de errado nisso. Gostaria que quando duas opções  específicas estejam selecionadas nos combobox 1 e 2, e eu aperta no butão apareça determinada form diferente, porem qualquer combinação que eu boto usando esse codigo, seja h1 com cl2 ou h1 com b2, acaba mostrando as duas forms ao invés de só uma.

    Esses códigos estão no formulario do butão e eu já defini essas variaveis no formulario da form principal. 

    Desculpem se a dúvida é besta, sou novo nisso :) .

    Agradeço desde já.

    Sem título.png

     

  2. Em 18/03/2016 at 00:58, Felipe222 disse:

    Olá!

     

    Sou iniciante em C, mas acho que posso dar uma força . . .

     

    Nesta linha   scanf ( "%s", &elemento1 [ 20 ] );   por se tratar de uma string você só precisa colocar o nome da variável que você deseja acessar, o código de formatação “%s” já diz ao compilador C que você vai acessar uma variável do tipo string.

     

    Além do mais por se tratar de uma string, não é necessário o uso do “ & ” na frente da variável, pois, por se tratar de um vetor de caracteres, o primeiro elemento do vetor é uma referencia ao restante dos elementos do vetor neste caso da string, é como se você dissesse onde começa o inicio de uma fila, ou neste caso da string.

     

    E também ocorreu de você colocar o [ 20 ] depois da variável elemento1, neste caso isso não é necessário, retire o [ 20 ] do código:

     

    mude disso: scanf ( "%s", &elemento1 [ 20 ] );

     

    para isso: scanf ( "%s", elemento1 );

     

    Não tenho certeza, mas muito provavelmente este é o mais provavel causador da mensagem de erro!

     

    Sem contar que na linguagem c, você não pode fazer a comparação direta entre variáveis do tipo string, sendo assim a linha seguinte não vai funcionar, além de que não é necessário colocar o [ 20 ]:

     

    if ( elemento1 [ 20 ] == 'Hidrogenio' )

     

    Sendo assim, para você realizar a comparação entre duas strings, você vai precisar utilizar uma função que realize tal tarefa, dê uma olhada neste tópico que já respondi e que fala exatamente isso:

     

    https://www.scriptbrasil.com.br/forum/topic/182241-d%C3%BAvida-sobre-c/#comment-686135

     

    Outro detalhe, na linguagem c, as aspas simples normalmente são utilizadas para a representação de caracteres simples ‘a’, ‘b’, ‘^’, sendo assim elas só devem ser usadas para valores de variáveis do tipo char:

     

    ex:

     

    char letra;

    letra = ‘A’;

     

    sendo que para variáveis do tipo string utiliza-se aspas duplas:

     

    ex:

     

    char nome [ 6 ];

    nome = “marcos”;

     

    Obs.: quando voce tem uma cadeia de caracteres ( string ) voce só utiliza o colchetes com um valor dentro dele [ 20 ] para representar a posicao do vetor em que voce quer ler ou alterar um valor especifico, sendo que em c a posicao começa em 0.

     

    Dê uma olha neste outro tópico de outro forum em que eu chego a explicar como voce poderia utilizar o if de outra maneira:

     

    http://forum.clubedohardware.com.br/topic/1146973-ajuda-com-char/#comment-6306515

     

    Bom por hora é só . . . veja se as dicas acima lhe ajudam . . .

     

    Ubuntu 14.04  GCC 4.8  CodeBlocks 13.12

     

    Espero Ter Ajudado ! ! !

    Muito Obrigado pela ajuda. Mas já descobri, pelo jeito nesse caso você deve comparar duas strings usando strcmp

  3. Olá a todos,

    Meu curso de programação da faculdade só comeca semestre mas como me interesso no assunto já estou me aventurando um pouco agora, mas não tenho muito conhecimento.

    Gosteria de saber o que há de errado nesse codigo que escrevo:

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

        int main(int argc, char** argv) {
            char elemento1[20];
        
            printf("Digite um elemento: ");
            scanf("%s", &elemento1[20]);
            
            if(elemento1[20] == 'Hidrogenio'){    
            printf("\n\nA sigla desse elemento é: H \n");
        }
            return 0;

    }

     

    Recebo a seguinte mensagem de erro: "character constant too long for its type"

×
×
  • Criar Novo...