quinta-feira, 7 de outubro de 2010

Os 10 programas mais simples em C++

Ei, você aí que é um total novato em programação. Este artigo foi escrito para VOCÊ.

Hoje vou te ensinar a criar os 10 programas mais simples de se escrever em C/C++. Passando desde um mísero "Hello World" (ou "Olá Mundo", para os amantes da Língua Portuguesa), até algo maior, porém ainda simples. Para criar estes programas, você não vai precisar de nenhuma biblioteca em especial, tudo o que você precisará é do bom e velho Bloco de Notas (ou qualquer coisa que te permita escrever e salvar o código), do Prompt de Comando (ou do "shell", nos Unix da vida) e obviamente, de algum compilador C/C++ (de preferência da GNU, faça-me o favor, né!). Enfim, sem mais papo-furado, vamos lá...




1 - Hello World!



#include "stdio.h"

int main( int argc, char args[] )
{
printf( "Hello World!\n" );
return 0;
}



2 - Hello World múltiplo



#include "stdio.h"

int main( int argc, char args[] )
{
int vezes = 10;

for ( int i = 0; i < vezes; i++ )
{
printf( "Hello World!\n" );
}

return 0;
}



3 - Hello World múltiplo com numeração



#include "stdio.h"

int main( int argc, char args[] )
{
int vezes = 10;

for ( int i = 0; i < vezes; i++ )
{
printf( "Este e o Hello World! numero %d\n", i );
}

return 0;
}



4 - Hello World interativo



#include "stdio.h"

int main( int argc, char args[] )
{
const int QUANT_LETRAS = 80;
char nome[QUANT_LETRAS];

printf( "Por favor, me diga seu nome: " );
scanf( "%s", nome );
printf( "Hello world, %s! Como vai voce? Tchau!\n", nome );

return 0;
}



5 - Hello World que calcula soma de dois numeros



#include "stdio.h"

int main( int argc, char args[] )
{
int numero_a, numero_b, soma;

printf( "Por favor, me fale um numero: " );
scanf( "%d", &numero_a );
printf( "Ok, agora me fale outro numero: " );
scanf( "%d", &numero_b );

soma = numero_a + numero_b;

printf( "\nHello World! %d + %d = %d! Nao e sensacional?!\n",
numero_a, numero_b, soma );

return 0;
}



6 - Hello World que troca o valor de duas variáveis



#include "stdio.h"

int main( int argc, char args[] )
{
int x, y, temp;

printf( "Me diga o valor da variavel inteira X: " );
scanf( "%d", &x );
printf( "Me diga o valor da variavel inteira Y: " );
scanf( "%d", &y );

printf("\nOk, entao X = %d e Y = %d\n", x, y );

temp = x;
x = y;
y = temp;

printf("\nTrocando o valor de X e Y... Nossa, que rapido!!!\n");
printf("\nHello World! Agora X = %d e Y = %d. Gostou?\n", x, y );

return 0;
}



7 - Hello World que diz se você é velho ou novo



#include "stdio.h"

int main( int argc, char args[] )
{
int idade;

printf( "Me conte a sua idade: " );
scanf( "%d", &idade );

if ( idade < 0 )
{
printf( "Para de sacanagem, ninguem tem idade negativa!\n" );
}
else if ( idade >= 0 && idade < 4 )
{
printf( "Bebes nao sabem mexer em computadores!\n" );
}
else if ( idade >= 4 && idade < 10 )
{
printf( "Hello World! Voce e uma crianca pequena ainda!\n" );
}
else if ( idade >= 11 && idade < 13 )
{
printf( "Hello World! Voce e um pre-adolescente!\n" );
}
else if ( idade >= 13 && idade < 20 )
{
printf( "Hello World! Voce e um adolescente!\n" );
}
else if ( idade >= 20 && idade < 30 )
{
printf( "Hello World! Voce ja e um adulto!\n" );
}
else if ( idade >= 30 && idade < 50 )
{
printf( "Hello World! Voce ja esta na meia-idade!\n" );
}
else if ( idade >= 50 && idade < 60 )
{
printf( "Hello World! Voce ja esta ficando velho!\n" );
}
else if ( idade >= 60 && idade < 100 )
{
printf( "Hello World! Voce e um idoso!\n" );
}
else if ( idade >= 100 )
{
printf( "HELLO WORLD!!! Ta vivo ainda? Matusalem!\n" );
}
else
{
printf( "Cade a sua idade??? Tchau!\n" );
}

return 0;
}



8 - Hello World que calcula a sua média



#include "stdio.h"

int main( int argc, char args[] )
{
int quant_notas, total, media;

printf( "Por favor, me diga a quantidade de notas: " );
scanf( "%d", &quant_notas );

total = 0;

for ( int i = 0; i < quant_notas; i++ )
{
int nota;

printf( "Ok, agora me diga %da nota: ", i + 1 );
scanf( "%d", &nota );

total += nota;
}

media = total / quant_notas;
printf( "\nHello World! A sua media e: %d\n", media );
return 0;
}



9- Hello World que pergunta se pode encerrar



#include "stdio.h"

void perguntar();

int main( int argc, char args[] )
{
printf( "Hello World, mestre!\n" );

perguntar();

return 0;
}

void perguntar()
{
char resposta;

printf( "Posso encerrar (S para sim, N para nao)? ");

scanf( "%s", &resposta );

if ( resposta == 'S' || resposta == 's' )
{
printf( "\nObrigado! Tchau, mestre!\n" );
return;
}
else if ( resposta == 'N' || resposta == 'n' )
{
printf( "\nPoxa, mestre, mas eu preciso encerrar!\n");
perguntar();
}
else
{
printf( "\nMestre, diga S para sim e N para nao!\n");
perguntar();
}
}



10 - Hello World que joga "adivinhe o número" com você



#include "stdio.h"
#include "stdlib.h"
#include "time.h"

void iniciar();
void sortear();
void perguntar();
void verificar();
void acertou();
void errou();
void dica();
void revelar();
void jogar_novamente();
void encerrar();

int numero, min, max;
int palpite, tentativas, total_tentativas;

int main( int argc, char args[] )
{
srand( time(NULL) );

iniciar();

return 0;
}

void iniciar()
{
min = 0;
max = 100;
numero = 0;

palpite = 0;

tentativas = 6;

sortear();
perguntar();
}

void sortear()
{
numero = min + rand() % max;
}

void perguntar()
{
printf( "\nQual e o seu palpite (%d a %d)? ", min, max );
scanf( "%d", &palpite );

verificar();
}

void verificar()
{
if ( palpite == numero )
{
acertou();
encerrar();
}

errou();
}

void acertou()
{
printf( "\nPARABENS! Voce acertou, o numero era mesmo %d!", numero );

jogar_novamente();
}

void errou()
{
tentativas--;

if ( tentativas <= 0 )
{
printf( "Voce errou denovo! Nao tem mais tentativas...\n" );
revelar();
}

printf( "Voce errou! Ainda tem %d tentativas...\n", tentativas );

dica();
perguntar();
}

void dica()
{
if ( numero < palpite )
{
printf( "O numero sorteado e MENOR...\n" );
}
else
{
printf( "O numero sorteado e MAIOR...\n" );
}
}

void revelar()
{
printf( "\nO numero sorteado era: %d\n", numero );
jogar_novamente();
}

void jogar_novamente()
{
char resposta;

printf( "\nDeseja jogar novamente (S/N)? " );
scanf( "%s", &resposta );

switch ( resposta )
{
case 's': case 'S': iniciar(); break;
case 'n': case 'N': encerrar(); break;

default: jogar_novamente();
}
}

void encerrar()
{
printf( "\nTchau!\n" );
exit(0);
}




Espero que tenham aprendido muito com estes micro-programas!
Até mais!