Robótica Livre
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Ir para baixo
Diogo Penha Marques
Diogo Penha Marques
Mensagens : 107
Data de inscrição : 29/02/2024
Idade : 14
Escola : Colégio Estadual da Colônia Murici

Diogo Saraiva Exercício 4.7 Empty Diogo Saraiva Exercício 4.7

Qui Out 24, 2024 3:51 pm
Código:

/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 4.7
* Tema: Basico de String como variavel
* Atividade: Dada uma string checar se algum caractere não é letra e substituir por espaço
* Descrição: Usar as funções de teste de caractere na string1, usar a função for() para verificar os caracteres, resultado pode ser enviado para terminal
* Hardware: Montar o display e a porta serial para as entradas e saídas de dados
* Comandos:
* Dica1: string é uma cadeia de caracteres, podemos até mesmo dizer um vetor de caracteres. Trás a linguagem C a capacidade de lidar com frases e palavras.
* Dica2: Quando declaramos string com s minusculo refere-se a uma variável, e quando String está com S maiusculo refere-se a objeto
* Dica3: Declaração da variavel string char nome_vetor[tamanho]{'a','b','c'}; tipo dos dados, sempre char. Nome do vetor identifica a variável. Entre conchetes vai o tamanho do vetor, depois
* Dica4: Lembrando que na linguagem C caractere é colocado entre ' ' (aspas simples), frases podem ser declaradas usando " " (aspas duplas)
* Dica5: Toda string termina com um caractere nulo no final(código ASCII 0), por isso na declaração deve considerar um elemento a mais no tamanho,
* isalnum(char) Verifica se o caractere é alfanumérico (letra e número)
*/

//DEFINICOES INICIAIS


//DECLARAcAO DE VARIAVEIS GLOBAIS
char string1[] = {'a','R','d','U','i','N','o','.'};  // declaração de uma string sem tamanho definido, declarado cada caractere, o nulo e o tamanho serão colocados automaticamente
char string2[6] = {'c','U','r','s','o','\0'};    // declaração de string com tamanho definido e o nulo inserido no final
char string3[] = {"primeiRa frAse tEste"};                // declaração de string usando uma frase entre aspas duplas, o tamanho e o nulo são colocados automaticamente
char string4[4] = {'1','2','3'};                  // declaração de string com tamanho e definido  e o nulo será colocado automáticamente, ao definir o tamanho terá que reservar o espaço para o nulo
char string5[] = {"Curso de C"};                  // declaração de string
char stringFinal[30];                            // declaração de uma string com 30 posições, vazia. Pode ser colocado até 29 caracteres que estão previamente alocados na memória
int i = 0;//Variavel do laço de repetiçao
 
//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);              //Inicializa porta serial
}

//FUNÇÕES COMPLEMENTARES


//PROGRAMA PRINCIPAL
void loop() {
  for(i = 0; i < strlen(string1); i++)//Laço de repetiçao que verificara todas as posiçoes da string
  {
    if(!isalpha(string1[i]))//Se o caractere que estiver na posiçao i da string nao for letra, ele executara
    {
      string1[i] = {' '};
      Serial.print("Posicao ");//Mostra um texto na Serial e pula uma linha
      delay(10);//Tempo de espera de 10 ms
      Serial.print(i);//Mostra o valor de i na Serial
      delay(10);//Tempo de espera de 10 ms
      Serial.println(" da string1 foi alterada");//Mostra um texto na Serial e pula uma linha
      delay(10);//Tempo de espera de 10 ms
    }
  }
 
  for(i = 0; i < strlen(string2); i++)//Laço de repetiçao que verificara todas as posiçoes da string
  {
    if(!isalpha(string2[i]))//Se o caractere que estiver na posiçao i da string nao for letra, ele executara
    {
      string2[i] = {' '};
      Serial.print("Posicao ");//Mostra um texto na Serial e pula uma linha
      delay(10);//Tempo de espera de 10 ms
      Serial.print(i);//Mostra o valor de i na Serial
      delay(10);//Tempo de espera de 10 ms
      Serial.println(" da string2 foi alterada");//Mostra um texto na Serial e pula uma linha
      delay(10);//Tempo de espera de 10 ms
    }
  }
 
  for(i = 0; i < strlen(string3); i++)//Laço de repetiçao que verificara todas as posiçoes da string
  {
    if(!isalpha(string3[i]))//Se o caractere que estiver na posiçao i da string nao for letra, ele executara
    {
      string3[i] = {' '};
      Serial.print("Posicao ");//Mostra um texto na Serial e pula uma linha
      delay(10);//Tempo de espera de 10 ms
      Serial.print(i);//Mostra o valor de i na Serial
      delay(10);//Tempo de espera de 10 ms
      Serial.println(" da string3 foi alterada");//Mostra um texto na Serial e pula uma linha
      delay(10);//Tempo de espera de 10 ms
    }
  }
 
  for(i = 0; i < strlen(string4); i++)//Laço de repetiçao que verificara todas as posiçoes da string
  {
    if(!isalpha(string4[i]))//Se o caractere que estiver na posiçao i da string nao for letra, ele executara
    {
      string4[i] = {' '};
      Serial.print("Posicao ");//Mostra um texto na Serial e pula uma linha
      delay(10);//Tempo de espera de 10 ms
      Serial.print(i);//Mostra o valor de i na Serial
      delay(10);//Tempo de espera de 10 ms
      Serial.println(" da string4 foi alterada");//Mostra um texto na Serial e pula uma linha
      delay(10);//Tempo de espera de 10 ms
    }
  }
 
  for(i = 0; i < strlen(string5); i++)//Laço de repetiçao que verificara todas as posiçoes da string
  {
    if(!isalpha(string5[i]))//Se o caractere que estiver na posiçao i da string nao for letra, ele executara
    {
      string5[i] = {' '};
      Serial.print("Posicao ");//Mostra um texto na Serial e pula uma linha
      delay(10);//Tempo de espera de 10 ms
      Serial.print(i);//Mostra o valor de i na Serial
      delay(10);//Tempo de espera de 10 ms
      Serial.println(" da string5 foi alterada");//Mostra um texto na Serial e pula uma linha
      delay(10);//Tempo de espera de 10 ms
    }
  }
  for(i = 0; i < strlen(stringFinal); i++)//Laço de repetiçao que verificara todas as posiçoes da string
  {
    if(!isalpha(stringFinal[i]))//Se o caractere que estiver na posiçao i da string nao for letra, ele executara
    {
      stringFinal[i] = {' '};
      Serial.print("Posicao ");//Mostra um texto na Serial e pula uma linha
      delay(10);//Tempo de espera de 10 ms
      Serial.print(i);//Mostra o valor de i na Serial
      delay(10);//Tempo de espera de 10 ms
      Serial.println(" da stringFinal foi alterada");//Mostra um texto na Serial e pula uma linha
      delay(10);//Tempo de espera de 10 ms
    }
  }
 
  Serial.println("");//Pula uma linha na Serial
  Serial.print("string1: ");//Mostra um texto na Serial
  Serial.println(string1);//Mostra na Serial o valor da string1 e pula uma linha
  Serial.print("string2: ");//Mostra um texto na Serial
  Serial.println(string2);//Mostra na Serial o valor da string2 e pula uma linha
  Serial.print("string3: ");//Mostra um texto na Serial
  Serial.println(string3);//Mostra na Serial o valor da string3 e pula uma linha
  Serial.print("string4: ");//Mostra um texto na Serial
  Serial.println(string4);//Mostra na Serial o valor da string4 e pula uma linha
  Serial.print("string5: ");//Mostra um texto na Serial
  Serial.println(string5);//Mostra na Serial o valor da string5 e pula uma linha
  Serial.print("stringFinal: ");//Mostra um texto na Serial
  Serial.println(stringFinal);//Mostra na Serial o valor da stringFinal e pula uma linha
  Serial.println("");//Pula uma linha na Serial
  delay(2000);//Tempo de espera de 2000 ms
}
Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos