Você está aqui: C ::: Dicas & Truques ::: Strings e Caracteres

Como escrever uma função is_numeric() em C que verifica se uma string contém apenas dígitos de 0 a 9

Quantidade de visualizações: 9990 vezes
Em algumas situações precisamos verificar se uma string contém apenas dígitos de 0 a 9, ou seja, é um valor numérico inteiro válido. Para isso podemos usar a função personalizada em C que mostro nesta dica. Veja que o segredo é passar todos os caracteres individualmente para a função isdigit(). Veja o código:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>

// função personalizada que permite verificar se uma
// string contém apenas dígitos de 0 a 9
int is_numeric(const char *str){
  int res = 1; // passou no teste

  // vamos percorrer todos os caracteres da string
  // e testar se cada um é um dígito. Se não
  // for nós marcamos res como 0 e retornamos
  while(*str){
    if(!isdigit(*str)){
      res = 0;
      break;
    }

    // vamos passar para o próximo caractere
    str++;
  }

  return res;
}

int main(int argc, char *argv[]){
  char valor[20]; // vamos guardar o valor digitado aqui

  // vamos ler o valor informado pelo usuário
  printf("Digite qualquer coisa e tecle ENTER: ");
  gets(valor);

  // vamos verificar se o usuário informou uma string
  // que contém apenas dígitos de 0 a 9
  if(is_numeric(valor))
    printf("Voce informou uma string numerica");
  else
    printf("Voce NAO informou uma string numerica");

  puts("\n\n");
  system("PAUSE");
  return 0;
}

E, antes que perguntem como é possível verificar se a string contém um valor fracionário válido, a seguinte alteração pode ser feita:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

int is_numeric(const char *str){
  int res = 1; // passou no teste

  // vamos percorrer todos os caracteres da string
  // e testar se cada um é um dígito ou uma vírgula. Se não
  // for nós marcamos res como 0 e retornamos
  while(*str){
    if((!isdigit(*str)) and (*str != ',')){
      res = 0;
      break;
    }

    // vamos passar para o próximo caractere
    str++;
  }

  return res;
}


Link para compartilhar na Internet ou com seus amigos:

C ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Exercício Resolvido de C - Usando um laço for para percorrer os elementos de um vetor e exibir a soma de seus valores

Quantidade de visualizações: 14290 vezes
Exercícios Resolvidos de C - Usando um laço for para percorrer os elementos de um vetor e exibir a soma de seus valores

Pergunta/Tarefa:

Considere o seguinte vetor de inteiros:

// um vetor de inteiros contendo sete elementos
int valores[] = {4, 5, 1, 8, 2, 2, 10};
Escreva um programa C que usa um laço for para percorrer todos os elementos deste vetor e exibir a soma de seus valores. Seu programa deverá exibir uma saída com a mensagem:

A soma dos valores do vetor é: 32
Resposta/Solução:

Veja abaixo a resolução completa para esta tarefa:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  // um vetor de inteiros contendo sete elementos
  int valores[] = {4, 5, 1, 8, 2, 2, 10};
  
  // o primeiro passo é criar uma variável que vai receber a soma
  // dos valores dos elementos
  int soma = 0;
  int i;

  // agora vamos usar uma laço for para percorrer todos os elementos
  // do vetor, obter o valor do elemento atual e adicionar ao valor atual
  // da variável soma
  for(i = 0; i < 7; i++){
    soma = soma + valores[i];
    // poderia também ser escrito assim:
    // soma += valores[i];
  }

  // vamos exibir a soma dos valores do vetor
  printf("A soma dos valores do vetor é: %d\n", soma);

  system("PAUSE");	
  return 0;
}



C ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas

Como calcular a área de um círculo em C dado o raio do círculo

Quantidade de visualizações: 8617 vezes
A área de um círculo pode ser calculada por meio do produto entre a constante PI e a medida do raio ao quadrado (r2). Comece analisando a figura abaixo:



Sendo assim, temos a seguinte fórmula:



Onde A é a área, PI equivale a 3,14 (aproximadamente) e r é o raio do círculo.

O raio é a medida que vai do centro até um ponto da extremidade do círculo. O diâmetro é a medida equivalente ao dobro da medida do raio, passando pelo centro do círculo e dividindo-o em duas partes. A medida do diâmetro é 2 * Raio.

Veja agora um código C completo que calcula a área de um círculo mediante a informação do raio:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
#include <math.h> 
 
// vamos definir o valor de PI
#define PI 3.14159265358979323846 
 
int main(int argc, char *argv[]){
  int raio;
  printf("Informe o raio do círculo: ");
  // efetua a leitura do raio
  scanf("%d", &raio);
  // calcula a área
  double area = PI * pow(raio, 2);
  // mostra o resultado
  printf("A area do círculo de raio %d é igual a %f\n\n", 
    raio, area);
  
  system("PAUSE");  
  return 0;
}

Ao executarmos este código nós teremos o seguinte resultado:

Informe o raio do círculo: 5
A area do círculo de raio 5 é igual a 78.539816

A circunferência é um conjunto de pontos que estão a uma mesma distância do centro. Essa distância é conhecida como raio. A circunferência é estudada pela Geometria Analítica e, em geral, em um plano cartesiano. O círculo, que é formado pela circunferência e pelos infinitos pontos que preenchem seu interior, é estudado pela Geometria Plana, pois ele ocupa um espaço e pode ter sua área calculada, diferentemente da circunferência.


C ::: Dicas & Truques ::: Matemática e Estatística

Como arredondar um valor de ponto-flutuante para cima usando a função ceil() da linguagem C

Quantidade de visualizações: 14643 vezes
A função ceil() da linguagem C é usada quando precisamos arredondar um valor de ponto-flutuante (com casas decimais) para cima. Esta função retorna o menor valor integral maior que o valor fornecido a ela. Note que, mesmo o retorno sendo um inteiro, ele virá encapsulado em um double.

Para entender o funcionamento desta função, vamos considerar o valor 4.5. Ao aplicarmos a função ceil() a este valor, o retorno será 5.0. Isso pode ser comprovado no trecho de código abaixo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  printf("O valor 4.5 arredondado para cima e %f", 
    ceil(4.5));
  
  printf("\n\n");
  system("pause");
  return 0;
}

Ao executarmos este código teremos o seguinte resultado:

O valor 4.5 arredondado para cima é 5.000000.


Desafios, Exercícios e Algoritmos Resolvidos de C

Veja mais Dicas e truques de C

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 72 usuários muito felizes estudando em nosso site.