A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Manipulação de Strings Marco Reis. Novo arquivo Adicione ManipulacaoDeStrings.c ao projeto. Cada projeto pode ter apenas um método main. Como outros programas.

Apresentações semelhantes


Apresentação em tema: "Manipulação de Strings Marco Reis. Novo arquivo Adicione ManipulacaoDeStrings.c ao projeto. Cada projeto pode ter apenas um método main. Como outros programas."— Transcrição da apresentação:

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); }


Carregar ppt "Manipulação de Strings Marco Reis. Novo arquivo Adicione ManipulacaoDeStrings.c ao projeto. Cada projeto pode ter apenas um método main. Como outros programas."

Apresentações semelhantes


Anúncios Google