Você está aqui: C ::: Topografia e Geoprocessamento ::: Passos Iniciais

Como converter Azimute em Rumo em C - C para Topografia e Engenharia Civil

Quantidade de visualizações: 589 vezes
Como visto em uma dica anterior, o azimute é o ângulo entre o norte magnético, e um ponto levantado, ou entre o norte e um lado de um determinado polígono. Seu valor varia de 0º a 360º. Não esqueça, sempre partindo do norte.

O Rumo, por sua vez, é o menor ângulo formado pelo alinhamento norte sul e a direção considerada. Seu valor varia de 0º a 90º e é obtido a partir do norte ou do sul por leste e oeste.

Como o rumo expressa o ângulo sempre em função do quadrante em que ele se encontra, temos que acrescentar as siglas NE, SE, SW, NW. A primeira letra indica a origem a partir da qual a contagem é realizada e a segunda letra indica a direção do giro ou quadrante. Dessa forma, valores em rumo quase sempre vêm descritos como graus, minutos e segundos, variando de 0º a 90º e precedidos ou antecedidos pelas siglas discutidas acima.

Nesta dica mostrarei como podemos converter de Azimute para Rumo usando a linguagem C. Nós vamos pedir para o usuário informar os graus em azimute e vamos mostrar os graus correspondentes em Rumo, juntamente com a direção NE, SE, SW ou NW.

Veja o código C completo:

----------------------------------------------------------------------
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>

// função principal do programa
int main(int argc, char *argv[]){
  // variáveis usadas na resolução do problema
  float azimute, rumo;
  char direcao[5];
	
  // vamos pedir para o usuário informar o valor do azimute
  printf("Informe o valor do Azimute: ");
  scanf("%f", &azimute);
  
  // a direção do rumo é NE?
  if (azimute <= 90) {
    rumo = azimute;
    strcpy(direcao, "NE");
  } 
  // a direção do rumo é SE?
  else if (azimute <= 180) {
    rumo = 180 - azimute;
    strcpy(direcao, "SE");
  }
  // a direção do rumo é SW?
  else if (azimute <= 270) {
    rumo = azimute - 180;
    strcpy(direcao, "SW");
  }
  // então a direção do rumo é NW
  else {
    rumo = 360 - azimute;
    strcpy(direcao, "NW");
  }
    
  // e mostramos o resultado
  printf("Valor em rumo: %f %s", rumo, direcao);
  
  printf("\n\n");
  system("PAUSE");
  return 0;
}

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

Informe o valor do Azimute: 215
Valor em rumo: 35.0 SW

Link para compartilhar na Internet ou com seus amigos:

C ::: Fundamentos da Linguagem ::: Estruturas de Controle

Como usar a instrução break da linguagem C para interromper a execução de um laço

Quantidade de visualizações: 15599 vezes
Laços for, while, do...while e switch podem ter suas iterações (repetições) interrompidas com o uso da instrução break. Quando isso acontece, o fluxo de execução salta para a primeira instrução após o laço. Veja um exemplo:

----------------------------------------------------------------------
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[])
{
  int i;

  for(i = 0; i <= 10; i++){
    printf("%d  ", i);

    if(i == 6)
      break; // sai do laço
  }

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

Este código exibirá os valores de 0 à 6. Veja que execução do laço é interrompida exatamente no ponto em que a instrução break é encontrada. Se houver mais instruções dentro do laço mas logo após o break, estas instruções não serão executadas.


C ::: Dicas & Truques ::: Strings e Caracteres

Como escrever uma função C personalizada que copia os caracteres de uma string para outra string

Quantidade de visualizações: 8513 vezes
Quando precisamos copiar os caracteres de uma string para outra string em C, geralmente usamos a função strcpy(). Para que você entenda como esta função realmente funciona, o código abaixo mostra como escrever uma função personalizada que realiza tal tarefa. Estude-a cuidadosamente. É uma boa forma de entender como percorrer os caracteres de uma string usando ponteiros:

----------------------------------------------------------------------
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>

// função personalizada que copia os caracteres de
// uma string para outra
char *str_copy(char *destino, const char *origem){
   while(*destino++ = *origem++){
     ;;
   }

   return (destino - 1);
}

int main(int argc, char *argv[]){
  char frase1[] = "Gosto de PHP";
  char frase2[50]; // pode receber até 49 caracteres

  // copia a primeira frase para a segunda
  str_copy(frase2, frase1);

  // exibe o resultado
  printf(frase2);

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

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

Gosto de PHP


C ::: Dicas & Truques ::: Strings e Caracteres

Como percorrer os caracteres de uma string C usando um laço for

Quantidade de visualizações: 17437 vezes
Como em C uma string é um vetor de caracteres, tais caracteres podem ser acessados por meio de seu índice no vetor (um valor inteiro começando em 0). Este trecho de código mostra como você pode usar o laço for para acessar cada caractere individualmente e exibí-lo na tela do programa:

----------------------------------------------------------------------
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>

int main(int argc, char *argv[]){
  char palavra[] = "Arquivo";

  // vamos percorrer os caracteres usando um laço for
  int i;
  for(i = 0; i < strlen(palavra); i++){
    printf("Caractere na posicao %d = %c\n", i, palavra[i]);
  }

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

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

Caractere na posicao 0 = A
Caractere na posicao 1 = r
Caractere na posicao 2 = q
Caractere na posicao 3 = u
Caractere na posicao 4 = i
Caractere na posicao 5 = v
Caractere na posicao 6 = o


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á 16 usuários muito felizes estudando em nosso site.