Rotinas em C++
Prof. Renato L. Cardoso
Criando Funções
Um programa em C é formado por um conjunto de funções.
- Declarando uma função:tipo identificador(lista de parâmetros){
declaração de variáveis locais; comando ou bloco de comandos;
}
Comando returnreturn
#include <stdio.h>#include <math.h>float calc_sin(float arg)
{ float val;val = sin(arg);return(val); }
int main(int argc, char *argv[]){ float valor;
valor = calc_sin(50);printf("%f",valor);
getch();}
Rotinas
demo() { printf("Hello"); int total = 1; printf (“%d”,total}
Int main() { demo(); }
Funçao RAND()
#include <stdio.h>#include <math.h>#include <stdlib.h>int main(int argc, char *argv[]){ int magico, entrada; magico = rand(); printf( "Adivinhe o numero: "); scanf("%d",&entrada); if (entrada == magico) printf (" == Você acertou =="); else printf (" Voce não acertou. O numero era %d ", magico); getch( ); system ("Pause");
}
Switch... Case
Permite a realização de múltiplas comparações com base em uma única variável.
Exemplo:
#include <stdio.h>#include <math.h>#include <stdlib.h>
void main ( ){ char opcao;
printf("\nA - imprime a letra f"); printf("\nB - imprime a letra g"); printf("\nC - imprime a letra h"); opcao = getch( ); switch(opcao) { case 'a': printf("\nf");break; case 'b': printf("\ng");break; case 'c': printf("\nh");break; }system ("Pause");}
GETCH();
Permite obter um caractere digitado pelo usuário.
Pode ser utilizado com ou sem variável.
GETCH();
void main ( ){ char a; do { printf ("Pressione algumas teclas..."); a=getch(); } while (a!=13); system ("Pause");}
Comando FOR
#include <stdio.h>#include <math.h>#include <stdlib.h>#include <string.h>
void main ( ){ int x; for ( x=1;x<=100;x++) printf ( "%d",x); getch( ); }
Usando Stringsvoid main ( ){ char a[20]; printf ("Digite uma palavra..."); int i=1; do { a[i]="?"; } while (i++<=20); i=1; do { a[i]=getche();a[i]=getche(); i=i+1; } while (i<20 && a[i-1]!=13); i=1; do { printf ("\n %c",a[i]); } while (i++<=20); system ("Pause");}
Strcpy();
#include <stdio.h>#include <math.h>#include <stdlib.h>#include <string.h>
void main ( ){ char a[5]; char b[5]; strcpy (a,"Hello"); strcpy (b,"Hello"); printf ("%s %s",a,b); system ("Pause");}
Comparando strings
#include <stdio.h>#include <math.h>#include <stdlib.h>#include <string.h>void main ( ){ char a[5]; char b[5]; int c; strcpy(a,"Hello"); strcpy(b,"Hello"); c=strcmp(a,b);c=strcmp(a,b); if (c!=0) { printf ("Sao diferentes"); } else { printf("Sao iguais"); } system ("pause"); }
Outras funções:
gets ( str): lê a string str via teclado;puts ( str): imprime string str ;strcpy (s1, s2 ): copia o conteúdo de s2
para s1; strcat ( s1, s2): anexa s2 ao final de s1;strcmp (s1,s2): retorna 0 se as duas
strings forem iguais;strlen (str): calcula e retorna o
comprimento de str;
Exemplo
#include <stdio.h>#include <math.h>#include <stdlib.h>#include <string.h>void main ( ){ char a[5]; char b[5]; printf ("Digite uma palavra para A..."); gets(a); printf ("%s",a); printf ("Digite uma palavra para B..."); gets(b); puts (b); system ("Pause"); }
Usando Strings
#include <stdio.h>#include <math.h>#include <stdlib.h>#include <string.h>void main ( ){ char a[20];char a[20]; printf ("Digite um comando para executar..."); gets(a);gets(a); system (a);system (a); system ("Pause"); }
Exercício 01
Construa um programa para pedir ao usuário um comando e um prazo em horas e minutos para executar o comando.
O computador deve começar uma contagem regressiva e quando a contagem chegar a 0, deve executar o comando.
Exercício 02
Arquivos com a extensão .BAK, .OLD, .TMP. ~MP, ~XE, $$$, 1ST, 2ND são considerados temporários.
Construa um programa que quando executado realize uma limpeza na unidade C, na pasta Winnt , Temp e na pasta system32 excluindo estes arquivos. (Comando DEL)
O programa deve permitir ao usuário informar se o mesmo deve apagar todas as extensões temporárias ou apenas os arquivos BAK e OLD.