- Estrutura Heterogênea
- Agrupamento de Campos
Sintaxe de Struct
struct <nome>{
<campos>
};
Struct são estruturas que lembram Classes em Orientação a Objetos fonte da imagem: whiskymemories.blogspot.com |
Sintaxe de Procedimento
void <nome_procedimento>(){
<campos>
}
Sintaxe de Função
<tipagem> <nome_função>{
<campos>
}
observações:
- Structs necessitam de ;(ponto e vírgula) depois do { }(abre e fecha chaves)
- Em procedimento depois do nome é necessário ()(abre e fecha parenteses)
- É necessário colocar a tipagem antes do nome da Função
1) Programa
#include <stdio.h>
#include <conio.h>
struct funcionario{
char nome[30];
float salario;
};
main(){
funcionario fun[5]; //inicializando a struct
/**********************declarando variáveis******************************************/
for(int i=0; i <5; i++){
printf("\n\t Digite o nome do funcionario.:");
gets(fun[i].nome);
printf("\n\t Digite o salario do funcionario.:");
scanf("%f",&fun[i].salario);
getchar(); //para limpar a string
} //fim for
/**********************pegando os valores******************************************/
for(int i=0; i <5; i++){
printf("\n\t O funcionario %s recebe %6.2f de salario",fun[i].nome,fun[i].salario);
} //fim for
/********************imprimindo os valores******************************************/
getch();
} //fim main
Nosso amigo fiel getchar() ;DD |
Uso de Struct em C++ fonte da imgem: bdfatec.blogspot.com.br |
Primeiro programa da noite, a struct funciona como uma classe em O.O., são fáceis de manipular, a única coisa que se deve prestar atenção é na sujeira de memória causada pelo comando gets(), por isso a necessidade de se utilizar o getchar(); ou fflush(stdin);
2) Programa
#include <stdio.h>
#include <conio.h>
int iVetor[6];
void preencher_vetor(){
for(int i=0; i < 6; i++){
printf("\n\t Digite um valor para o vetor.: ");
scanf("%d",&iVetor[i]);
}//fim for
} //fim preencher_vetor
/*****************procedimento para preencher o vetor*************/
void exibir_vetor(){
printf("\n\t Os valores digitados para o vetor sao.: ");
for(int i=0; i < 6; i++) printf("\n\t %d",iVetor[i]);
} //fim exibir_vetor
/*****************procedimento para imprimir o vetor*************/
main(){
preencher_vetor();
exibir_vetor();
/*****************chamando os procedimentos*************/
getch();
} //fim main
Procedimentos diferenciam de funções por não "devolverem" valores.
Uso de Procedimentos em C++ fonte da imagem: bdfatec.blogspot.com.br |
3) Programa
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
/*
Criar 4 funções com as operações básicas (digitadas no main) e o usuário deve escolher
qual operação quer usar.
*/
float soma(float x, float y){
return x + y;
}//fim soma
/**********função que calcula a soma*******************************************/
float sub(float x, float y){
if (x >y) return x - y;
else
return y - x;
}//fim sub
/**********função que calcula a subtração***************************************/
float div(float x, float y){
if(y != 0) return x/y;
}//fim div
/**********função que calcula a divisão****************************************/
float mult(float x, float y){
return x * y;
}//fim mult
/**********função que calcula a multiplicação**********************************/
main(){
float fNum1, fNum2,fResultado;
int op;
/**************declaração de variáveis************************************/
printf("\n\t Digite um numero.:");
scanf("%f",&fNum1);
printf("\n\t Digite um numero.:");
scanf("%f",&fNum2);
/**************pegando valores do usuário************************************/
do{
printf("\n\t Calculadora");
printf("\n\t Digite a opcao desejada");
printf("\n\t 1 - Somar");
printf("\n\t 2 - Subtrair");
printf("\n\t 3 - Dividir");
printf("\n\t 4 - Multiplicar");
printf("\n\t 0 - Sair \n\n\tOpcao desejada.:");
scanf("%d",&op);
/**************menu de escolha************************************************/
switch(op){
case 0:
break;
case 1:
fResultado=soma(fNum1,fNum2);
printf("\b\t A soma dos numeros digitados e: %5.2f",fResultado);
break;
case 2:
fResultado=sub(fNum1,fNum2);
printf("\n\t A subtracao dos numeros digitados e: %5.2f",fResultado);
break;
case 3:
if(fNum2 == 0) printf("\n\t Divisao invalida!!");
else{
fResultado=div(fNum1,fNum2);
printf("\n\t A divisao dos numeros digitados e: %5.2f",fResultado);
}
break;
case 4:
fResultado=mult(fNum1,fNum2);
printf("\n\t A multiplicacao dos numeros digitados e: %5.2f",fResultado);
break;
default:
printf("\n\t Digite um numero valido!!!");
break;
} //fim switch
/**************lógica para definir o que o usuário quer fazer*******************/
getch();
system("cls"); // limpa a tela
}while(op != 0);
} //fim main
Aqui a maior dificuldade é criar um menu do que propriamente as contas, visto que as funções simplificam o código. Os testes para evitar problemas com a divisão.
Uso de funções em C++ fonte da imagem: bdfatec.blogspot.com.br |
fonte: <Prof. Jean Daniel - Estrutura de Dados - Revisão II>
adaptado: arroyo, gabriel
Gostou do blog? Então segue =D
Gostou da postagem? Então comenta ;DDD
Fique por dentro das atualizações
Nenhum comentário:
Postar um comentário