Você está na página 1de 11

-------------DESENHANDO UMA MOLDURA PARTE 1------------------------------------

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

int main(){

printf("\xDB\n");//imprimindo um bloco
printf("\xDB\xDB\n");//imprimindo dois bloco
printf("\xDB\xDB\xDB\n");//imprimindo tres bloco
printf("\xDB\xDB\xDB\xDB\n");
printf("\xDB\xDB\xDB\xDB\xDB\n");
system("PAUSE");
return 0;
}
-------------DESENHANDO UMA MOLDURA PARTE 2-----------------------------------
#include<stdio.h>
#include<stdlib.h>
void linha(int); //prototipo
int main(){
linha(0);
printf("\xDB DESENHANDO UMA MOLDURA \xDB\n");
linha(32);
printf("\xDB");
system("PAUSE");
return 0;
}
/*linha() */
/*Desenha uma solida na tela, n caracteres */
void linha(int n)
{
int j;
for(j=1; j<=n; j++)
{
printf("\xDB");
printf("\n");
}
}
-------------USANDO FUNCAO GETCHE E GETCH-----------------------------------
#include <stdio.h>
#include <conio.h>

void main()
{
char c;
printf("Pressione uma tecla : ");
c = getche();
printf("\nLeitura feita com getche()");
printf("\nPressione novamente uma tecla: ");
c = getch();
printf("\nLeitura feita com getch()");
getch();
}
/*
O getch() como também o getche() retorna a tecla digitada, muito usado em menus
com switch.(Diferença entre os dois é que o getch() não mostra a tecla que
digitou na tela, já o getche() mostra na tela qual foi a tecla digitada)
A função getche() lê o caractere do teclado e permite que seja impresso na tela.
Esta função não aceita argumentos e devolve o caractere lido para a função que
a chamou.A função getch() lê o caractere do teclado e não permite que seja
impresso na tela. Como getche(), esta função não aceita argumentos e devolve
o caractere lido para a função que a chamou.
*/
-------------DESENHANDO ARVORE DE NATAL-------------------------------------
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>

int main()
{
char sd, se;
int i, j,k;
system("cls");
printf("\nSinal interno direito : ");
sd = getche();/*caracter de desenho da arvore*/
printf("\nSinal interno esquerdo : ");
se = getche();/*caracter de desenho da arvore*/

printf("\n\n");/*pula duas linhas antes do inicio do desenho*/

for(i=0; i<4;i++)
{
for(k=1; k<5;k++)
{
for(j=1; j<=40-(2*i+k); j++)
printf(" "); //imprimi brancos
printf("/"); //delimitador inicial de linha
for(j=1; j< (2*i+k); j++)
printf("%c", se); //caracter de desenho ate o meio
for(j=1; j< (2*i+k); j++)
printf("%c", sd); //caracter meio ate o fim
printf("\\\n"); //delimitador final de linha
}
}
/*desenhando pe da arvore*/
for(i=0; i<2; i++)
{
for(j=0; j<38; j++)
printf(" ");
printf("| |\n");
}
printf("\n");
//imprimi mensagem centralizada
for(j=0; j<35;j++)
printf(" ");
printf("FELIZ NATAL\n");
for(j=0; j<31; j++)
printf(" ");
printf("E UM PROSPERO ANO NOVO!\n");
system("PAUSE");
return 0;
}
-------------IMPRIMINDO MEDIA ARITMETICA DE 10 NOTAS------------------------
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
/*imprimi a media aritmetica de 10 notas*/
int main()
{
float soma = 0.0;
const int max = 10;
int i;

for(i=0; i< max; i++)


{
float nota;
printf("\nDigite a nota %d : ", i+1);
scanf("%f", &nota);
soma += nota;/*variavel soma acumula a soma das notas*/
}
printf("\nMedia = %2.f\n", soma/max);

system("PAUSE");
return 0;
}

-------------JOGO DE ADIVINHAR LETRAS---------------------------------------


#include<stdio.h>
#include<stdlib.h> //para system() e rand()
#include<conio.h> //para getch()
//jogo para testar sua capacidade de adivinhar uma letra.
int main()
{
char ch = 's'; //S de sim
char resp; //resposta do usuario
char secreto;
int tentativas;

while(ch == 's')
{
secreto = rand() % 26 + 'a';
tentativas = 1;
printf("\n\nDigite uma letra entre 'a' e 'z': \n");

while((resp = getch())!= secreto)


{
printf("%c e incorreto. Tente novamente\n",resp );
tentativas++;
}
printf("%c E CORRETO!!\n", resp);
printf("Você acertou em %d tentativas\n", tentativas);
printf("\nQuer jogar novamente? (s/n): ");
ch = getche();
}
printf("\nAté logo e boa sorte!\n");
system("PAUSE");
return 0;
}
------------JOGO DE ADIVINHAR LETRAS COM DO WHILE-----------------------
#include<stdio.h>
#include<stdlib.h> //para system() e rand()
#include<conio.h> //para getch()
//jogo para testar sua capacidade de adivinhar uma letra.
int main()
{
char resp; //resposta do usuario
char secreto;
int tentativas;

do
{
secreto = rand() % 26 + 'a';
tentativas = 1;
printf("\n\nDigite uma letra entre 'a' e 'z': \n");

while((resp = getch())!= secreto)


{
printf("%c e incorreto. Tente novamente\n",resp );
tentativas++;
}
printf("%c E CORRETO!!\n", resp);
printf("Você acertou em %d tentativas\n", tentativas);
printf("\nQuer jogar novamente? (s/n): ");
}while(getche() == 's');

printf("\nAté logo e boa sorte!\n");


system("PAUSE");
return 0;
}
------------EMITINDO BEEP E USANDO FUNCOES------------------------------------
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>

void doisBeep(void); //prototipo

int main(){
doisBeep();
printf("Digite um caractere: ");
getche();
doisBeep();
system("PAUSE");

return 0;
}
void doisBeep(){
int i;
printf("\x7");
for(i=1; i<5000; i++){
printf("\x7");
}
}
--------------CRIANDO TABUADA DE 6-------------------------------------------
#include<stdio.h>
#include<stdlib.h>>
/*IMPRIMI A TABUADA DE 6*/
int main(){
int i;
for(i=1; i<10; i++)
printf("\n%4d X 6 = %4d", i, i*6);

printf("\n");
system("PAUSE");
return 0;
}
--------------CRIANDO TABUADA DE 6 INVERTIDA---------------------------------
#include<stdio.h>
#include<stdlib.h>>
/*IMPRIMI A TABUADA DE 6 INVERTIDA*/
int main(){
int i;
for(i=9; i>0; i--)
printf("\n%4d X 6 = %4d", i, i*6);

printf("\n");
system("PAUSE");
return 0;
}
--------------CRIANDO UMA TABUADA COMPLETA------------------------------------
#include<stdio.h>

int main(){

int i, j, k;
system("cls"); //limpa tela

for(k=0; k<=1; k++)


{
printf("\n");
for(i=1; i<=4; i++)
printf("TABUADA DO %3d ", i+4*k+1);
printf("\n");
for(i=1; i<=9; i++)
{
for(j=2+4*k; j<=5+4*k; j++)
printf("%3d x%3d = %3d ", j, i, j*i);
printf("\n");
}
}
system("PAUSE");

return 0;
}
/*O laço for mais externo(da variavel K) é executado duas vezes: uma para imprimir
o
primeiro bloco de tabuadas (de 2 a 5); e outra,para imprimir o segundo bloco de (6
a 9).
O segundo laço for imprime os titulos. Os dois laços mais internos imprimem as
tabuadas
propriamente ditas. */

---------------TABULEIRO DE DAMA-------------------------------------------------
#include<stdio.h>
#include<stdlib.h>

int main(){
int lin, col;
system("cls");
for(lin=1; lin<=8; lin++)
{
for(col=1;col<=8;col++)
if((lin+col)%2==0)
printf("\xdb\xdb");
else
printf(" ");
printf("\n");
}
system("PAUSE");
return 0;
}
---------------USANDO BLIOTECA TIME.H EXEMPLO PARA OS ALUNOS---------
#include<stdio.h>
#include<stdlib.h>
#include<time.h>

/*
struct tm{
tm_sec; representa os segundos de 0 a 59
tm_min; representa os minutos de 0 a 59
tm_hour; representa as horas de 0 a 24
tm_mday; dia do mes de1 a 31
tm_mon; representa os meses do ano 0 a 11
tm_year; representa o ano a partir de 1900
tm_wday; dia da semana de 0 (domingo) ate 6 (sabado)
tm_yday; dia do ano de 1 a 365
tm_isdst; indica horario de verao se for diferente de zero
}
*/
int main(){
struct tm *dt_hora_atual; //declarando minha variavel contadora
time_t segundos; //armazena o tempo em segundos
time(&segundos); //converte o tempo atual em segundos
dt_hora_atual = localtime(&segundos); //convertendo os segundos em hora
atraves da funcao localtime

printf(" Manaus-Am %d/%d/%d Horas %d:%d:%d",dt_hora_atual-


>tm_mday,dt_hora_atual->tm_mon+1, dt_hora_atual->tm_year+1900, dt_hora_atual-
>tm_hour,dt_hora_atual->tm_min,dt_hora_atual->tm_sec);

return 0;
}

---------------USANDO BLIOTECA TIME.H PARA PEGAR A DATA ATUAL DO SISTEMA---------

#include <stdio.h>
#include <time.h> //necessário para usar localtime() e struct tm
int main(void)
{
//ponteiro para struct que armazena data e hora
struct tm *data_hora_atual;

//variável do tipo time_t para armazenar o tempo em segundos


time_t segundos;

//obtendo o tempo em segundos


time(&segundos);

//para converter de segundos para o tempo local


//utilizamos a função localtime
data_hora_atual = localtime(&segundos);

//para acessar os membros de uma struct usando o ponteiro


//utilizamos o operador -> no nosso caso temos:
//data_hora_atual->membro_da_struct

//Acessando dados convertidos para a struct data_hora_atual


printf("\nDia..........: %d\n", data_hora_atual->tm_mday);

//para retornar o mês corretamente devemos adicionar +1


//como vemos abaixo
printf("\nMes..........: %d\n", data_hora_atual->tm_mon+1);

//para retornar o ano corretamente devemos adicionar 1900


//como vemos abaixo
printf("\nAno..........: %d\n\n", data_hora_atual->tm_year+1900);

printf("\nDia do ano...: %d\n", data_hora_atual->tm_yday);


printf("\nDia da semana: %d\n\n", data_hora_atual->tm_wday);

/* Obtendo os valores da struct data_hora_atual


e formatando a saída de dados no formato
hora: minuto: segundo

Para não ficar um printf muito longo em uma única linha


de comando, quebrei a impressão em 3 partes mostrando
uma informação em cada linha
*/
printf("\nHora ........: %d:",data_hora_atual->tm_hour);//hora
printf("%d:",data_hora_atual->tm_min);//minuto
printf("%d\n",data_hora_atual->tm_sec);//segundo

/* Obtendo os valores da struct data_hora_atual


e formatando a saída de dados no formato dia/mes/ano

Para não ficar um printf muito longo em uma única


linha de comando, quebrei a impressão em 3 partes
sendo uma informação em cada linha
*/
//dia do mês
printf("\nData ........: %d/", data_hora_atual->tm_mday);
printf("%d/",data_hora_atual->tm_mon+1); //mês
printf("%d\n\n",data_hora_atual->tm_year+1900); //ano

return 0;
}

--------------CRIANDO MENU COM WHILE USANDO FUNÇÃO------------


#include<stdio.h>
void menu(){
printf("Selecione uma opcao: \n");
printf("\tSoma: +\n");
printf("\tSubtracao: -\n");
printf("\tMultiplicacao: *\n");
printf("\tDivisao: /\n");
printf("\tSair: s\n\n");
}

char ler_opcao()
{
char op;
int valido = 0;
while(valido == 0)
{
scanf("%c", &op);
switch(op){
case '+':
case '-':
case '/':
case '*':
case 's':
return op;
default:
printf("Opção inválida!\n\n");
menu();
}
}
}
int main(){
char op;
menu();
op = ler_opcao();

return 0;
}

--------------CRIANDO MENU COM WHILE USANDO FUNÇÃO MUDANDO POSIÇÃO


CURSOR------------
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <conio.h>
#include <locale.h>
#include <stdbool.h>

void linhaCol(int lin, int col);


void box(int lin1, int col1, int lin2, int col2);
int menu(int lin1, int col1, int qtd, char lista[3][40]);
void textColor(int letras, int fundo);
//COR DA LETRA
enum{BLACK, //0
BLUE, //1
GREEN, //2
CYAN, //3
RED, //4
MAGENTA, //5
BROWN, //6
LIGHTGRAY, //7
DARKGRAY, //8
LIGHTBLUE, //9
LIGHTGREEN, //10
LIGHTCYAN, //11
LIGHTRED, //12
LIGHTMAGENTA, //13
YELLOW, //14
WHITE //15

};
//COR DO FUNDO
enum{_BLACK=0, //0
_BLUE=16, //1
_GREEN=32, //2
_CYAN=48, //3
_RED=64, //4
_MAGENTA=80, //5
_BROWN=96, //6
_LIGHTGRAY=112, //7
_DARKGRAY=128, //8
_LIGHTBLUE=144, //9
_LIGHTGREEN=160, //10
_LIGHTCYAN=176, //11
_LIGHTRED=192, //12
_LIGHTMAGENTA=208, //13
_YELLOW=224, //14
_WHITE=240 //15
};

void textColor(int letra, int fundo){


SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), letra + fundo);
}

void linhaCol(int lin, int col){


SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),(COORD){col-1,lin-
1});// coorddenada na tela

//funcao para deixar o cursor invisivel


HANDLE consoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_CURSOR_INFO info;
info.dwSize = 100;
info.bVisible = FALSE;
SetConsoleCursorInfo(consoleHandle, &info);
}
void box(int lin1, int col1, int lin2, int col2){
int i,j , tamlin, tamcol;

//achar o tamanho do box


tamlin = lin2 - lin1;
tamcol = col2 - col1;

//Monta o Box

for (i=col1; i<=col2; i++){ // linhas


linhaCol(lin1,i);
printf("%c",196);
linhaCol(lin2,i);
printf("%c",196);
}

for (i=lin1; i<=lin2; i++){ //colunas


linhaCol(i,col1);
printf("%c",179);
linhaCol(i,col2);
printf("%c",179);
}
for (i=lin1+1;i<lin2;i++){
for(j=col1+1;j<col2;j++){
linhaCol(i,j);printf(" ");
}
}
//Posição dos cantos
linhaCol(lin1,col1);
printf("%c",218);
linhaCol(lin1,col2);
printf("%c",191);
linhaCol(lin2,col1);
printf("%c",192);
linhaCol(lin2,col2);
printf("%c",217);

}
int menu(int lin1, int col1, int qtd, char lista[3][40]){
int opc=1, lin2, col2, linha,i,tamMaxItem, tecla;

//calcula as coordenadas
tamMaxItem = strlen(lista[0]);
//tamanho maximo do item
for(i=1; i<qtd;i++){
if(strlen(lista[i])>tamMaxItem){
tamMaxItem = strlen(lista[i]);
}
}
lin2 = lin1+(qtd*2+2);
col2 = col1+tamMaxItem+4;

//Monta Tela
textColor(WHITE, _BLUE);
setlocale(LC_ALL,"C");
box(lin1,col1,lin2,col2);
setlocale(LC_ALL,"");
//laço das opcões
while(1){

linha=lin1+2;
for(i=0;i<qtd;i++){
if(i+1==opc)textColor(BLACK, _LIGHTGREEN);
else textColor(WHITE, _BLUE);
linhaCol(linha,col1+2);
printf("%s",lista[i]);
linha +=2;
}

//Aguarda tecla
linhaCol(1,1);
tecla= getch();
linhaCol(22,1);
//printf(" tecla: %d ",tecla);
//Opção
if(tecla==27){ //ESC
opc=0; break;
}
else if(tecla==13){ //ENTER
break;
}
//Seta para cima
else if(tecla==72){ //se possivel seleciona o item anterior - seta para cima
if(opc>1)opc--; // se opcao for maior que 1, pode voltar

}
else if(tecla==80 ){ //seta para baixo
if (opc<qtd)opc++; //Se opcao for menor que quantidade
de itens, posso avançar

//printf("tecla: %d ",opc);
}
}
return opc;
}

int main()
{
int opc;
char lista[5][40]={"Pizza de Frango", "Pizza Portuguesa", "Pizza Baiana",
"Pizza de Brocolis", "Pizza de Calabresa"};

setlocale(LC_ALL,"");
while(true){
opc = menu(10,10,5,lista);

if (opc==0){
break;
}

linhaCol(1,1);
textColor(WHITE, _RED);
printf("\nEscolheu a opção %d", opc);

}
textColor(WHITE, _BLACK);
linhaCol(24,1);
printf("");

return 0;
}

Você também pode gostar