You are on page 1of 28

PLANO DE TRABALHO

linguagem
Exercicios :C

Contato : Adalberto S. Moura


Telefone : 011- 86.99.99.12
Adalberto.moura@sigga.com.br

Introduo Linguagem C
Introduo : Noes Bsica

Agenda:
Entrada de dados
For (Lao )
Impresso dos dados
Data
Formatao / arredondamento dos dados
Hora
Alinhamento de valores na horizontal
Randomizao
Idem vertical
Sleep
Preenchendo valor com zeros
SCANF()
&
GETCHAR() / GETS / FGETS
TOUPPER converter caracter para maiscula
Cores
Alterando cores de fundo
Limpar a tela
Posicionamento de dados na tela (gotoxy)
Ateno : Bibliotecas :conio.h, conio.c, libconio.a

Introduo Linguagem C
Introduo : Noes Bsica

01 Ler um nmero e imprimir na tela o nmero digitado e o seu


endereo correspondente na memria:
#include <cstdlib>
#include <iostream>
#include <stdio.h>
int main ()
{
int num;
printf("Digite um numero: ");
scanf("%d",&num);
printf("\no numero eh %d",num);
printf("\no endereco e %u",&num);
/* ---------------------------------------*/
printf(" \n");
printf("*------------------------------* \n");
system("PAUSE");
system("cls"); /* limpra a tela */
return EXIT_SUCCESS;

Introduo Linguagem C
Introduo : Noes Bsica

02 Realizar os seguintes arredondamentos


#include <cstdlib>
#include <iostream>
#include <stdio.h>
int main ()
{
printf("\n%4.2f",3456.78);
printf("\n%3.2f",3456.78);
printf("\n%3.1f",3456.78);
printf("\n%10.3f",3456.78); //Observa
que acrescentado o zero
/* -----------------------------------------*/
printf(" \n");
printf("*------------------------------* \n");
system("PAUSE");
system("cls"); /* limpra a tela */
return EXIT_SUCCESS;
}

Introduo Linguagem C
Introduo : Noes Bsica

03 Realizar o alinhamento dos valores abaixo ( na horizontal)


#include <cstdlib>
#include <iostream>
#include <stdio.h>
int main ()
{
printf("\n%10.2f %10.2f %10.2f",8.0,15.3,584.13);
printf("\n%10.2f %10.2f %10.2f",834.0,1500.55,4890.21);
/* -----------------------------------------*/
printf(" \n");
printf("*------------------------------* \n");
system("PAUSE");
system("cls"); /* limpra a tela */
return EXIT_SUCCESS;
}

Introduo Linguagem C
Introduo : Noes Bsica

03.1 Realizar o alinhamento dos valores abaixo ( na vertical)


#include <cstdlib>
#include <iostream>
#include <stdio.h>
int main ()
{
printf("\n%10.2f",8.0);
printf("\n%10.2f",15.3);
printf("\n%10.2f",584.13);
printf("\n%10.2f",834.0);
printf("\n%10.2f",1500.55);
printf("\n%10.2f",4890.21);
/* -----------------------------------------*/
printf(" \n");
printf("*------------------------------* \n");
system("PAUSE");
system("cls"); /* limpra a tela */
return EXIT_SUCCESS;
}

Introduo Linguagem C
Introduo : Noes Bsica

04 Complementar valores com zeros


#include <cstdlib>
#include <iostream>
#include <stdio.h>
int main ()
{
printf("\n%04d",21);
printf("\n%06d",21);
printf("\n%6.4d",21);
//reservou
espao de 6 e imprimiu tamanho 4
printf("\n%6.0d",21);
/* -----------------------------------------*/
printf(" \n");
printf("*------------------------------* \n");
system("PAUSE");
system("cls"); /* limpra a tela */
return EXIT_SUCCESS;
}

Introduo Linguagem C
Introduo : Noes Bsica

SCANF() uma funo de I/O implementada em todos


compiladores C. uma funo complementar do printf() e nos
permite ler dados formatados atravs do teclado. Sintaxe :
scanf("expresso de controle", argumentos);
OBS:
A lista de argumentos deve consistir nos endereos das
variveis.

&

chamado como operador de endereos ( pq ? : A


memria do computador dividida em bytes, e so
numerados de 0 at o limite da memria. Estas posies so
chamadas de endereos. Toda varivel ocupa uma certa
localizao na memria, e seu endereo o primeiro byte
ocupado por ela.)

Introduo Linguagem C
Introduo : Noes Bsica
05 Receba um nmero pelo teclado, imprima o mesmo e o seu endereo
correspondente
#include <cstdlib>
#include <iostream>
#include <stdio.h>

int main ()
{
int num;
printf("Digite um numero: ");
scanf("%d",&num);
printf("\no numero eh : %d",num);
printf("\no endereco eh : %u",&num);
indicando o endereo do valor
/* -----------------------------------------*/
printf(" \n");
printf("*------------------------------* \n");
system("PAUSE");
system("cls"); /* limpra a tela */
return EXIT_SUCCESS;
}

//& esta

Introduo Linguagem C
Introduo : Noes Bsica

GETCHAR() - a funo original de entrada de caractere dos sistemas


baseados em UNIX. Armazena a entrada at que ENTER seja
pressionada.
GETS Recebe uma string digitada pelo usurio. gets no uma funo
segura, porque pode ocorrer um estouro da quantidade de posies que
foi especificada na string ( buffer) Exemplo: char buffer[10]; Uma forma de
se evitar este problema usar a funo fgets ( que muita usada para
leitura de arquivos )

Introduo Linguagem C
Introduo : Noes Bsica

06 Elabore um programa que receba nome [15], endereo[30] e


imprima na tela
#include <cstdlib>
#include <iostream>
#include <stdio.h>
int main ()
{
char v_nome [15]; //observa que um array de string
char v_end [30];
printf ("Informe o nome : ");
gets (v_nome); //usamos gets pq uma cadeia de string
printf ("Informe o endereco : ");
gets (v_end);
printf ("Nome: %s\n",v_nome);
printf ("Endereco: %s\n",v_end);
/* -----------------------------------------*/
printf(" \n");
printf("*------------------------------* \n");
system("PAUSE");
system("cls"); /* limpra a tela */
return EXIT_SUCCESS;
}

Introduo Linguagem C
Introduo : Noes Bsica
07 Receba um caracter via teclado em minscula e imprima em
maiscula
#include <cstdlib>
#include <iostream>
#include <stdio.h>
int main ()
{
char ch;
printf("digite uma letra minuscula : ");
ch=getchar();
putchar(toupper(ch)); /* ---- toupper converte caracter para maiscula ----*/
putchar('\n');
/* -----------------------------------------*/
printf(" \n");
printf("*------------------------------* \n");
system("PAUSE");
system("cls"); /* limpra a tela */
return EXIT_SUCCESS;
}

Introduo Linguagem C
Introduo : Noes Bsica

Outros comandos disponveis para trabalhar com cores esto em uma biblioteca
chamada conio.c, nela temos os comandos textbackground(corfundo); e
textcolor(cortexto).
OBS:
A vantagem destes comandos em relao ao system(color) que com eles
podemos mudar a cor do texto e de fundo vrias vezes durante o mesmo programa.
As cores devem ser definidas pelos seu nmeros em Hexadecimal (ex. Verde
claro = A)
Outros comandos disponveis para trabalhar com cores esto em uma biblioteca
chamada conio.h, nela temos os comandos textbackground(corfundo); e
textcolor(cortexto)

Introduo Linguagem C
Introduo : Noes Bsica

conio.c
conio.h

libconio.a

Introduo Linguagem C
Introduo : Noes Bsica
08 Alterando Cores : colocar a cor de fundo como preto e de texto em azul
#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
int main ()
{
system("color 01");
printf("Meu texto na cor azul\n");
printf("UNIVERSIDADE DE GUARULHOS\n");
/* -----------------------------------------*/
printf(" \n");
printf("*------------------------------* \n");
system("PAUSE");
system("cls"); /* limpa a tela */
return EXIT_SUCCESS;
}

Introduo Linguagem C
Introduo : Noes Bsica
09 Construir uma tela de menu de opes na cor verde
#include <cstdlib>
#include <iostream>
Hexadecimal
#include <stdio.h>
#include <stdlib.h>
int main ()
{
system("color a"); // ----- verde claro
printf("01 - Notas do Aluno\n");
printf("02 - Faltas do Aluno\n");
printf("03 - Historico Escolar\n");
printf("04 - Fim\n");
/* -----------------------------------------*/
printf(" \n");
printf("*------------------------------* \n");
system("PAUSE");
system("cls"); /* limpa a tela */
return EXIT_SUCCESS;
}

Introduo Linguagem C
Introduo : Noes Bsica
10 Construir um programa que altere as cores para : Azul, vermelho,
amarelo e branco . Cujo a tela cor de fundo seja verde gua.
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include "conio.c"
int main()
{
textbackground(3); //define a cor de fundo como
verde gua

textcolor(1);
printf("Meu texto na cor azul ");
printf(" \n");
printf("*------------------------------* \n");
textcolor(4);
printf("Meu texto na cor vermelho ");
printf(" \n");
printf("*------------------------------* \n");
textcolor(6);

printf("Meu texto na cor amarelo ");


printf(" \n");
printf("*------------------------------* \n");
textcolor(15);
printf("Meu texto na cor branco
brilhante ");
/* -----------------------------------------*/
printf(" \n");
printf("*------------------------------* \n");
system("PAUSE");
system("cls"); /* limpa a tela */
return EXIT_SUCCESS;
}

Introduo Linguagem C
Introduo : Noes Bsica
LIMPAR TELA
Outro comando importante em se tratando de tela, o comando para limpar a tela,
existem 2 comandos que pode ser usados para tal. No momento que o compilador
encontra um destes comandos ele limpa a tela e coloca o que vem aps ele em
uma tela nova.
system (cls); // biblioteca <stdlib.h>
clrscr();// biblioteca <conio.c>

POSICIONAMENTO TEXTO
A biblioteca conio possui um comando para definir a posio de um texto na janela.
A janela em que os comandos so executados tem um tamanho mximo de 80
colunas por 24 linhas.
O comando usado : gotoxy(x,y); //posiciona em determinada coluna (x) e
determinada linha (y)

Introduo Linguagem C
Introduo : Noes Bsica
11 Construa um menu de opes, posicionando o mesmo no centro da tela
( conforme modelo abaixo)

Cor de fundo alterada


Centro da tela

Introduo Linguagem C
Introduo : Noes Bsica
11 Soluo
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include "conio.c
int main()
{
int opcao;
textbackground(3); //define a cor de fundo
textcolor(4); // cor vermelha

textbackground(0); //define a cor de fundo como preto


textbackground(3); //define a cor de fundo como verde
gua

textcolor(4); // cor vermelha


gotoxy(70,22); //posiciona o texto na coluna 70 e linha 22
printf("Opcao: ");
scanf("%d",&opcao);
verde gua

gotoxy(30,10); //posiciona o texto na coluna 30 e linha 10


printf("01 - Notas do Aluno ");
gotoxy(30,11); //posiciona o texto na coluna 30 e linha 11
printf("02 - Faltas do Aluno ");
gotoxy(30,12); //posiciona o texto na coluna 30 e linha 12
printf("03 - Historico Escolar");
gotoxy(30,13); //posiciona o texto na coluna 30 e linha 13
printf("04 - Fim
");

/* -----------------------------------------*/
printf(" \n");
system("PAUSE");
system("cls"); /* limpa a tela */
return EXIT_SUCCESS;

Introduo Linguagem C
Introduo : Noes Bsica
12 Construa um menu de opes, posicionando o mesmo no centro da tela, incluindo
a opo. Acrescentar uma borda em volta do menu. Incluindo data e hora do sistema
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include "conio.c"
int main()
{
int opcao;
int col;
int lin;
textbackground(3); //define a cor de fundo como verde gua
textcolor(4); // cor vermelha
gotoxy(30,10); //posiciona o texto na coluna 30 e linha 10
printf(" 01 - Notas do Aluno ");
gotoxy(30,11); //posiciona o texto na coluna 30 e linha 11
printf(" 02 - Faltas do Aluno ");
gotoxy(30,12); //posiciona o texto na coluna 30 e linha 12
printf(" 03 - Historico Escolar");

gotoxy(30,13); //posiciona o texto na coluna 30 e linha 13


printf(" 04 - Fim
");
// -------- contruindo as bordas na
horizontal---------for (col=29; col<54; col++)
{
gotoxy(col,9);
printf("=");
gotoxy(col,14);
printf("=");
}
// -------- contruindo as bordas na
vertical---------for (lin=10; lin<14; lin++)
{
gotoxy(29,lin);
printf("|");
gotoxy(53,lin);
printf("|");
}

Introduo Linguagem C
Introduo : Noes Bsica
12 Continuao
// ------ imrimindo data e hora ----gotoxy(66,01);
system ( "date /t" );
gotoxy(75,02);
system ("time /t");
// ---- podemos utilizar esse recurso >>> printf("DATA :%s
HORA:%s",__DATE__,__TIME__);

textbackground(0); //define a cor de fundo como preto


textbackground(3); //define a cor de fundo como verde
gua

textcolor(4); // cor vermelha


gotoxy(70,22); //posiciona o texto na coluna 70 e linha 22
printf("Opcao: ");
scanf("%d",&opcao);
/* -----------------------------------------*/
printf(" \n");
system("PAUSE");
system("cls"); /* limpa a tela */
return EXIT_SUCCESS;

Data e Hora

Introduo Linguagem C
Introduo : Noes Bsica
13 Randomizao (Animaes/jogos)
Em alguns problemas precisamos gerar nmeros aleatrios, ou seja, que no
sejam definidos por usurio e que mudem cada vez que o programa for executado,
para isso podemos usar o comando rand().
O comando funciona da seguinte forma:
Primeiro definimos o random:srand(time(NULL));
Depois atribumos a ele uma varivel (ele randomiza de acordo com o horrio do
sistema).
E podemos colocar um mod, de modo que ele defina um limite.
variavel1 = rand() % 10; // at 10.
variavel2 = rand() % 30; // at 30

Introduo Linguagem C
Introduo : Noes Bsica
13 Soluo
#include <stdlib.h>
#include <stdio.h>
#include<time.h>
int num, variavel1;
int main()

{
printf("\nDigite um numero de 1 a 10 :");
scanf("%d",&num);
srand(time(NULL));
variavel1 = rand() % 10; //----- limite determinado at 10.
printf ("\n o numero randomico gerado foi :
%d",variavel1);
if (num==variavel1)
printf("\n Numero %d. Parabens voc
acertou!!",variavel1);
else
printf("\n Ops voce errou!! Numero %d.
",variavel1);

if (num==variavel1)
printf("\n Numero %d. Parabens voc
acertou!!",variavel1);
else
printf("\n Ops voce errou!! Numero %d.
",variavel1);
/* -----------------------------------------*/
printf(" \n");
printf("*------------------------------* \n");
system("PAUSE");
system("cls"); /* limpa a tela */
return EXIT_SUCCESS;

Introduo Linguagem C
Introduo : Noes Bsica
14 Descobrindo Cdigo ASCII
#include <stdlib.h>
#include <stdio.h>
int main()
{
int x,y=256;
/// ---- descobrinco codigo Asc II ---------//-------printf("Tabela ASCII:\n\n");
for(x=0; x<y; x++)
{
printf("Numero ASCII %d = %c\n",x,x);
};
//------------ printf("%c",2);
/* -----------------------------------------*/
printf(" \n");
printf("*------------------------------* \n");
system("PAUSE");
system("cls"); /* limpa a tela */
return EXIT_SUCCESS;
}

Introduo Linguagem C
Introduo : Noes Bsica
15 Simule um disco voador correndo na tela e soltando duas bombas em
colunas aleatrias
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include "conio.c"
#include<time.h>
int main()
{
int col;
int lin;
int bomba=190;
int bombb=190;
int p_bomba;
int p_bombb;
// -------- definindo as posicoes das bombas ---------srand(time(NULL));

p_bomba= rand() % (70);


p_bombb= rand() % (75);
printf("p.da bomba_01 %d\n",p_bomba);
printf("p da bomba_02 %d\n",p_bombb);

// -------- criando o Disco Voador ---------for (col=1; col<77; col++)


{
gotoxy(col,2);
printf("_____");
gotoxy((col+1),2);
printf("%c",2); //---- imprimindo codigo Asc II
gotoxy((col-2),2);
Sleep(90); //------ adomece por milesegundos
// ----- soltando as bombas -----if (col == p_bomba)
printf("%c",bomba);
if (col == p_bombb)
printf("%c",bombb);
printf(" "); //------ limpando o rastro
}
gotoxy(75,2);
printf("
");

Introduo Linguagem C
Introduo : Noes Bsica
15 Continuao

/* -----------------------------------------*/
printf(" \n");
printf("*------------------------------* \n");
system("PAUSE");
system("cls"); /* limpa a tela */
return EXIT_SUCCESS;

Dvidas

You might also like