Ir ao conteúdo

Declarando e lendo uma String, pequeno problema ^^


ldvseba

Posts recomendados

Postado

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.

Postado

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.

Postado

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

Postado

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

Postado

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

Postado

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

Postado

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.

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!