quarta-feira, 29 de fevereiro de 2012

Comparando textos em C

Olá pessoal, hoje vamos aprender a comparar textos na linguagem C. Digamos que você está desenvolvendo em programa e precisa fazer uma verificação em uma variavel que armazena um texto. Como você montaria um algoritmo para resolveria esse problema?

Seria algo como:
Se desenho_animado = "pokemon" Então
     //logica para capturar pokemon

Mais o poblema é passar isso para a linguagem C, já que no C o sinal de igual (=) significa atribuir.
Em C, quando queremos comparar duas variáveis utilizamos a função strcmp, strcmpi. As duas fazem parte da biblioteca <string.h>, e para serem utilizadas a biblioteca <string.h> deve ser incluida ( #include <nome da biblioteca> ).

Como usar as funções para comparar

A linguagem C não retorna algo como verdadeiro (true) ou falso (false), como em muitas outras linguagens de programação. Em C, verdadeiro é representado pelo número 0 , enquanto falso é representado pelo número 1. Quando usamos a função strcmp ou strcmpi ela percorre letra por letra as duas palavras comparando-as e o retorno da função é de: 0 para palavras iguais ou 1 para palavras diferentes .

Exemplo:

strcmp("picachu","pikachu"); //a função retorna 1
strcmp("pikachu","pikachu"); //a função retorna 0

Se a função retorna um número , temos que guardar esse número para sabermos qual foi o resultado da comparação, não é mesmo? Para fazer essa comparação podemos declarar uma variável que armazenará o número retornado pela função, ou comparar o retorno da função diretamente no comando if.

Exemplos:

int resultado;
resultado = strcmp("picachu","pikachu");

if (resultado ==  0
{
        printf("As palavras são iguais");
}
else
{
        printf("As palavras são diferentes");
}

ou

if(strcmp == 0)
{
         printf("As palavras são iguais");
}
else
{
         printf("As palavras são diferentes");
}

Qual a diferença entre strcmp e strcmpi?


A diferença entre o strcmp  e strcmpi, é que o strcmp diferencia letras maiusculas de letras minusculas, já o strcmpi não.

Exemplo:

strcmp("pikachu","PIKACHU"); //a função retorna 1, ou seja, não é igual
strcmpi("pikachu","PIKACHU"); //a função retorna 0, ou seja, é igual

NOTA: Não esqueçam de incluir a biblioteca no inicio do programa. 

Bom pessoal, por hoje é só... ate´ a próxima.

terça-feira, 28 de fevereiro de 2012

Como declarar variáveis e constantes em C

Olá pessoal, hoje vamos aprender como declarar variáveis e constantes em C.
Já sabemos que variáveis são pequenos pedaços alocados na memória do computador para guardar informações que mudam no decorrer do programa, e sabemos também que constantes são pequenos pedaços alocados na do memória do computador para guardar informações que NÃO mudam no decorrer do programa, certo?
Agora vamos então dar mais um passo aprendendo a declarar variáveis e constantes em nossos programas C.

Declarando variáveis em C:

Para declarar variáriaveis em C,  segue a sintaxe:
tipo_da_variavel nome_da_variavel ; //nunca se esqueça de colocar ponto e vírgula

int idade;
float peso;
double pesoDoJoSuares;                      Tipos mais usados
char sexo;


Declarando constantes em C

Para declarar constantes em C, segue a seguinte sintaxe:
#define nome_da_contante  valor_a_ser_armazenado

Exemplo:

#include <stdio.h>
#include <stdlib.h>
/*
 * A Declaração de constantes tem que ser antes do int main()*/
#define idade 17 //dado do tipo inteiro
#define nome "guilherme" //dado do tipo char
#define altura 1.63 //dado do tipo float ou double
#define sexo 'M' //dado do tipo char

int main() {
//barra-invertida + n = \n, faz uma quebra de linha, ou seja, pula linha
    printf("\nNome: %s", nome);
    printf("\nIdade: %d", idade);
    printf("\nAltura: %f", altura);
    printf("\nSexo: %c", sexo);
    system("PAUSE");
return 0;
}

Faça esse exemplo em seu computador e veja o que acontece...
Bom pessoal, por hoje é só, e já sabem dúvidas, sugestões deixem um comentário. ;p
Vlw, e até a próxima!!!

Para que servem as bibliotecas <stdio.h> e <stdlib.h>

Olá pessoal, hoje vamos entender para que servem as bibliotecas que importamos para o programa C.

Com certeza a primeira coisa que você se perguntou quando viu um código C na sua frente, foi para que servem #include<stdio.h> e #include<stdlib.h>? o que elas fazem?
 
Elas são bibliotecas que agrupam um conjunto de funções que facilitam a nossa vida na hora de programar, isso mesmo as funções printf e scanf não são propriamente do C, elas fazem parte de uma biblioteca que está inclusa no C, então podemos dizer que as funções printf e scanf são de uma biblioteca que pode ser inclusa no C. Utilizando a palavra chave #include <nome da biblioteca>.

A biblioteca que contém o printf e scanf é a <stdio.h>, se repararmos o nome dessa biblioteca, veremos que seu nome é bem sugestivo ao seu propósito: stdio.h (i/o input/output) entrada e saída. Já que printf faz a saída do programa, ou seja, exibe algo para o usuário, e o scanf faz a leitura dos dados, ou seja, recebe a entrada do teclado.

Então se a biblioteca <stdio.h> não for incluida no cabeçario do nosso programa não tem como usarmos as funções que estão contidas dentro dela. Faça um teste, experimente apagar a linha: #include<stdio.h>,  e compile seu programa. Veja o que acontece.

Beleza, a biblioteca <stdio.h>, cuida da parte de entrada e saida de dados, mas e a <stdlib.h> para que ela seve? A biblioteca <stdlib.h> funciona como um emulador da prompt do sistema operacional que você está programando, caso seja Windows ele emula todos os comandos do DOS, se você estiver programando no Linux, quem será emulado é o Terminal. 

Essa biblioteca é muito inteiressante, pois com apenas algumas linhas de comando você consegue acessar pastas, mover diretorios, executar programas, fuder com a HD e tudo o que um programador metido a hacker gosta de fazer =D.

Aqui um exemplo de como é legal brincar com a biblioteca <stdlib.h>:

#include <stdlib.h>

int main() {
    system("calc");
    system("pause");
    return 0;
}


O que aconteceu ... legal né? Isso é só o começo de um montão de coisa que você pode fazer utilizando o system.


Ainda resta uma dúvida. Só existem essas bibliotecas em C ? É claro que não pessoal, existem muitas outras bibliotecas que são especificas para cada situação. Existem bibliotecas para trabalhar com contas matemáticas, bibliotecas para manipular textos, para manipular a formatação de exibição dos dados e uma infinidade de outras coisas ai. A melhor coisa a ser feita é uma pesquisa rápida pelo Google.

Bele pessoal?, dúvidas, sugestões não esqueçam deixem seus comentários. Valeu e até a próxima.

Pseudocodigos agora se transformam em palavras chave

Olá pessoal, hoje vamos aprender como implementar os pseudocodigos na linguagem de programação C.

Os pseudocodigos são palavras reservados do nosso algoritmo, são através deles que conseguimos fazer nossos algoritmos funcionarem. Quando queremos exibir alguma mensagem na tela usamos o pseudocodigo ESCREVA, quando queremos ler algo utilizamos o pseudocodigo LEIA e assim por diante.

Mais como fazemos isso na linguagem C? Abaixo temos uma lista de todos ou quase todos os pseudocodigos aprendidos em aula, transformados em palavras chave da linguagem C:

PSEUDOCODIGO------------------------------------------C
escreva ""---------------------------------printf("algum texto");
leia variavel------------------------------scanf("%d", &variavel);
algoritmo----------------------------------int main() {
fim_algoritmo------------------------------}
var a, b: inteiro--------------------------int a, b;
var c, d: real-----------------------------float c, d;
a <- 10------------------------------------a = 10;

É isso ai pessoal, para dúvidas e sugestões deixem um comentário ai... vlw e até a próxima!!!

Novidade!!! Agora vamos ter canal no Youtube =D

Fala pessoal tudo beleza, estou sumido a correria está forte por aqui. Estou querendo dar um start em um projeto antigo que vem desde o temp...