Exercícios Em C

28
PLANO DE TRABALHO linguagem Exercicios :C Contato : Adalberto S. Moura Telefone : 011- 86.99.99.12 [email protected]

description

Alguns exercícios simples sobre linguagem C.

Transcript of Exercícios Em C

  • linguagem Exercicios :CContato : Adalberto S. MouraTelefone : 011- [email protected]

  • Introduo Linguagem C Introduo : Noes Bsica Agenda: Entrada de dados Impresso dos dados Formatao / arredondamento dos dados Alinhamento de valores na horizontal Idem vertical 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 For (Lao ) Data Hora Randomizao Sleep

  • Introduo Linguagem C Introduo : Noes Bsica01 Ler um nmero e imprimir na tela o nmero digitado e o seu endereo correspondente na memria: #include #include #include

    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 Bsica02 Realizar os seguintes arredondamentos#include #include #include

    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 Bsica03 Realizar o alinhamento dos valores abaixo ( na horizontal)#include #include #include

    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 Bsica03.1 Realizar o alinhamento dos valores abaixo ( na vertical)#include #include #include

    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 Bsica04 Complementar valores com zeros#include #include #include

    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 BsicaSCANF() 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 Bsica05 Receba um nmero pelo teclado, imprima o mesmo e o seu endereo correspondente #include #include #include

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

  • Introduo Linguagem C Introduo : Noes BsicaGETCHAR() - 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 Bsica06 Elabore um programa que receba nome [15], endereo[30] e imprima na tela#include #include #include 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 Bsica07 Receba um caracter via teclado em minscula e imprima em maiscula#include #include #include 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 BsicaOutros 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 Bsicaconio.hconio.clibconio.a

  • Introduo Linguagem C Introduo : Noes Bsica08 Alterando Cores : colocar a cor de fundo como preto e de texto em azul#include #include #include #include

    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 Bsica09 Construir uma tela de menu de opes na cor verde#include #include #include #include

    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;}Hexadecimal

  • Introduo Linguagem C Introduo : Noes Bsica10 Construir um programa que altere as cores para : Azul, vermelho, amarelo e branco . Cujo a tela cor de fundo seja verde gua. #include #include #include #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 BsicaLIMPAR TELAOutro 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 clrscr();// biblioteca

    POSICIONAMENTO TEXTOA 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 Bsica11 Construa um menu de opes, posicionando o mesmo no centro da tela ( conforme modelo abaixo) Cor de fundo alteradaCentro da tela

  • Introduo Linguagem C Introduo : Noes Bsica11 Soluo #include #include #include #include "conio.cint main(){ int opcao; textbackground(3); //define a cor de fundo 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 ");

    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;}

  • Introduo Linguagem C Introduo : Noes Bsica12 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 #include #include #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

  • Introduo Linguagem C Introduo : Noes Bsica12 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 Bsica13 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 Bsica13 Soluo#include #include #includeint 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 Bsica14 Descobrindo Cdigo ASCII#include #include

    int main(){ int x,y=256; /// ---- descobrinco codigo Asc II ---------- //-------printf("Tabela ASCII:\n\n"); for(x=0; x

  • Introduo Linguagem C Introduo : Noes Bsica15 Simule um disco voador correndo na tela e soltando duas bombas em colunas aleatrias#include #include #include #include "conio.c"#include

    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

  • Introduo Linguagem C Introduo : Noes Bsica15 Continuao /* -----------------------------------------*/ printf(" \n"); printf("*------------------------------* \n"); system("PAUSE"); system("cls"); /* limpa a tela */ return EXIT_SUCCESS;}

  • Dvidas

    ****************************