Estou começando um novo curso de C. Vou fazer vários vídeos com novos exemplos, ampliando o conhecimento sobre o assunto.
Para acompanhar este curso utilizando o codeBlocks, clique no site: http://www.codeblocks.org/downloads/binaries e escolha o arquivo de instalação : codeblocks-12.11mingw-setup.exe
Exercício: Implemente uma função com as seguintes características:
Recebe dois números inteiros do usuário.
Retorna 1 se os números são iguais, 0 se são diferentes e –1 se a soma ou o produto estoura a faixa dos inteiros. Além disso, retorna a soma e o produto dos dois números.
Fazer um programa para receber dois números do usuário, chama a função e mostra se os números são iguais.
Código do vídeo:
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
int CALCULA(int numero1, int numero2, int *pontSoma, int *pontProduto);
Implemente uma função que recebe um mês e um ano como parâmetros e retorna o número de dias daquele mês daquele ano.
Um ano é bissexto quando é múltiplo de 4 e não múltiplo de 100, ou também quando é múltiplo de 400.
Código do vídeo: #include <stdio.h> int DIAS(int mes, int ano); main(){ int mes, ano; printf("Digite o mes : "); scanf("%d",&mes); printf("Digite o ano : "); scanf("%d", &ano); printf("Numero de dias : %d",DIAS(mes,ano)); printf("\n\n"); system("pause"); } int DIAS(int mes, int ano){ int dias; switch (mes) { case 1 : dias = 31; break; case 2 : if (((ano % 4 == 0) && (ano % 100 != 0)) || (ano % 400 == 0)){ printf("\nANO BISSEXTO\n"); dias = 29; } else dias = 28; break; case 3 : dias = 31; break; case 4 : dias = 30; break; case 5 : dias = 31; break; case 6 : dias = 30; break; case 7 : dias = 31; break; case 8 : dias = 31; break; case 9 : dias = 30; break; case 10 : dias = 31; break; case 11 : dias = 30; break; case 12 : dias = 31; break; } return dias;
Exercício: Implemente a função INVERTE que recebe um número unsigned int como parâmetro e retorna esta número escrito ao contrário.
Código do vídeo: #include <stdio.h> int INVERTE(unsigned int numero); main(){ unsigned int numero; printf("Digite um numero: "); scanf("%d", &numero); printf("%d", INVERTE(numero)); printf("\n\n"); system("pause"); } int INVERTE(unsigned int numero){ char convertido[10], invertido[10]; itoa(numero,convertido,10); int i, f; f = 0; for (i= strlen(convertido)-1; i >=0 ;i--){ invertido[f] = convertido[i]; f++; } invertido[f] = '\0'; return atoi(invertido);
Exercício: Implemente a função RAIZQUADRADA. Esta função deve receber um número do tipo inteiro como parâmetro e retornar a raiz quadrada do mesmo (em float).
Código do vídeo: #include <stdio.h> #include <math.h> float RAIZQUADRADA(int numero); main(){ int numero; float resultado; printf("Digite um numero :"); scanf("%d",&numero); resultado = RAIZQUADRADA(numero); printf("A raiz quadrada e: %.0f",resultado); printf("\n\n"); system("pause"); } float RAIZQUADRADA(int numero){ return sqrt(numero);
Exercício: Faça um programa que solicite valores ao usuário e faça a soma dos mesmos, até que o numero digitado seja 0. O resultado deve ser exibido no monitor.
Código do vídeo: #include <stdio.h> main(){ int valor = 10, soma = 0;
while (valor != 0){ printf("Digite um numero: "); scanf("%d", &valor); soma = soma+valor; } printf("A soma dos valores e : %d", soma);
Código do vídeo: #include <stdio.h> main(){ int numero, numero2; printf("Digite um numero : "); scanf("%d", &numero); printf("Digite um numero2 : "); scanf("%d", &numero2); if (numero != 10 && numero2 != 10) { printf("Os numeros sao diferentes de 10 \n"); } else if (numero == numero2){ printf("O numero 1 e o numero 2 sao iguais a 10"); } else if (numero == 10){ printf("O numero 1 e igual a 10 \n"); } else { printf (" O numero 2 e igual a 10 \n"); } printf("\n\n"); system("pause"); }