Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouVinícius Viana Alterado mais de 7 anos atrás
1
Manipulação de Strings Marco Reis
2
Novo arquivo Adicione ManipulacaoDeStrings.c ao projeto. Cada projeto pode ter apenas um método main. Como outros programas podem já ter esse método, comente todas as linhas com /* */, ou mude o nome para main1, main2, main3, …, main99.
3
Dica O código a seguir utiliza a estrutura de funções para organização. Pode ser utilizada livremente a programação sem funções, ou seja, utilize os blocos de código diretamente dentro do main. Atenção redobrada neste caso para a organização, identação e legibilidade do código.
4
Função getchar() Função básica para entrada de caracteres. Bastante prática e flexível // #include // int main() { printf("Informe um caracter.\n"); char caracter = getchar(); printf("Voce digitou: %c\n", caracter); printf("Codigo ASCII de %c: %d", caracter, caracter); return EXIT_SUCCESS; }
5
Tudo junto //Diretivas #include //Declaracao das funcoes void RecuperaComGetChar(); //main int main() { RecuperaComGetChar(); return EXIT_SUCCESS; } //Implementacoes void RecuperaComGetChar() { printf("Informe um caracter.\n"); char caracter = getchar(); printf("Voce digitou: %c\n", caracter); printf("Codigo ASCII de %c: %d", caracter, caracter); }
6
Outra função: toupper() void ImprimeComPutChar() { printf("Informe um caracter.\n"); char caracter = getchar(); char caracterMaiusculo; printf("Voce digitou: "); // putchar(caracter); caracterMaiusculo = toupper(caracter); printf("\nAgora, maiusculo: "); putchar(caracterMaiusculo); // if(islower(caracter)) { printf("\nO caracter eh minusculo"); } Obs: não se esqueça de declarar essa função no inicio do programa e chamá-la no main.
7
Exemplo //Declaracao das funcoes void RecuperaComGetChar(); void ImprimeComPutChar(); //main int main() { //RecuperaComGetChar(); ImprimeComPutChar(); return EXIT_SUCCESS; }
8
Constantes Utiliza as constantes para dar mais clareza ao código. void ImprimeTodosOsCaracteres() { char c; c = CHAR_MIN; //Constante pre-definida while (c != CHAR_MAX) { printf("%c\n", c); c = c + 1; }
9
gets e puts void RecuperaVariosCaracteres() { char frase[80]; printf("Informe uma frase: \n"); //Recupera uma frase //scanf - recupera uma palavra //Faca o teste e veja a diferenca gets(frase); printf("Frase: %s\n", frase); //ou printf("Podemos imprimir assim: "); puts(frase); }
10
Exemplo: alfabeto void ImprimeAlfabeto() { char c; c = 'a'; while (c <= 'z') { printf("value %d char %c\n", c, c); c = c + 1; }
11
Capitulação void TrocaCapitulacao() { printf("Digite um caracter:\n"); char c = getchar(); printf("Voce digitou ->%c\n\n", c); //Imprime o inverso da capitulacao atual if (isupper(c)) { putchar(tolower(c)); } else if (islower(c)) { putchar(toupper(c)); }
12
ImprimePalavra void ImprimeCaracteresDeUmaPalavra() { char palavra[20]; printf("Informe a palavra:\n"); scanf("%s", palavra); int tamanho = (int) sizeof(palavra); printf("Tamanho do array: %d\n", tamanho); int i; for (i = 0; i < sizeof(palavra); i++) { //Se o espaco do array estiver em branco, termina a execucao //Experimente remover o bloco e veja a diferencaif (palavra[i] == 0) { break; } //Imprime cada um dos caracteres, caso nao seja caracter em branco printf("->%c\n", palavra[i]); }
13
ImprimeComUpper void ImprimeUpper() { char palavra[20]; printf("Informe a palavra:\n"); // Teste com scanf gets(palavra); int i = 0; for (i = 0; i < sizeof(palavra); i++) { //Mais uma vez, se o caracter for fim da linha, termina a execucao if (palavra[i] == 0) { break; } printf("%c", toupper(palavra[i])); }
14
Comparação void ComparaStrings() { char primeiraPalavra[80]; char segundaPalavra[80]; printf("Digita a primeira palavra:\n"); //Teste com scanf gets(primeiraPalavra); printf("Digite a segunda:\n"); //Teste com scanf gets(segundaPalavra); //Verifica se as strings sao iguais int comparacao = strcmp(primeiraPalavra, segundaPalavra); //Para ser igual, o resultado deve ser 0 if (comparacao == 0) { printf("Sao iguais"); } else { printf("Sao diferentes"); }
15
Comparação ignore case void ComparaStringsIgnoraCapitulacao() { char primeiraPalavra[80]; char segundaPalavra[80]; printf("Digita a primeira palavra:\n"); //Teste com scanf gets(primeiraPalavra); printf("Digite a segunda:\n"); //Teste com scanf gets(segundaPalavra); //Verifica se as strings sao iguais int comparacao = strcasecmp(primeiraPalavra, segundaPalavra); //Para ser igual, o resultado deve ser 0 if (comparacao == 0) { printf("Sao iguais"); } else { printf("Sao diferentes"); }
16
EncontraCaracter void EncontraCaracter() { //Uma frase qualquer char frase[80] = "Biblioteca de Programacao em JavaScript"; /* * A frase resultante da consulta * No caso, a frase a partir do caracter 'P' * Teste com outros caracteres e veja o resultado * Dica: frase[80] ou *frase sao exatamente a mesma coisa em C * Dessa forma, todos os programas estao livres para utilizar as duas formas * */ char *resultado = strchr(frase, 'e'); printf("%s", resultado); }
17
EncontraPalavra void EncontraPalavra() { char *frase = "Marco Antonio de Sousa Reis"; //Basicamente a mesma coisa, mas pode receber varios caracteres como parametro char *resultado = strstr(frase, "de"); printf("%s", resultado); }
18
EncontraPalavra void CopiaStrings() { char primeiraFrase[80]; char segundaFrase[80]; printf("Informe seu nome:\n"); gets(primeiraFrase); printf("Informe seu sobrenome:\n"); gets(segundaFrase); // char *fraseResultante = strcat(primeiraFrase, segundaFrase); // printf("Resultado: %s\n", fraseResultante); }
Apresentações semelhantes
© 2021 SlidePlayer.com.br Inc.
All rights reserved.