Desepero lol 40€ por programa em c++!

Status
Fechado a novas mensagens.

Turambar

Membro
Boas!

É assim eu tenho para fazer um projecto para a disciplina de programação!

Basicamente o projecto é isto -> aqui

Como estou já bastante desesperado LOL é pra entregra amanhã até às 16h eu e o meu colega pagávamos 40€ se alguém nos fizesse este programa!

É bastante simples para quem domina c++! Não é preciso ser nada de muito elaborado, quanto mais simples melhor!

cumps:) :) :)
 
Última edição:
Boas!

É assim eu tenho para fazer um projecto para a disciplina de programação!

Basicamente o projecto é isto -> aqui

No passo 2.2 tou com umas dúvidas de como fazer para q os números de conta sejam gerados automaticamente, sempre o menor possível....

Se alguém tiver sugestões chute! :001:

0 6 0 7 0 0 1 7 2 6 3 7 2 4 6 3

Vermelho -> Número fixo
Azul -> Número associado ao cartão
Verde -> Números aleatórios em que o que interessa é que:
(16x1 + 15x2 + 14x3 + 13x4 + 12x5 + 11x6 + 10x7 + 9x8 + 8x9 + 7x10 + 6x11 + 5x12 + 4x13 + 3x14 + 2x15 + C) mod 16 = 0

Tu queres que, ao adicionar um cliente, ele tenha o nº mais baixo de todos, certo?

A primeira coisa a fazer, é ir consultando a base de dados (que na minha opinião deve estar numa BST, por exemplo), procurando pela conta: 0607 0000 0000 0000, 0607 0000 0000 0048, e por aí fora, até que encontres uma conta disponível.

O que vais precisar?
De uma função que te devolve true sempre que o código é válido, ou seja, quando respeita a regra:
Os quatro algarismos iniciais são fixos e estão relacionados com a identificação da
entidade bancária, neste caso será 0607. O segundo conjunto de quatro caracteres
identifica o número da conta associado ao cartão, neste caso trata-se da conta número
0017. Os sete algarismos seguintes, i.e. 2637 246, são gerados de forma que o último
algarismo, i.e. o número de controlo C=3, verifica a seguinte fórmula:
(16x1 + 15x2 + 14x3 + 13x4 + 12x5 + 11x6 + 10x7 + 9x8 + 8x9 + 7x10 + 6x11 + 5x12 + 4x13 + 3x14 + 2x15 + C) mod 16 = 0
ou seja, o somatório ponderado dos vários termos dividido por 16 dá resto igual a
zero.

Desta forma, vais gerando 0607 0000 0000 0000, 0607 0000 0000 0000 + 1, 0607 0000 0000 0000 + 2 e passando-os por essa função. Quando retornar true é porque o código é válido: Está na altura de percorrer a estrutura de dados que contem os números de cartões de crédito e verificar se ele já existe ou não! Se não existir é criado, se existir voltas a testar com o número seguinte.

Claro que para isto funcionar eficientemente, a estrutura de dados deve estar ordenada por ordem crescente (no caso de vectores) ou usas mesmo uma BST ou uma Hash Table ordenada pelo número do cartão do cliente.

Alguma dúvida? :)
 
Oias!

Ao adicionar se um cliente o programa só tem de verficar qual é o nº de conta mais pequeno (só os segundos 4 digitos) e dps os últimos 8 é que são gerados aleatoriamente cumprindo aquela regra.

Logo será uma coisa do tipo 0607 0001 **** **** e por ai adiante!

Na base de dados ficará inicialmente uma coisa só deste tipo:

0001 Manuel Ferreira
...

Para verificar se o nome já se encontrava na base de dados utilizei a classe find! Mas como faço agora para verificar qual e o último número e gerar assim o seguinte... e por ai adiante?

cumps
obrigado:)
 
Lol neps! pq nos percebemos +- disto... loool

E com os comentarios ficamos a perceber as expressoes!

Nos temos o programa a correr +-, com algumas limitaçoes e ainda incompleto!

Se houver por ai alguma alma caridosa... ehehe :) :)
 
Acho que pior é dizer que é capaz de perceber se o trabalho estiver devidamente documentado (quem o fizer ainda tem de comentar...), se têm capacidades para tal também têm para fazer o trabalho...., a esta hora já o tinham feito ;) Só naquela...

abraços, HecKel
 
LOL

Nós temos o trabalho praticamente feito!

Apenas a parte com as listas é que está a dar problemas pois não estamos a conseguir que os nomes interajam com os números de conta!

Esta noite rendeu bastante!:)

Mas entre chumbar a uma cadeira pq não se entregou um trabalho ou entregar um trabalho feito consentido por outra pessoa (como bastante pessoas fazem) eu prefiro a segunda hipótese!:002:

cumps
:)
 
Status
Fechado a novas mensagens.
Back
Topo