Olá.

 

Faz algum tempo que não programo em linguagem C, já que comecei a mexer com Arduíno resolvi exercitar um pouco.

 

Porém acho esqueci como se trabalha com strings.

 

Quero montar um programa bem simples. O usuário inseri uma frase de ate 200 caracteres, logo em seguida digita a quantidade de caracteres que deseja ter por linha. Não quero que o programa quebre no meio da frase.

 

Montei esse Script  porém está dando erro.

Desde já sou grato.

Exibições: 120

Anexos

As respostas para este tópico estão encerradas.

Respostas a este tópico

Boa noite,

Não existe '\s'

Boa sorte,

  'Eiju

Eita. Desculpe achei que o \s era estaço.

Então. Substitui por ' ' e também não foi.

E tem um erro de logica nesse que postei. Vou corrigir e subi dnv.

Como eu acho que deveria estar. Mas ainda continua dando erro.

Anexos

Bom dia, 

Não sou especialista em programação.

Por isso, esse é o site que uso muito como referência para programação do Arduino :

https://www.arduino.cc/reference/en/

Jessé Pereira de Melo,

Acho que o problema não está exatamante onde você pensa.

Acho que o problema está em:

  printf("%s", frase[i]);

Ou você usa:

  printf("%s", frase);

Ou usa:

  for(i=0; i<200; i++){ 
printf("%c", frase[i]);
}

Mas dessa ssegunda forma ainda tem um problema. Caso a frase não tenho o tamanho total da string, o programa imprimirá a frase e logo depois um monte de lixo das casas não usadas. Uma forma de evitar isso pode ser fazendo:

  for(i=0; frase[i] != '\0'; i++){
printf("%c", frase[i]);
}


E também, você poderia substituir:

  if(frase[i] != ' '){}
else{
frase[i] = '\n';
count += tam;
}

Simplismente por:

  if(frase[i] == ' '){
frase[i] = '\n';
count += tam;
}

E ainda nesse mesmo trecho, eu trocaria o:

  count += tam;

Por:

  count = i+tam;

Era isso msm. OBG

Só trabalhei com C na faculdade e faz algum tempo.

RSS

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2018   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço