Comentários

0%

FOCO NO MERCADO DE TRABALHO

Estruturas de repetição determinísticas

Márcio Aparecido Artero

Programa para conversão de texto em letras maiúsculas

Criação de um programa em linguagem C para transformar o nome digitado dos alunos em letras maiúsculas, para não prejudicar a busca , manter o padrão e facilitar a leitura.

Fonte: Shutterstock.

Deseja ouvir este material?

Áudio disponível no material digital.

sem medo de errar

Acreditamos que você já esteja preparado para solucionar o desafio dado pela instituição de ensino. Foi solicitado um programa em linguagem C para transformar o nome digitado dos alunos em letras maiúsculas.

Para resolver essa questão, é importante que você esteja atento às seguintes condições antes de iniciar a programação:

Utilizar a biblioteca ctype.h dentro da linguagem C, que proporcionará o uso de funções e macros para trabalhar com caracteres.

No nosso desafio, especificamente, podemos utilizar a função toupper, que converte os caracteres minúsculos em maiúsculos.

Agora sim, vamos à programação:

Código 2.27 | Caracteres
#include <stdio.h>
#include <ctype.h>

#define NOME_TAM 30

int main() {
    char nome[NOME_TAM];
    int i;
    printf("\nDigite o nome do(a) aluno(a):");
    fgets(nome, NOME_TAM, stdin);
    printf("\nNome ANTES da mudança: %s", nome);
    
    for(int i = 0; i < NOME_TAM; i++) {
        nome[i] = toupper(nome[i]);
    }
    
    printf("\nNome DEPOIS da mudança: %s", nome);
    return 0;
}
Fonte: elaborado pelo autor.

Teste o Código 2.27 utilizando a ferramenta Paiza.io.

Boa sorte e ótimos estudos!

Avançando na prática

Formatar CPF

Você foi contratado por uma empresa de comunicação para resolver um problema na digitação dos números de CPF dos clientes. A questão é que, quando o usuário digita o CPF com pontos e traço, a indexação e busca são dificultadas, ou seja, pode acontecer um erro de autenticidade. Para resolver esse impasse, você deverá desenvolver um programa para padronizar o formato do CPF, eliminando os pontos e traços digitados pelos usuários. Como resolver essa situação?

Para resolver a questão, você poderá usar vetores com laços de repetições para eliminar os pontos e traço e o comando continue dentro da estrutura de repetição. Veja no código uma das possíveis soluções:

Código 2.28 | CPF
#include <stdio.h>
#include <stdlib.h>
int main() {
	char cpf_entrada[15];
	char cpf_corrigido[15];
    int n = 0;

	printf("\nInforme seu CPF (XXX.XXX.XXX-XX):");
	scanf("%s", cpf_entrada);
	
	for(int i = 0; i < 14; i++) {
		if(cpf_entrada[i] == '.' || cpf_entrada[i] == '-'){
			continue;
		}
 		cpf_corrigido[n] = cpf_entrada[i];
		n++;
	}
	cpf_corrigido[n] = '\0'; // caractere terminador da string
	
	printf("\nCPF corrigido = %s", cpf_corrigido);
	return 0;
}
Fonte: elaborado pelo autor.

Teste o código 2.28 utilizando a ferramenta Paiza.io.

Muito bem, agora é com você! Modifique e tente otimizar ao máximo os seus programas.

Bons estudos!

AVALIE ESTE MATERIAL

OBRIGADO PELO SEU FEEDBACK!