Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Entre para seguir isso  
ldvseba

Declarando e lendo uma String, pequeno problema ^^

Recommended Posts

Pessoal, eu estou tentando criar um programa em C++ e me deparei com dois problemas:

1º - eu declaro uma string char nome[20], por exemplo. E preciso 3 nomes diferentes para dar a essa string de acordo com 3 condições. Mas ocorre este erro - incompatible types in assignment of 'const char[16]' to 'char[20]' -. Eu ja bati mt cabeça e o erro é quase sempre o mesmo, eu só consigo definir uma string no ato de sua declaração, qualquer tentativa de fazer isso ao decorrer do programa resulta algum tipo de erro.

2º - Eu preciso q o programa faça uma leitura de um caractere automaticamente, sem que eu pressione enter, tipo, se eu apertar "w" ele lê e atribuiu0 "w" a uma string definida por mim. A questão é q não faço ideia de como fazer isso. ^^'

Alguém pode me ajudar?

Grato, Leonardo Da Vinci.

OBS.: Acho q deu pra perceber, mas eu vou dizer. Eu sou bem iniciantes^^'. Então peguem leve aí na explicação kkk.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • Seria algo +ou- assim

    #include <iostream.h>

    char nome[20];

    int x;

    cin >> x;

    if(x==1) nome="isso é um";

    if(x==2) nome="nome qualquer";

    ...

    Não da pra portar o código mesmo aqui porque é mt grande. Mas é exatamente isso aí que quero fazer. ja fiz até um outro código separado só pra testar isso aí. e deu errado

    E no 2º caso seria algo mais ou menos com essa sintaxe:

    for(;;){

    char letra[1];

    (algo q pudece ler a tecla pressionada sem precisar apertar entrer);

    cout << "você digitou: " << letra <<" letra";

    }

    Claro q não é isso q quero fazer, mas tem essa construção, se eu resolvido isso, resolvo meu problema ^^'.

    valeu.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Mas você tá fazendo assim mesmo?

    if(x==1) nome="isso é um";

    Ou tá usando o strcpy?

    Se tiver fazendo daquele jeito tá errado, tem que usar strcpy pra copiar strings...

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Cara... é mesmo.... como eu sou burro! (eu falei q sou iniciante ^^').

    Quando voltar ao programa vou tentar o strcpy. Creio q va resolver , né =]

    Agora, quanto ao segundo problema? Eu realmente terei q achar uma solução pra ele. E o livrinho que tenho aqui de c++ não apresentou uma =/.

    valeu mesmo aí a ajuda, Deadrools.

    ____________________________________________________

    Pronto, tentei, funcionou perfeitamente ^^' Desculpem a noobice. Agora, essa minha segunda dúvida é ainda mais importante que a primeira. Se souberem de algo, for favor, deem uma luz aí =|.

    Editado por ldvseba

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    a função, getche() retorna um caractere digitado do teclado, é só fazer o seguinte.

    char a;
    a = getche();

    para string


    int i;
    char str[10];
    for(i=0; i<10; i++)
    if(i == 9)
    str[i] = '\0';\\termina string
    else
    srt[i] = getche(); \\preenche string

    implemente da sua forma

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    ldvseba, não vou poder te ajudar, porque nem cheguei a "iniciar" o c++ mas to com um livro aqui que não cheguei a ver os exercicios... qual o que ta usando? :S

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Isso! você é um gênio( a ) Dani0liveira ^^. Isso vai resolver meu problema. Brigadão mesmo.

    Anonimo1w o livro q estou lendo é: Introdução ao C++, guia dos principais conceitos para desenvolvimento de aplicações em C++. Com orientação a objetos. Do autor Peter Jandl Junior, editora Futura.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário

    Entre para seguir isso  





    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

    ×