terça-feira, 24 de setembro de 2013

Exemplos de programas em C Parte_1

Na linguagem C, são utilizados dois tipos de comandos de seleção: if e o switch e três tipos de comandos de Iteração. Nessa postagem vou mostrar alguns programas, utilizando esses dois comandos de seleção e os comandos de Iteração. Só lembrando que esses programas são simples e são desenvolvidos na IDE Eclipse. Se caso tiver alguma dúvida deixe seu comentário que tentarei ajudá-lo(a).
Veja os exemplos: 

Programa que recebe e exibe o maior de 3 números inteiros

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

int main(void){

/*
* O exemplo abaixo é um programa que verifica qual o maior
* valor de 3 numeros inteiros.
*/

int n1, n2, n3;

printf("Digite o primeiro numero: ");
fflush(stdout);
scanf("%d",&n1);

printf("Digite o segundo numero: ");
fflush(stdout);
scanf("%d",&n2);

printf("Digite o terceiro numero: ");
fflush(stdout);
scanf("%d",&n3);

if (n1 > n2 && n1 > n3) {
printf("\nO maior numero é: %d", n1);
}

if (n2 > n1 && n2 > n3) {
printf("\nO maior numero é: %d", n2);
}

else if (n3 > n1 && n3 > n2) {
printf("\nO maior numero é: %d", n3);
}

system("pause");
return 0;
}
---------------------------------------------------------------------------------------------------


Programa que cria um número aleatório e pede ao usuário para adivinhá-lo


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

int main(void){

/*
* Exemplo de um programa que gera um número aleatório e
* pede ao usuáio para tentar adivinhar qual o numero
*/

int numero, palpite;

numero = rand(); // gera um numero aleatório

printf("Adivinhe o número: ");
fflush(stdout);
scanf("%d",&palpite);

if (palpite == numero) {
printf("Parabéns, você acertou");
printf("%d é o numero certo!", numero);
} else if (palpite > numero){
printf("Você errou, o numero que você digitou é muito alto.");
} else {
printf("Você errou, o numero que você digitou é muito baixo.");
}

system("pause");
return 0;
}

---------------------------------------------------------------------------------------------------

Programa que cadastra um aluno e verifica se ele foi aprovado nas suas 4 primeiras notas 


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

int main(void){

/*
* Exemplo de um programa que recebe o nome e 4 notas de um aluno,
* calcula a média e verifa se o aluno foi aprovado seguindo os
* seguintes quesitos:
* se media >= 7 o aluno foi aprovado
* se media >= 4 e media < 7 o aluno ficará de prova final
* ou então se a media >= 0 e media < 4 o aluno estará reprovado
*/

float notas[4]; // variáveis que irão receber as notas
float media = 0, soma = 0;
char nome[40]; // vetor que pode armazenar até 40 caracters
int i;

printf("Digite o nome do aluno: ");
fflush(stdout);
gets(nome);

for(i = 0; i < 4; i++) {
printf("Digite a nota %d do aluno: ", i+1);
fflush(stdout);
scanf("%f",&notas[i]);
soma += notas[i]; // soma todas as notas recebidas
}

//Exibe os dados do aluno
printf("\nDados do aluno: %s\n", nome);
printf("\nNotas: ");
for (i = 0; i < 4; i++) {
printf("%.2f ", notas[i]);
}

media = soma/4; // calcula a média

printf("\nMedia: %.2f", media); // exibe a media

//essas são as condições feitas para verficar o resultado final do aluno
if (media >= 7) {
printf("\nResultado: Aluno Aprovado");
}
if(media >=4 && media < 7) {
printf("\nResultado: Prova Final");
} else if(media >= 0 && media < 4){
printf("\nResultado: Aluno Reprovado");
}

system("pause");
return 0;
}

---------------------------------------------------------------------------------------------------

Programa que permite o usuário realizar quantos cadastros desejar


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

int main(void){

    /*
     * Esse programa é um aperfeiçoamento do programa anterior,
     * sendo que nesse programa será possível perguntar ao usuário
     * quantos cadastros ele deseja realizar.
     * Onde seguirá os seguintes quesitos abaixo:
     * calcula a média e verifa se o aluno foi aprovado seguindo os
     * seguintes quesitos:
     * se media >= 7 o aluno foi aprovado
     * se media >= 4 e media < 7 o aluno ficará de prova final
     * ou então se a media >= 0 e media < 4 o aluno estará reprovado
     */

    int i, quant, j;
    float notas[4], media = 0;
    char nome[80];

    printf("Quantos alunos você deseja cadastrar ?\n");
    fflush(stdout);
    scanf("%d",&quant);

    for (i = 0; i < quant; ++i) {

        fflush(stdin);
        printf("Digite o nome do aluno [%d]: ", i+1);
        fflush(stdout);
        gets(nome);
        fflush(stdin);
       
        //cadastra as 4 notas
        for (j = 0; j < 4; ++j) {
            printf("\nDigite a nota %d do aluno[%d]: ", j+1, i+1);
            fflush(stdout);
            scanf("%f",&notas[j]);
        }

        if (media > 0) { // toda vez que for realizado um novo cadastro
            media = 0; // retira o valor da media anterior, igualando a zero
        }

        printf("\nDADOS DO ALUNO << %d >>\n", i+1);
        printf("\nNome: %s \n", nome); //exibe o nome
        printf("\nNotas: ");
        for (j = 0; j < 4; ++j) {
            printf("%.2f, ", notas[j]); // exibe as notas
            media += (notas[j])/4; // calcula a média
        }
        printf("\nMédia: %.2f", media);
        if (media >= 7) {
            printf("\nResultado: Aluno Aprovado\n\n");
        }
        if (media >= 4 && media < 7) {
            printf("\nResultado: Prova Final\n");
        } else if (media >= 0 && media < 4) {
            printf("\nResultado: Aluno Reprovado\n\n");
        }
    }

    system("pause");
    return 0;
}

---------------------------------------------------------------------------------------------------

Programa que verifica se o sexo digitado pelo usuário é válido


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

int main(void){

    /*
     * Esse programa pede ao usuário pra digitar o seu sexo.
     * Se o sexo digitado for m ou f deve aparecer a mensagem
     * sexo válido, caso contrário deve exibir a mensagem sexo
     * inválido.
     */

    char sexo;

    printf("Digite seu sexo: (m/f): ");
    fflush(stdout);
    scanf("%c", &sexo);

    if (((sexo == 'm') || (sexo == 'M')) || ((sexo == 'f') || (sexo == 'F'))) {
        printf("\nSexo válido!!");
    } else {
        printf("\nSexo inválido!!");
    }

    system("pause");
    return 0;
}


---------------------------------------------------------------------------------------------------

Programa que realiza cadastros com o nome e o sexo de uma pessoa até que o usuário digitar n para finalizar o programa e exibe quantas pessoas foram cadastradas com o sexo feminino e masculino.


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

int main(void){

    /*
     * Esse programa realiza cadastros com o nome e o sexo de uma pessoa
     * até o usuário digitar n para finalizar o programa.
     * Obs: Quando o programa for finalizado ele deve exibir quantas pessoas
     * foram cadastradas com o sexo masculino e feminino
     */

    char sexo, opc, nome[40];
    int contaM = 0, contaF = 0;

    do {

        fflush(stdin);
        printf("\nDigite o nome da pessoa: ");
        fflush(stdout);
        gets(nome);
        printf("\n Informe o sexo: (m/f): ");
        fflush(stdout);
        scanf("%c", &sexo);

    switch(sexo) {

    case 'm':
    case 'M':
        contaM++; // conta quantas pessoas foram cadastradas com o sexo m
        break;
    case 'f':
    case 'F':
        contaF++; // conta quantas pessoas foram cadastradas com o sexo f
        break;
    default: printf("\nSexo inválido.");
    break;
    }

    fflush(stdin);
    printf("\nDeseja continuar ?\n");
    fflush(stdout);
    scanf("%c",&opc);

    switch(opc) {
    case 'n':
    case 'N':
        printf("\nQuantidade de pessoas cadastradas com o sexo (Masculino): %d", contaM);
        printf("\nQuantidade de pessoas cadastradas com o sexo (Feminino): %d", contaF);
        system("pause");
        return 0;
    }
    fflush(stdin);

    } while(opc != 'n' || opc != 'N');
    return 0;
}


---------------------------------------------------------------------------------------------------

Programa que recebe dois números inteiros e mostra um menu para o usuário escolher entre as opções de: somar, subtrair, multiplicar e dividir


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

int main(void){

    /*
     * Esse programa recebe dois números inteiros e fornece
     * um menu para o usuário escolher entre as opções de
     * somar, multiplicar, dividir ou subtrair
     */

    int numero1, numero2, opcao;

    printf("Digite um numero inteiro: ");
    fflush(stdout);
    scanf("%d",&numero1);

    printf("\nDigite outro numero inteiro: ");
    fflush(stdout);
    scanf("%d",&numero2);

    printf("\nEscolha uma das opções abaixo: \n");
    printf("1 - Somar\n");
    printf("2 - Subtrair\n");
    printf("3 - Multiplicar\n");
    printf("4 - Dividir\n");
    fflush(stdout);
    scanf("%d",&opcao);

    switch(opcao) {
    case 1:
        printf("\nResultado: %d", numero1+numero2);
    break;
    case 2:
        printf("\nResultado: %d", numero1-numero2);
        break;
    case 3:
        printf("\nResultado: %d", numero1*numero2);
        break;
    case 4:
        printf("\nResultado: %d", numero1/numero2);
        break;
    default:
        printf("\nOpção inválida!!");
        break;
    }

    system("pause");
    return 0;
}

---------------------------------------------------------------------------------------------------

Programa que recebe o número de um mês digitado pelo usuário e informa o máximo de dias que o referido mês pode ter.


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

int main(void){

    /*
     * Neste exemplo o usuário informa o numero do mês e o programa exibe
     * a quantidade máxima de dias para o referido mês. Veja que os comandos
     * 'case' podem ser utilizados em grupos.
     */

    int mes, maximoDias;

    printf("Entre com o numero do mês: ");
    fflush(stdout);
    scanf("%d", &mes);

    switch(mes) {

    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12: maximoDias = 31;
    break;

    case 4:
    case 6:
    case 9:
    case 11: maximoDias = 30;
    break;

    case 2: maximoDias = 29;
    break;

    default: printf("\nO numero deve ser entre 1 e 12!\n\n");
    return main(); // retorna para o inicio do programa
    }

    printf("\nEste mês tem no máximo: %d dias.", maximoDias);
    system("pause");
    return 0;
}

---------------------------------------------------------------------------------------------------

Programa que recebe um número inteiro e verifica se ele é par ou impar

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

int main(void){

    /*
     * Neste exemplo o programa recebe um número e verifica se ele
     * é par ou impar
     */

    int numero, restoDivisao;

    printf("\nEntre com um número: ");
    fflush(stdout);
    scanf("%d",&numero);

    restoDivisao = numero % 2; // calcula o resto da divisão

    if (restoDivisao == 0) {
        printf("\nO numero %d é par.", numero);
    } else {
        printf("\nO número %d é impar.", numero);
    }
  
    system("pause");
    return 0;
}

# Compartilhar :