- 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.9
Qui Out 31, 2024 3:46 pm
- Código:
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 4.09
* Tema: Basico de String como variavel
* Atividade: Arrumas as maiusculas na string3, como se fosse nome proprio, colocar as primeiras letras de cada palavra em maiuscula e as demais em minuscula
* Descrição: Testar os caracteres da string usando as funções de teste de caractere
* Hardware: Montar o display e a porta serial para as entradas e saídas de dados
* Exercício desse capitulo interpretar e comentar as linhas do programa principal na função loop()
* Comandos: for(), isspace(), isupper(),
* 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,
* * Abaixo Funções de testes de caracteres, retorna 0 se a expressão for falsa; outro valor maior que 0 (zero) se for verdadeiro
* isalnum(char) Verifica se o caractere é alfanumérico (letra e número)
* isalpha(char) Verifica se o caractere é uma letra
* iscntrl(char) Verifica se o caractere é um caractere de controle https://pt.wikipedia.org/wiki/ASCII
* isdigit(char) Verifica se o caractere é um a letra
* isgraph(char) Verifica se o caractere é um caractere gráfico
* islower(char) Verifica se o caracteres é uma letra minúscula
* isprint(char) Verifica se o caractere é imprimível
* isalnum(char) Verifica se o caractere é alfanumérico
* ispunct(char) Verifica se o caractere é um caractere de pontuação
* isspace(char) Verifica se o caractere é um espaço em branco
* isupper(char) Verifica se o caractere é uma letra maiúscula
* isxdigit(char) Verifica se o caractere é um caractere hexadecimal (0-9 ou A-F)
* ispunct(char) Verifica se o caractere é um caractere de pontuação
* * Abaixo Funções para manipular caracteres
* tolower(char) Converte o caractere para letra minúscula
* toupper(char) Converte o caractere para letra maiúscula
* atoi(string) Converte uma string com caracteres numericos em um numero inteiro
*/
//DEFINICOES INICIAIS
#include <LiquidCrystal.h>
//DECLARAcAO DE VARIAVEIS GLOBAIS
LiquidCrystal lcd(12,13,4,5,6,7); // Setup conforme as ligações realizadas RS-EN-D4-D5-D6-D7
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; // contador
//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600); //Inicializa porta serial
lcd.begin(16,2);//Inicia o display
}
//FUNÇÕES COMPLEMENTARES
//PROGRAMA PRINCIPAL
void loop() {
for(i; i < 20; i++)//Laço que repete 19 vezes
{
if(i == 0 || i == 9 || i == 15)//Se o i for 0, 9 ou 15 ele executa
{
string3[i] = toupper(string3[i]);//Diz que a posiçao i da string3 e igual a posiçao i da string3 maiuscula
}
else//Se a verificaçao anterior for falsa ele executa
{
string3[i] = tolower(string3[i]);//Diz que a posiçao i da string3 e igual a posiçao i da string3 minuscula
}
if(i == 19)//Se i for igual a 19 ele executa
{
Serial.print(string3);//Mostra a string3 no monitor
lcd.clear();//Limpa o display
for(i = 0; i < 15; i++)//Laço para ajeitar as palavras na primeira linha
{
lcd.print(string3[i]);//Mostra o caractere da posiçao i no display
}
lcd.setCursor(0,1);//Muda o cursor para o primeiro caractere na segunda linha
for(i = 15; i < 20; i++)//Laço para ajeitar as palavras na segunda linha
{
lcd.print(string3[i]);//Mostra o caractere da posiçao i no display
}
}
}
}
Permissões neste sub-fórum
Não podes responder a tópicos