1.
Struct....................................................................................................................................2
1.1
c.
Registro de Reunio.......................................................................................................20
d.
Descrio do Negcio....................................................................................................21
i.
ii.
Arquitetura do Software.................................................................................................21
f.
Planos de Testes.............................................................................................................21
g.
Alocao de recursos.....................................................................................................22
h.
Estratgia de Implantao..............................................................................................22
2.
Softwares...........................................................................................................................22
3.
Metodologias.....................................................................................................................22
4.
ETAPA 2 PASSO 1.
1. Struct
Structs, que servem para manusear uma quantidade maior de informaes de uma maneira
mais simples, eficiente e de tipos diferentes.
Uma Struct uma estrutura de armazenamento em bloco de diversas informaes.
Dentro dessa estrutura podemos criar uma estrutura com o varivel tipo int e outra estrutura
com o varivel tipo string e outro tipo float. Exemplo pode criar uma estrutura para cadastro
de um funcionrio com int para idade, string para seu nome e float para salrio.
Assim, sempre que quisssemos um dado de um funcionrio, bastaramos ter acesso a strutura
dele, e todas as informaes viriam juntas.
As estruturas podem conter quantos elementos e tipos que necessitem, basta voc escolher a
estrutura e depois declarar seus nomes e elementos.Depois s definir quantos elementos vai
conter e os declarar com nomes diferentes.
Aps isso, em vez de voc manipular as milhares de variveis dos mais diversos tipos que
tenha criado, voc trabalha s com a estrutura.
Assim no tem que se preocupar com cada detalhe da estrutura. Esses detalhes so definidos
somente uma vez, na declarao da estrutura.
tructs so muito usadas quando temos elementos em nossos programas que precisam e fazem
uso de vrios tipos de variveis e caractersticas.
Usando struct, podemos trabalhar com vrios tipos de informaes de uma maneira mais fcil,
rpida e organizada, uma vez que no temos que nos preocupar em declarar e decorar o nome
de cada elemento da struct.
Por exemplo, vamos supor que voc foi contratado para criar um aplicativo de uma escola.
As structs servem para voc organizar as informaes de uma maneira mais otimizada.
2
struct Funcionario
{
int idade;
char *nome;
float salario;
4
Criamos 3 funcionrios desse tipo, e todos eles tero os mesmos elementos internos, com os
mesmos nomes: idade, nome e salario.
Se tem o mesmo nome, como vamos diferenciar esses elementos?
Pelo nome da varivel do tipo struct Funcionario.
Agora existem 3 variveis do tipo struct Funcionario: empregado1, chefe e secretaria.
So usados dois operadores para acesso a membros de estruturas: O operador de
membro de estrutura (.) tambm chamado operador de ponto e o operador de
ponteiro de estrutura ( ->) tambm chamado operador de seta. O operador de
membro de estrutura acessa um membro de uma estrutura por meio do nome da varivel
da estrutura. Por exemplo, para imprimir o membro funcionario da estrutura a da declarao
anterior, use a instruo
printf("%s", a.funcionario);
Apenas isso, basta botar um ponto aps o nome que voc escolheu para a struct.
Aps isso, estamos acessando normalmente a varivel:
chefe.idade -> um inteiro como outro qualquer.
empregado1.nome -> uma string como outra qualquer.
secretaria.salario -> um float como outro qualquer.
1.3
Para fazer, a funo deve ser declarada de modo a esperar receber, como
argumento, um endereo de memria. Ou seja, o parmetro um ponteiro. A
nossa funo preenche seria:
void Preenche(CARRO *car);
E para passar para struct ? Temos que passar o endereo de memria dessa
estrutura, e isso feito colocando o operador & antes do nome da struct:
Preenche(&fusca);
O problema vem quando vamos tratar a estrutura dentro da funo, pois
devemos ter um cuidado especial e aqui onde os iniciantes costumam se
confundir e se complicar.
A funo vai receber um ponteiro car de uma estrutura. Para alterarmos os
membros da estrutura, temos que usar o asterisco antes do ponteiro. O ponteiro
em si s um endereo de memria, o valor para qual esse ponteiro aponta
obtido quando colocamos um asterisco antes do nome do ponteiro.
Por exemplo, para preenchermos o campo modelo:
gets( (*car).modelo);
E para acessar o elemento que armazena a potncia do motor?
(*car).potenciaMotor
E para alterar esse valor, dentro da funo scanf(), por exemplo?
scanf("%f", &(*car).potenciaMotor);
ETAPA 2 PASSO 2.
B) Escrever um programa que cadastre vrios produtos. Em seguida, imprima uma lista
com o cdigo e nome da cada produto. Por ltimo, consulte o preo de um produto
atravs de seu cdigo
C)
D)
E) Crie um programa na linguagem C que define a estrutura de um carro, altere seus
dados atravs de uma funo (use passagem por referncia e o operador ->) bem
como use outra funo para exibir os membros da struct.
F)
G) Defina um tipo Aluno, com nome, matricula, turma e nota de 3 provas.
Defina funes para leitura e impresso de um aluno.
Defina uma funcao que calcula sua mdia final (a funo pede que o usurio digite
uma quarta nota caso ele tenha ficado de prova final).
H) Defina uma estrutura que ir representar bandas de msica.
Essa estrutura deve ter o nome da banda, que tipo de msica ela toca, o
nmero de integrantes e em que posio do ranking essa banda est
dentre as suas 5 bandas favoritas.
ETAPA 2 PASSO 3.
main()
{
int i;
struct Pessoa {char nome [20]; int idade; float peso; char sexo;};
struct Pessoa p [3];
#include <stdio.h>
typedef struct {
long codigo;
char nome[100];
float preco;
} Produto;
#define QUANTIDADE_DE_PRODUTOS 5
int main(){
Produto produtos[QUANTIDADE_DE_PRODUTOS];
printf("Campos: codigo-do-produto nome preco\n");
E) Crie um programa na linguagem C que define a estrutura de um carro, altere seus dados
atravs de uma funo (use passagem por referncia e o operador ->) bem como use outra
funo para exibir os membros da struct.
typedef struct
{
char modelo[30];
float potenciaMotor;
int anoFabricacao,
numPortas;
}CARRO;
printf("Motor: ");
scanf("%f", &car->potenciaMotor);
printf("Ano: ");
scanf("%d", &car->anoFabricacao);
int main(void)
{
CARRO fusca;
Preenche(&fusca);
Exibe(fusca);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
10
typedef struct {
char nome[30];
char mat[10];
char turma[10];
11
if ( m < 60 ) {
m = 0.4*m + 0.6*p->pf;
}
return m;
if ( m < 60 ) {
printf ("Aluno de prova final. Digite nota da PF: ");
scanf ("%lf", &pf);
m = 0.4*m + 0.6*pf;
}
return m;
12
}*/
leAluno (&a);
imprimeAluno (&a);
m = media (&a);
return 0;
}*/
printf ("O aluno com maior media (%.2f) foi %s.\n", media (&v[m]),
v[m].nome);
}
13
int n;
Aluno *v;
// numero de alunos
// vetor de alunos
int i;
return 0;
}
H)
Defina uma estrutura que ir representar bandas de msica.
Essa estrutura deve ter o nome da banda, que tipo de msica ela toca, o nmero
14
#include <stdio.h>
#include <stdlib.h>
}
}
void exibe_preferencia(banda *exib)
{
int cont;
for(cont=0;cont<3;cont++)
{
printf("\n\nBanda: %s",exib[cont].nome_banda);
printf("\nEstilo: %s",exib[cont].estilo_musical);
printf("\nIntegrantes: %d",exib[cont].n_integrantes);
printf("\nPosicao: %d",exib[cont].position_ranking);
}
}
void procura(banda *busca)
{
fflush(stdin);
char musica2[50];
int compara=0,cont;
printf("\nInforme seu tipo de musica: ");
gets(musica2);
fflush(stdin);
for(cont=0;cont<100;cont++)
{
if(strcmp(busca[cont].estilo_musical,musica2)==0){
compara=1;
printf("\nBanda: %s",busca[cont].nome_banda);
}
if(busca[cont].nome_banda=='\0')
break;
}
if(compara==1)
printf("\nencontrado");
else
printf("\nausente");
}
main()
{
banda p[3];//variavel do tipo banda.
char musica[15];
preferencia(p);
procura(p);
16
exibe_preferencia(p);
getch();
return 0;
}
17