Ir para conteúdo
Fórum Script Brasil

FabioArgenton

Membros
  • Total de itens

    11
  • Registro em

  • Última visita

Sobre FabioArgenton

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

FabioArgenton's Achievements

0

Reputação

  1. Pessoal tentei o seguinte código no Evento Click do botão Baixar Estoque, mas também não deu certo: Private Sub BaixaEstoque_Click() DoCmd.RunSQL ("update TBL_DetalRecebimento set Qtde=(Qtde-(Formulários![SUB_DetalExpedição]![Quantidade])) where TBL_DetalRecebimento.BIN=(Formulários![SUB_DetalExpedição]![BIN]) AND TBL_DetalRecebimento.Material=(Formulários![SUB_DetalExpedição]![Material]) AND TBL_DetalRecebimento.NF=(Formulários![SUB_DetalExpedição]![NF Entrada]);") End Sub
  2. Amigão da uma olhada se meu post te ajuda, está 90% concluído falta apenas função para baixar o estoque, depois é só criar os relatórios, consultas e já era, me ajuda lá... http://scriptbrasil.com.br/forum/index.php?showtopic=172782
  3. Boa Noite Pessoal! Estou desenvolvendo um sistema em access para Estoque na minha empresa, o sistema deverá conter apenas entrada e saída, acredito que com ajuda de voces esse sistema servirá para muita gente aqui do forum e ajudará muitos usuários. Já criei todas as tabelas, Formulários e Sub Formulários, porém estou apanhando para conseguir fazer baixar o estoque conforme o pedido realizado no formulário de Expedição. Meu sistema é composto por quatro tabelas: TBL_Recebimento: Onde contém Número, data etc... TBL_DetalRecebimento: Onde contém os detalhes da TBL_Recebimento, ou seja, a posição no qual o material está sendo armazenado, o material, a quantidade, NF de entrada, etc..(Esta tabela é na verdade o estoque (Inventário)). TBL_Expedição: Onde contém Número, data, etc... TBL_DetalExpedição: Onde contém os detalhes da Expedição, ou seja, a posição no qual será baixado o estoque, o material, a quantidade que está sendo expedida e a NF de entrada que está sendo expedida. Recebimento: *TBL_Recebimento *TBL_DetalRecebimento (SubFormulário) *BIN é a locação no qual o material está sendo armazenado Inventário (Estoque Disponível): *TBL_DetalRecebimento Expedição: *TBL_Expedição *TBL_DetalExpedição (SubFormulário) Me ajudem, o problema é: Quero digitar no Formulário Expedição no SubFormulário o BIN, Material, Qtde a Baixar do estoque e NF de entrada e ao clicar no botão "Baixar Estoque" quero que baixe do Inventário, ou seja, da tabela TBL_DetalRecebimento a quantidade digitada porém na linha referente ao BIN, Material e NF de entrada da tabela TBL_DetalRecebimento. Sei que aqui tem muita gente expert em access e que vai conseguir resolver, por favor compartilhem esse conhecimento, caso não estiverem entendendo o que eu quero é só dizer que tento explicar mais detalhadamente. Postei o Sistema no 4Shared baixem para poder realizar os testes: Teste NO CHARGE 07.12.mdb.zip Aguardo retorno pessoal!
  4. Fala galera meu professor de Sistemas Operacionais lançou o seguinte desafio: Criar um ForkBomb que esgote o S.O., até ai tudo bem....o problema foi as perguntas que tem que responder: 1) É possivel saber quanto processos foram de fato criados antes do esgotamento do S.O.? 2) É possivel o processo reverter a situação após esgotamento do S.O.? 3) Que outras informações a teu processo poderá lhe fornecer? 4) Como seria possível o processo garantir que apenas um instancia de si mesmo esteja sendo executada? Bom criei um laço for() chamando a função shellexecute() um programa qualquer até que emtupa o S.O. de processos derrubando o mesmo, e dentro do laço for a função fprintf() gravando em um arquivo texto a quantidades de processos que foram abertos sendo assim quando o S.O. cair vou ter a qtde de processos que foram necessários. Segue o código laço for() de 10 apenas para teste: #include <conio.h> #include <Windows.h> int main(int argc, char *argv[]) { FILE *arq; int i,cont=0; int result; arq = fopen("teste.txt", "wt"); // Cria um arquivo texto para gravação if (arq == NULL) // Se nào conseguiu criar { printf("Problemas na CRIACAO do arquivo\n"); }fprintf(arq,"Desenvolvido por: Fabio RA: xxxxxxxxxx\nFundamento de Sistemas Operacionais: ATPS - ForkBomb\n\n"); fprintf(arq,"Mostrando quantos Processos foram necessários para seu sistema ir pro saco!!\n"); fprintf(arq,"============================================================================\n\n"); for (i = 1; i<=10;i++) { ShellExecute( NULL,"open","iexplore.exe","","",SW_SHOWNORMAL); result = fprintf(arq,"Processo: %d\n",i); if (result == EOF) printf("Erro na Gravacao\n"); } fprintf(arq,"\n******************************\nTotal de Processos: %d",i-1); fclose(arq); system("PAUSE>>null"); } Será que essa instrução vai derrubar o Windows (Colocando um laço infinito)? Será que isso resolve meu problema para a pergunta 1? E em questão as outras perguntas alguém pode me ajudar?
  5. #include <stdio.h> #include <stdlib.h> #define TAM 25 //Definindo tamanho da Pilha //Variáveis Globais: int sentinela=0; //Apontador responsavel por todo o esquema int stack[TAM]; //Vetor de 5 elementos //Funções: void push(int valor){ //Empilhar Se a pilha não estiver cheia if(sentinela>=TAM) //Caso esteja cheia(SE Apontador>=vetor (esta acima de 4)) printf("\nEsta Cheia"); //Mostra Pilha Cheia else //SENÃO { stack[sentinela]=valor;//Inserir o valor onte apontador aponta sentinela++; //Apontador aponta pro próximo } }; void pop(){ //Desempilhar Se a pilha não estiver vazia if(sentinela==0) //SE apontador for igual a 0(estiver na posição 0 do vetor) printf("\nEsta Vazia");//Mostra Pilha Vazia else //SENÃO sentinela--; //Apontador desce uma posição }; int top(){ //Mostrar o elemento do topo Se pilha não estiver Vazia if (sentinela==0) //SE apontador for igual a 0(estiver na posição 0 do vetor) printf("\nEsta Vazia"); //Mostra Pilha Vazia else //SENÃO return stack[sentinela-1];//Retorna Vetor de Apontador-1 (Vai retornar no printf do programa) }; int empty(){ //Mostra se a Pilha esta vazia if(sentinela==0) //SE apontador for igual a 0(estiver na posição 0 do vetor) printf("\nEsta Vazia"); //Pilha vazia else //SENÃO printf("\nNao esta Vazia");//Contem algum elemento dentro do vetor }; int full(){ //Mostra se a pilha esta cheia if(sentinela>=TAM) //SE apontador>=tamanho do vetor(esta acima de 4) printf("\nEsta Cheia"); //Mostra Pilha cheia else //SENÃO printf("\nNao esta Cheia");//Pilha não esta cheia - ainda há espaço }; int main(int argc, char *argv[]) { push(5); //Empilha 5 push(8); //Empilha 8 em cima do 5 printf("%d",top()); //Mostra o que esta no topo (8) pop(); //Desempilha o que esta no topo (tira 8) printf("\n%d",top()); //Mostra o que esta no topo (5) empty(); //Mostra se a Pilha esta vazia full(); //Mostra se a pilha esta cheia //Resultado: 8,5 //Não esta vazia //Não esta cheia system("PAUSE>>null"); return 0; }
  6. Primeiramente obrigado pela ajuda Felipe, Cara por incrível que pareça este é um desafio para 3º semestre de TADS, segundo o cronograma de aulas estaremos vendo lista filas e pilhas lá pra 3º semana do semestre e na minha opinião teremos alguma noção pra realizar este desafio lá pra 10º semana do 3º semestre e acredite temos que entregar metade do desafio em março, postei apenas para ajudas e dicas, não espero que alguém resolva pra mim apenas me dê uma luz pra eu poder realizar este desafio já que temos pouco tempo para entregá-lo mais uma vez obrigado pelas dicas. Se alguém tiver mais alguma dica galera postem ai toda ajuda será necessária Obrigado.
  7. DESAFIO Várias áreas da ciência da computação usam domínios simples e abstratos para estudos analíticos e empíricos. Por exemplo, algumas das primeiras pesquisas de inteligência artificial nas áreas de planejamento e robótica usavam o mundo dos blocos, no qual um braço de robô realizava tarefas envolvendo a manipulação de blocos. Este desafio consiste em modelar um Mundo dos Blocos bem simples, que vai funcionar de acordo com certas regras e restrições. O problema consiste em analisar uma série de comandos que instruem um braço de robô em como manipular os blocos que estão sobre uma mesa. Inicialmente, existem n blocos sobre a mesa (numerados de 0 a n-1), como mostra a figura a seguir. ------------------------------ |0| |1| |2| |3| |4| ....|n-1| ------------------------------ O problema começa com cada bloco na sua posição inicial sobre a mesa e, depois de uma série de comandos válidos, deve terminar em uma configuração final. Na figura a seguir é apresentado um exemplo para 5 blocos (n=5), sendo ( a ) a configuração inicial e ( b ) a configuração final. ----------------------------|2|---------|1| |0|-|1|-|2|-|3|-|4|------|0|---------|4|-|5| ------------------------------------------------ ----------( a )------------------( b ) Os comandos válidos para o braço de robô manipular os blocos são listados a seguir. Usa-se a para indicar o bloco em movimento e b como bloco de referência. *mover a acima b: move o bloco a para cima do bloco b retornando eventuais blocos que já estiverem sobre a ou b para as suas posições originais. *mover a topo b: coloca o bloco a no topo do monte onde está o bloco b retornando eventuais blocos que já estiverem sobre a às suas posições originais. *empilhar a acima b: coloca o bloco a juntamente com todos os blocos que estiverem sobre ele em cima do bloco b, retornando eventuais blocos que já estiverem sobre b as suas posições originais. *empilhar a topo b: coloca o bloco a juntamente com todos os blocos que estiverem sobre ele no topo do monte onde está o bloco b. *encontrar maior: encontra o maior elemento da pilha mais alta e o devolve para a posição inicial. *sair: termina a execução. Qualquer comando no qual a = b ou no qual a e b estejam na mesma pilha de blocos é um comando ilegal e deve ser ignorado, não alterando a configuração dos blocos. Os arquivos de entrada e saída devem obedecer aos seguintes formatos: *Arquivo de Entrada: o arquivo começa com um único número inteiro n na primeira linha representando o número de blocos do seu Mundo dos Blocos, sendo 0 < n < 25. Esse número de blocos será seguido por uma sequência de comandos, um por linha. O programa deve processar todos os comandos até encontrar o comando sair. Assumir que todos os comandos estão no formado definido anteriormente, ou seja, não haverá erros de sintaxe nos comandos. *Arquivo de Saída: a saída consiste da configuração final do seu Mundo dos Blocos. Em cada linha deve aparecer o número da posição original seguida de dois pontos ( : ). Se existir pelo menos um bloco naquela posição, os dois pontos devem ser seguidos pela lista de blocos que aparecem naquela pilha separados por um espaço em branco. Deve existir uma linha no arquivo de saída para cada posição, ou seja, n linhas sendo n é o número inteiro na primeira linha do arquivo de entrada. Para o exemplo mostrado na figura ( b ), os arquivos de entrada e saída são listados a seguir. Ressalta-se que diferentes arquivos de entrada podem levar a uma mesma configuração final. Entrada:-------------------Saída: 5----------------------------0: 0 2 mover 3 acima 0---------1: move 2 topo 4-----------2: empilhar 4 acima 0------3: 3 1 empilhar 1 topo 3--------4: 4 encontra maior sair Dúvidas: 1º Preciso analisar o problema proposto e definir as estruturas de dados estáticas para a sua resolução 2º Preciso definir as funções necessárias para a implementação dos quatro primeiros comandos definidos no desafio e o “sair”, utilizando as estruturas de dados com alocação estática de memória definida na Etapa 1. 3º Preciso fazer um programa que leia um arquivo de entrada, execute todos os comandos presentes nesse arquivo e gere um arquivo de saída, no formato definido anteriormente no desafio. Obs: Sou iniciante em programação
  8. Pessoal estou desenvolvendo uma função para contagem de comentarios de um arquivo .txt, Porém na hora de Compilar aparece o seguinte erro: In function `ccRum': `NULL' undeclared (first use in this function) (Each undeclared identifier is reported only once for each function it appears in.) syntax error before '}' token `EOF' undeclared (first use in this function) [build Error] [LibCodeCount.o] Error 1 Esta pedido pra declarar o NULL e o EOF sendo que esses não são variáveis e sim macros já definidas na linguagem. Segue o Cód: int ccRum(char *file) //Ponteiro para Arquivo .txt { int c; int n1=0; int n2=0; if (file !=NULL) //se o arquivo for diferente de NULL ou seja se ele existir faça { do { //DO c = fgetc(file); if (c == '/') { c = fgetc(file); if (c == '/') n1++; else if (c == '*') n2++; } } //DO } while (c != EOF); //Até que chegue ao final desse arquivo (EOF) fclose(file); return n1+n2; } Segue o Programa principal que usará essa função: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { FILE * pFile; pFile = fopen ("ArquivoTexto.txt", "r"); printf("Numero de Comentarios = %d\n", ccRum(pFile)); //chamando a função system("PAUSE>>null"); return 0; }
  9. Pessoal estou com a seguinte bomba nas mãos e não consigo entender, acho que até as pessoas que realizaram esse projeto não entenderam o que eles realmente querem. Upei o arquivo no 4Shared está em formato .pdf deem uma olhada e ve se algúem consegue resolver.... Download - Trabalho ATPS
  10. Cara excelente o que eu demorei quase 1 mês quebrando a cabeça você fez em alguns minutos parabéms...só uma pergunta você já é formado ? se não em que ano esta e qual curso? PARABÉMS valeuuuuu um dia eu chego lá Obrigado. Agora vou tentar entender como você fez e treinar aqui.
  11. Pessoal ainda sou novato na área de desenvolvimento (2º Semestre), estou com um problema aqui que esta me deixando meio doido, descrição do problema: Criar um programa em C que abra um arquivo .txt contendo um cód em c++ e mostre o número de linhas do código que são comentários formatados segundo a sintaxe da Linguagem C/C++. A sintaxe prevê dois tipos de comentários: linha única começando com os caracteres “//” (barra, barra); e comentários multi-linhas começando com “/*” (barra, asterisco) e com término determinado por “*/” (asterisco, barra). Cheguei a seguinte lógica: ========================================= #include <stdio.h> #include <stdlib.h> #include <string.h> int main () { FILE * pFile; int c; int n = 0; pFile = fopen ("ArquivoTexto.txt", "r"); if (pFile !=NULL) { do { c = fgetc(pFile); if (c =='/') n++; } while (c != EOF); fclose(pFile); printf("Numero de Comentarios = %d.\n", n); } system("PAUSE>>null"); return 0; // 1º Comentário // 2º Comentário // 3º Comentário // 4º Comentário /* 5º Comentário */ // 6º Comentário } ========================================= Esta compilando certo porém ele mostra o total de "/" que aparece no texto por exemplo se fosse ler esse código ai acima teria que mostrar 6 comentários porém esta mostrando 13 ou seja 13 "/", se eu fizer a qtd total de "/" encontradas dividido por 2 também não confere pois o programa lê todos as barras inclusive a do sinal de dividir. Teria que ser feito uma maneira de que cada vez que o caracter "/" aparecer seguido de outra "/" ou seja "//" incremente o contador mas não consigo achar uma maneira de resolver isso. Gostaria de alguma dica, estou a 2 semanas tentando resolver e nada, por favor me ajudem pelo menos a contar os comentários simples "//" ai depois tentarei através desse problema tentar contar também os comentários multi-linhas "/* */" . Valeu pessoal....
×
×
  • Criar Novo...