Oi pessoal, estou publicando um dos exercícios da prova de Estrutura de Dados sobre listas dinâmicas que fiz em parceria com meu amigo Thiago Castello que é fera em linguagem C.
segue o código.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
 
 
#include <stdio.h> //carrega as bibliotecas
#include <stdlib.h>
 
//declaracao da lista
struct No{
        int valor;
        struct No * prox;
       };
 
struct No * Lista;
 
int main (void){
  Lista = NULL;
  int opcao;
  int x;
 
  do {
   printf ("nn Digite a opcao desejada:");
   printf ("n 1-inserir ");
   printf ("n 2-remover ");
   printf ("n 3-buscar ");
   printf ("n 4-Sair do programa nn");
   scanf ("%d", &opcao);
 
   switch (opcao){
 
     case 1:
           {
             printf ("nDigite o preco: ");
             scanf ("%d", &x);
 
             struct No * aux= (struct No *) malloc (sizeof (struct No));
             aux -> valor = x;
             aux-> prox = Lista;
             Lista =aux;
             printf ("n preco adicionado!n");
             break;
             }
 
    case 2: //remover
             {
               printf ("npreco a ser removido");
               scanf ("%d", &x);
               struct No * aux;
               struct No * ant;
 
               aux = Lista;
               ant = NULL;
               while (aux != NULL){
                     if (aux->valor == x){
 
                       if (aux == Lista)
                       {
                          Lista = aux->prox;
 
                       }
                       else{
                            ant->prox= aux-> prox;
                           }
                       printf ("nRemovido com sucesso!");
                       break;
                     }
                     else{
                           ant = aux;
                           aux = aux ->prox;
                         }
               }
 
             }
             break;
    case 3 : //buscar
                {
              int vlbusca;
             printf("digite o valor da busca:");
             scanf("%d",&vlbusca);
 
 
               struct No * aux;
               aux= Lista;
               while (aux != NULL)
               {
                   if(aux->valor == vlbusca)
                   { printf ("n o valor existe:", vlbusca);
 
                   } else {
                          printf ("n o valor nao existe:", vlbusca);
                          }
 
                  aux = aux -> prox;
 
               }
 
               break;
                }
 
 
    case 4: {
        break;
 
           }
   } //fim do switch
  } while (opcao != 4); //sair do programa
}

Para implementar editar e criar o executavel indico o programa Dev-C++ que pode sei baixado atraves de um dos links abaixo.
http://www.baixaki.com.br/download/dev-c-.htm
http://www.bloodshed.net/devcpp.html
O Dev-C++ é gratuito e de código aberto

Projeto Service manager

01 Introdução – http://blog.fabianobento.com.br/2011/09/projeto-service-manager/
02 Padrões para o projeto e especificações – http://blog.fabianobento.com.br/2011/09/projeto-service-manager-padroes-para-projeto-especificacoes/

Padrões para Nomenclatura em um banco de dados
1. INTRODUÇÃO

O objetivo deste documento é prover informações para formalizar a nomenclatura dos objetos de banco de dados, bem como apresentar regras para sua utilização evitando assim o hábito de existir diferentes nomenclaturas dentro da aplicação.
O documento apresenta os objetos de banco de dados com três itens:
Sintaxe, regras e exemplo. Isto para facilitar o entendimento do desenvolvedor.

2. BANCO DE DADOS

O nome do banco de dados deverá identificar o negócio que está sendo automatizado ou deverá refletir a sigla da aplicação.

Sintaxe:

{[a.. z]} _ xxxxxx , onde:

xxxxxx – indica o nome da aplicação que o banco de dados irá atender.
Para o nome da aplicação utilizar tudo em minúsculo com no máximo 25 caracteres de ‘a’ a ‘z’.

3. TABELAS

Exemplos:

tb_ordem_servico – Tabela de ordens de serviços
tb_pessoa – Tabela de pessoa física
tb_cliente – Tabela de clientes.

4. NOME DAS COLUNAS

Identificação Descrição do atributo Tipo de dado utilizado
NM Nome de coluna que irá armazenar valores “string”, ou seja, caracteres.(utilizar para nome próprio) String
NR Nome de coluna que irá armazenar valores numéricos inteiros, para conteúdos significativos. Numérico
IE INDICAR SITUAÇÕES ESPECIAIS, 

Nome de coluna que irá armazenar valores numéricos inteiros, utilizado em um dicionário de dados (Domínio)

Ex. 0 Aberto, 1 Fechado, 3 Cancelado

Numérico/String
DS Nome de coluna que irá armazenar valores “string”, ou seja, caracteres que são descritivos. String (caracteres)
DT Nome de coluna que irá armazenar valores do tipo data Data
HR Nome da coluna que irá armazenar valores do tipo hora Hora
VL Nome de coluna que irá armazenar valores numéricos, ou seja, números que podem possuir casas decimais Numérico
CD Nome de coluna que irá armazenar valores numéricos inteiros, utilizado em atributos falsos. Numérico
ST Nome de coluna que irá armazenar valores do tipo caracteres com conteúdo pré-estabelecido. Ex. Coluna ST_Cliente pode ter seu conteúdo como sendo “A” ou “I” e nenhum outro valor a não ser esses estipulados String
SG Nome de coluna que irá armazenar siglas, EX. Coluna SG_ESTADO pode ter seu conteúdo como sendo as siglas de estados, SP, MG, GO, SC. String

Regras:

– Para siglas utilizar todas as letras em maiúsculo;
– Usar palavras no singular e sem acentuação;
– Usar nome que identifique e individualize o dado dentro da tabela;
– Dar nomes distintos para dados distintos;
– Utilizar o nome sempre no singular;
– Sempre acrescentar comentário sobre a informação da coluna

Exemplos:

Cd_pessoa – código da pessoa
nm_pessoa – nome da pessoa
dt_nascimento – data de nascimento
vl_salario – valor do salário

As informações da padronizção do banco de dados foram criadas a partir de estudos e pesquisas em outros sistemas e na internet.

Projeto Service manager

01 Introdução – http://blog.fabianobento.com.br/2011/09/projeto-service-manager/

Antes de iniciarmos as tarefas e criação da documentação decidimos criar padrões para o desenvolvimento para facilitar o trabalho entre os integrantes do grupo.

Fizemos uma discussão para definirmos um padrão para o projeto, layout das telas, idioma de desenvolvimento e algumas outras estruturas.

O resultado final ficou da seguinte maneira;

Idioma de desenvolvimento
(Inset, update, delete)
Ex.: InsereCliente
EX.: InsertCliente
Atualiza <-> Update
Apaga <-> Delete

Ficou definido a utilização no idioma português.

Layout das telas
Ficou definido que as telas serão compostas por campo de busca, opção de inserir novos cadastros, e lista de alguns registros com opção de edição a partir da lista.

A partir desta discussão sugeri uma padronização para nomenclatura do banco de dados, que deverá ser minha próxima publicação.

Link para o artigo:

Padrões para Nomenclatura em um banco de dados

Projeto Service manager

Iniciamos um trabalho no curso de SI, que será a apresentação do projeto de um sistema WEB funcionando, nosso grupo é composto por cinco integrantes; Adilson, Aldovrando, Eu(Fabiano), Heitor e Henrique. O tema definido pelo grupo foi o desenvolvimento de um Sistema de Gestão de Ordens de Serviços e Vendas.
Vou tentar publicar toda semana a documentação que estamos fazendo baseando nos estudos que vimos ao decorrer do Curso.

Discutimos sobre as tecnologias que iríamos usar, lembrando que o projeto deverá ser desenvolvido para WEB para funcionar em plataforma Windows ou Linux no padrão MVC(http://pt.wikipedia.org/wiki/MVC).
Linguagens da discussão; Java, PHP, .Net e Adobe Flex (AS – ActionScript)
Banco de dados: Oracle, MySQL

As tecnologias que escolhemos no final da discussão para usar no projeto são:

Linguagem: PHP / MySQL (ainda em discusão para usar Flex no visual)
Banco de Dados: MySQL

 

A próxima etapa será definir os padrões para o projeto e especificação dos use cases.