Módulo procedimento não parametrizado

   Este tipo de módulo não retorna valores, somente irá executar uma

tarefa ou rotina.

O módulo abaixo é um módulo procedimento não parametrizado, pois

a chamada da rotina não esta passando qualquer tipo de parâmetros.



   
#include <stdio.h>

#include <stdlib.h>

#include <conio2.h>
main(){ soma();

printf("\n");

system("pause");

} soma(){ int a, b, r ;

a = 1;

b = 2;

r = 0;

r = a + b;

printf("%d",r);



}

Início


 
  

Exemplo de modulo procedimento

Calculadora #include <stdio.h> #include <stdlb.h> #include <conio2.h>
char TECLA; float R,A,B; main(){ R = A = B = 0; int opcao = 0;//Variável privada. while( opcao != 5){ clrscr();//Limpa tela ou system("cls").
printf("Menu da calculadora\n");
printf("---------------------\n\n");
printf("1 - Soma \n");
printf("2 - Subtracao \n");
printf("3 - Multiplicacao \n");
printf("4 - Divisao \n");
printf("5 - Sair do programa \n\n");
printf("Escolha a opcao: ");
scanf("%d",&opcao);
if (opcao != 5){
switch(opcao){
case 1 : rotsoma(); break;
case 2 : rotsubtracao(); break;
case 3 : rotmultiplica(); break;
case 4 : rotdivisao(); break;
default : printf("Opcao invalida - somente 1 2 3 4 ou 5");
TECLA = getche();//system("pause").
}//FIM DA ESCOLHA.
}//FIM DA DECISAO SIMPLES.
}//fIM DO LAÇO. }//Fim da rotina principal. //Rotina de soma - modulo procedimento não parametrizado. rotsoma(){ clrscr();//Limpa Tela. printf("Rotina de Soma"); printf("--------------\n\n"); printf("Entre com o valor para A : "); scanf("%f",&A); printf("Entre com o valor para B : "); scanf("%f",&B); //Processamento. R = A + B; printf("\nO resultado da soma %4.2f \n", R); printf("\nAperte qualquer tecla\n"); TECLA = getche();//system("pause"). } //Rotina de subtração. rotsubtracao(){ clrscr();//Limpa Tela. printf("Rotina de subtracao"); printf("--------------\n\n"); printf("Entre com o valor para A : "); scanf("%f",&A); printf("Entre com o valor para B : "); scanf("%f",&B); //Processamento. R = A - B; printf("\nO resultado da subtracao %4.2f \n", R); printf("\nAperte qualquer tecla\n"); TECLA = getche();//system("pause"). } //Rotina de multiplicação. rotmultiplica(){ clrscr();//Limpa Tela. printf("Rotina de Multiplicacoa"); printf("------------------------\n\n"); printf("Entre com o valor para A : "); scanf("%f",&A); printf("Entre com o valor para B : "); scanf("%f",&B); //Processamento. R = A * B; printf("\nO resultado da multiplicacao %4.2f \n", R); printf("\nAperte qualquer tecla\n"); TECLA = getche();//system("pause"). } //Rotina de divisão. rotdivisao(){ clrscr();//Limpa Tela. printf("Rotina de Divisao"); printf("------------------------\n\n"); printf("Entre com o valor para A : "); scanf("%f",&A); printf("Entre com o valor para B : "); scanf("%f",&B); //Processamento. R = A / B; printf("\nO resultado da divisao %4.2f \n", R); printf("\nAperte qualquer tecla\n"); TECLA = getche();//system("pause"). } //Fim do programa.
 
   Resultado do programa
   
   Menu da calculadora
   -------------------
   
   1 - Soma
   2 - Subtracao
   3 - Multiplicacao
   4 - Divisao
   5 - Sair do programa
   
   Escolha a opcao:
  



Início

Módulo Procedimento Parametrizado

Corpo básico da Agenda

#include <stdio.h>
#include <stdlb.h>
#include <conio2.h>
#include <string.h>

 struct registro
                {
                 int   cod;
	        char  nome[40];
                 char  fone[20];
                 char  celular[20];
	        char  email[30];
		}; 
				
 struct registro dados[10];
 int posi = 0;//Incremento da posição do vetor.
 
main(){
 
  int op = 0;
   
   while(op != 6){
    switch(menu()){
     case 1:insere();break;
     //case 2:proc_cod();break;
     //case 3:proc_nome();break;
     //case 4:corrige();break;
     //case 5:apaga();break;
     case 6:op = 6;break;
     default:printf ("ERRO - somente 1-2-3-4-5-6\n");
    }
   }//Fim do laço.
     
    // printf("Tecle algo para continuar : "); tecla = getche();   
 }//Fim do programa principal.

 int menu(){
  int op = 0;
  system("cls");
  printf("  M E N U   D O  S I S T E M A\n");
  printf("\n");
  printf(" 1. Insere novo contato.\n");
  printf(" 2. Procura contato pelo codigo.\n");
  printf(" 3. Procura contato pelo nome.\n");
  printf(" 4. Alteracao de dados.\n");
  printf(" 5. Apaga contato.\n");
  printf(" 6. Sair da agenda.\n");
  printf("\n");
  printf("Entre com a opcao >> ");scanf("%d",&op);
  return op;bf(); 
 }//Fim da função menu().  
 
 
 insere(){
   if(posi != 9){
    insere_reg();
    posi++;
    }
   else{
    printf("\nArquivo cheio");
    system("pause");
   }
 }//fim da função insere
 
 int vexiste(int y){
  int exst = 1;   
  int i = 0;

  while(i <= 9){
    //printf("%d",dados[i].cod);system("pause");
    if(y == dados[i].cod){
     printf("Codigo ja existe ....\n");
     exst = 0;
    }
    i++; 
  }
   return exst;  
 }
 
 bf(){
  fflush(stdin); // Limpa o buffer do teclado 
 }
  
 insere_reg(){
  int   vcod = 0;
  int   x    = 0;
  system("cls");
  printf("============================================\n");
  printf(" INSERIR CONTATO NO ARQUIVO\n");
  
  while(x != 1){
   printf("Entre com o codigo do novo contato : ");
   scanf("%d",&vcod);bf();
   x = vexiste(vcod);
  }
  dados[posi].cod = vcod;
  bf();
  printf("\n");
  printf("Entre com o nome             : ");gets(dados[posi].nome);bf();
  printf("\nEntre com o telefone       : ");gets(dados[posi].fone);bf();
  printf("\nEntre com o celular        : ");gets(dados[posi].celular);bf();
  printf("\nEntre com o email          : ");gets(dados[posi].email);bf();
  
 }
   

Início


Início

Ponteiros

Programa com ponteiros

Ponteiros
São um tipo especial de variáveis que permitem armazenar endereços
de memória em vez de dados numéricos ou caracteres.
 Variável -> É um espaço reservado de memória usado para guardar um       
             valor que pode ser modificado pelo programa.
 Ponteiro -> É um espaço reservado de memória usado para guardar um
             endereço de memória.

Os operadores "*" e "&"
Ao se trabalhar com ponteiros, duas tarefas básicas serão sempre 
executadas:
 Acessar o endereço de memória de uma variável.
 Acessar o conteúdo de um endereço de memória.
Exemplo de programação com ponteiros em linguagem C:

#include 
#include 
int main(void) {
int count = 10;
//Declara um ponteiro para int.
int *p;
//Atrinui ao ponteiro o valor de count.
p = &count;
printf("Conteudo apontado por *p: %d \n",*p);
//Novo valor a posição de memória.
*p = 12;
printf("Conteudo alterado em *p: %d \n", *p);
printf("Conteudo de count : %d \n", count);
return 0;
}

   

Início