Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Matheus William

Controle de funcionários(erro na gravação de dados)

Recommended Posts

Olá pessoal tudo bem? Eu estou fazendo um programa para controle de funcionários em C, e estou com problemas em algumas partes do código.Os dados de cadastramento de funcionário e departamento não está sendo gravados nos seus respectivos arquivo, e em "cadastrar departamento" depois de digitar o código do departamento que sera criado e apertar enter o programa buga.

 

Segue o código:

 

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>

typedef struct{
    long int codigo, cod_gerente;
    char nome[30],sigla[5];
    unsigned short int ramal;
}TDepartamento;

typedef struct{
    long int cod_dep, numero;
    char nome[60],matricula[10],dataNascimento[11],cpf[12],rua[40],bairro[30],
    complemento[20],cidade[30],estado[3],telefone[15],email[30];
    double salario;
}TFuncionario;

typedef struct{
    long int codfun, coddep;
    char data[11];
}Thistoricofuncionario;

typedef struct{
    long int codgerente, coddep;
    char data[11];
}Thistoricodepartamento;

typedef struct{
    long int codfun;
    unsigned short int mes,ano;
    double salario;
}Thistoricosalario;

int pesquisaDep(FILE *da, long int *cod){
    TDepartamento v;
    int posicao=0;
    /*posição no início do arquivo*/
    fseek(da,0,SEEK_SET);
    while(fread(&v,sizeof(TDepartamento),1,da)==1){
        if(v.codigo==cod)
            return posicao;
        else
            posicao++;
    }
    return -1;
}
/*retorna a posiço do registro ou -1 se não encontrar*/
int pesquisaFun(FILE *a, char *matricula){
    TFuncionario r;
    int posicao=0;
    /*posição no início do arquivo*/
    fseek(a,0,SEEK_SET);
    while(fread(&r,sizeof(TFuncionario),1,a)==1){
        if(r.matricula==matricula)
            return posicao;
        else
            posicao++;
    }
    return -1;
}


/*Cadastrar um Departamento*/
void cadDep(FILE *da, FILE *a){
    int sair,p;
    long int cod,codger;
    unsigned short int ch;
    TDepartamento vd;
    do{
        printf("\n******************************************************\n");
        printf("\n*          Cadastramento de Departamento             *\n");
        printf("\n******************************************************\n");
        printf("\nCódigo do Departamento:");
        scanf("%li",&cod);
        if(pesquisaDep(da,cod)==-1){
            strcpy(vd.codigo,cod);
            setbuf(stdin,NULL);
            printf("\nNome do departamento:");
            fgets(vd.nome,30,stdin);
            setbuf(stdin,NULL);
            if((strlen(vd.nome)==0) || (strcmp(vd.nome,"0")==0)){
                printf("\nO campo nome não pode estar vazio!Digite novamente:");
                fgets(vd.nome,30,stdin);
            }
            printf("\nSigla do Departamanto:");
            fgets(vd.sigla,5,stdin);
            setbuf(stdin,NULL);
            printf("\nCodigo do funcionario que será gerente do departamento:");
            scanf("%li",codger);
            if(pesquisaFun(a,codger)==-1)
                strcpy(vd.cod_gerente,codger);
            else
                printf("\nMatricula de funcionario inexistente!!!");
            printf("\nRamal:");
            fflush(stdin);
            scanf("%d",&ch);
            if(isdigit(ch)){
                strcpy(vd.ramal,ch);
            }
            else{
                printf("voce não digitou um numero!!!\n\n");
                scanf("%d",&ch);
            }

            /*posicionando no final do arquivo*/
            fseek(da,0,SEEK_END);
            fwrite(&vd,sizeof(TDepartamento),1,da);

        }
        else
            printf("\nDepartamento já existe!!!!");

        printf("\n\nDeseja sair do cadastro? 1-Sim 2-Não ");
        scanf("%d",&sair);
    }while(sair!=1);
}

/*Validar o CPF do funcionario*/
int validarCPF(char cpf[]){
    int i, j, digito1 = 0, digito2 = 0;
    if(strlen(cpf) != 11)
        return 0;
    else if((strcmp(cpf,"00000000000") == 0) || (strcmp(cpf,"11111111111") == 0) || (strcmp(cpf,"22222222222") == 0) ||
            (strcmp(cpf,"33333333333") == 0) || (strcmp(cpf,"44444444444") == 0) || (strcmp(cpf,"55555555555") == 0) ||
            (strcmp(cpf,"66666666666") == 0) || (strcmp(cpf,"77777777777") == 0) || (strcmp(cpf,"88888888888") == 0) ||
            (strcmp(cpf,"99999999999") == 0))
        return 0; /*se o CPF tiver todos os números iguais ele é inválido.*/
    else{
        /*digito 1---------------------------------------------------*/
        for(i = 0, j = 10; i < strlen(cpf)-2; i++, j--) /*multiplica os números de 10 a 2 e soma os resultados dentro de digito1*/
            digito1 += (cpf[i]-48) * j;
        digito1 %= 11;
        if(digito1 < 2)
            digito1 = 0;
        else
            digito1 = 11 - digito1;
        if((cpf[9]-48) != digito1)
            return 0; /*se o digito 1 não for o mesmo que o da validação CPF é inválido*/
        else{
        /*digito 2--------------------------------------------------*/
            for(i = 0, j = 11; i < strlen(cpf)-1; i++, j--) /*multiplica os números de 11 a 2 e soma os resultados dentro de digito2*/
                    digito2 += (cpf[i]-48) * j;
        digito2 %= 11;
        if(digito2 < 2)
            digito2 = 0;
        else
            digito2 = 11 - digito2;
        if((cpf[10]-48) != digito2)
            return 0; /*se o digito 2 não for o mesmo que o da validação CPF é inválido*/
        }
    }
    return -1;
}


/*Cadastrar um funcionario*/
void cadFun(FILE *a, FILE *da){
    int i,cod,sair,achou,data;
    char mat[10],cp[11];
    TFuncionario vf;
    TDepartamento vd;
    do{
        printf("\n******************************************************\n");
        printf("\n*          Cadastramento de Funcionarios             *\n");
        printf("\n******************************************************\n");

        printf("\nForneça a matricula:");
        fgets(mat,10,stdin);
        if(pesquisaFun(a,mat)==-1){
            strcpy(vf.matricula,mat);
            setbuf(stdin,NULL);
            printf("\nNome do Funcionario:");
            fgets(vf.nome,60,stdin);
            setbuf(stdin,NULL);
            if(vf.nome==NULL){
                printf("\nO nome não pode estar vazio!!!");
                fgets(vf.nome,60,stdin);
                setbuf(stdin,NULL);
            }
            printf("\nSalario do Funcionario:");
            scanf("%lf",&vf.salario);
            setbuf(stdin,NULL);
            printf("\nData de nascimento:");
            fgets(vf.dataNascimento,11,stdin);
            setbuf(stdin,NULL);

            printf("\nCPF:");
            fgets(cp,12,stdin);
            setbuf(stdin,NULL);
            if(validarCPF(cp)==-1)
                strcpy(vf.cpf,cp);
            else{
                printf("\nCPF inválido!Digite-o novamente:");
                fgets(cp,12,stdin);
                setbuf(stdin,NULL);
            }


            printf("\n******************************************************\n");
            printf("\n*                    Endereço                        *\n");
            printf("\n******************************************************\n");
            printf("\nRua:");
            fgets(vf.rua,40,stdin);
            setbuf(stdin,NULL);
            printf("\nBairro:");
            fgets(vf.bairro,30,stdin);
            setbuf(stdin,NULL);
            printf("\nNúmero:");
            scanf("%li",&vf.numero);
            setbuf(stdin,NULL);
            printf("\nComplemento:");
            fgets(vf.complemento,20,stdin);
            setbuf(stdin,NULL);
            printf("\nCidade:");
            fgets(vf.cidade,30,stdin);
            setbuf(stdin,NULL);
            printf("\nEstado:");
            fgets(vf.estado,3,stdin);
            setbuf(stdin,NULL);

            printf("\n******************************************************\n");
            printf("\n*                Informações de contato              *\n");
            printf("\n******************************************************\n");
            printf("\nTelefone:");
            fgets(vf.telefone,15,stdin);
            setbuf(stdin,NULL);
            printf("\nE-mail:");
            fgets(vf.email,30,stdin);
            setbuf(stdin,NULL);
            printf("\nForneça o Código do departamento:");
            scanf("%d",&cod);
            if(pesquisaDep(da,cod)==-1)
                strcpy(vf.cod_dep,cod);
            else
                printf("\nDepartamento inexistente!!!");


            /*posicionando no final do arquivo*/
            fseek(a,0,SEEK_END);
            fwrite(&vf,sizeof(TFuncionario),1,a);

        }
        else
            printf("\nMatricula de funcionario repetida!!!!");
        printf("\n\nDeseja sair do cadastro? 1-Sim 2-Não ");
        scanf("%d",&sair);

    }while(sair!=1);
}


/*Consultar um funcionario cadastrado*/
void consFun(FILE *a, FILE *da){
    int sair,p;
    TFuncionario rf;
    do{
        printf("\nForneça a matricula:");
        fgets(rf.matricula,10,stdin);
        if(pesquisaFun(a,rf.matricula)==-1){

            /*posicionando no final do arquivo*/
            fseek(a,sizeof(TFuncionario)*p,SEEK_SET);
            fread(&rf,sizeof(TFuncionario),1,a);
            printf("\n******************************************************\n");
            printf("\n*                 Dados do Funcionario               *\n");
            printf("\n******************************************************\n");
            printf("\nMatricula: %s",&rf.matricula);
            printf("\nNome: %s",&rf.nome);
            printf("\nSalario: %.2f",&rf.salario);
            printf("\nData de nascimento: %s",&rf.dataNascimento);
            printf("\nCPF: %s",&rf.cpf);
            printf("\nRua: %s",&rf.rua);
            printf("\nBairro: %s",&rf.bairro);
            printf("\nNúmero: %li",&rf.numero);
            printf("\nComplemento: %s",&rf.complemento);
            printf("\nCidade: %s",&rf.cidade);
            printf("\nEstado: %s",&rf.estado);
            printf("\nTelefone: %s",&rf.telefone);
            printf("\nE-mail: %s",&rf.email);

        }
        else
            printf("\nMatriclua inexistente!!!");

        printf("\n\nDeseja sair da consulta? 1-Sim 2-Não ");
        scanf("%d",&sair);
    }while(sair!=1);
}


/*Alterar os dados de um funcionario e atualizar o arquivo histfun*/
void alteracaoFun(FILE *a,FILE *da, FILE *hist){
    int cod,sair,achou,data,p;
    char cp[11];
    TFuncionario rf;
    TDepartamento rd;
    do{

        printf("\n******************************************************\n");
        printf("\n*       Alteração de Dados do Funcionarios           *\n");
        printf("\n******************************************************\n");

        printf("\nForneça a matricula:");
        fgets(rf.matricula,10,stdin);

        p=pesquisaFun(a,rf.matricula);
        if(p==-1){

            setbuf(stdin,NULL);
            printf("\nNome do Funcionario:");
            fgets(rf.nome,60,stdin);
            if(rf.nome==NULL){
                printf("\nO nome não pode estar vazio!!!");
                fgets(rf.nome,60,stdin);
            }
            setbuf(stdin,NULL);
            printf("\nData de nascimento:");
            fgets(rf.dataNascimento,11,stdin);
            setbuf(stdin,NULL);

            printf("\nCPF:");
            fgets(cp,12,stdin);

            if(validarCPF(cp)==1)
                strcmp(rf.cpf,cp);
            else{
                printf("\nCPF inválido!Digite-o novamente:");
                fgets(cp,12,stdin);
            }
            setbuf(stdin,NULL);

            printf("\n******************************************************\n");
            printf("\n*                    Endereço                        *\n");
            printf("\n******************************************************\n");
            printf("\nRua:");
            fgets(rf.rua,40,stdin);
            setbuf(stdin,NULL);
            printf("\nBairro:");
            fgets(rf.bairro,30,stdin);
            setbuf(stdin,NULL);
            printf("\nNúmero:");
            scanf("%li",&rf.numero);
            setbuf(stdin,NULL);
            printf("\nComplemento:");
            fgets(rf.complemento,20,stdin);
            setbuf(stdin,NULL);
            printf("\nCidade:");
            fgets(rf.cidade,30,stdin);
            setbuf(stdin,NULL);
            printf("\nEstado:");
            fgets(rf.estado,3,stdin);
            setbuf(stdin,NULL);

            printf("\n******************************************************\n");
            printf("\n*                Informações de contato              *\n");
            printf("\n******************************************************\n");
            printf("\nTelefone:");
            fgets(rf.telefone,15,stdin);
            setbuf(stdin,NULL);
            printf("\nE-mail:");
            fgets(rf.email,30,stdin);
            setbuf(stdin,NULL);

            /*posicionando no final do arquivo*/
            fseek(a,sizeof(TFuncionario)*p,SEEK_SET);
            fwrite(&rf,sizeof(TFuncionario),1,a);
        }
        else
            printf("\nMatriclua inexistente!!!");

        printf("\n\nDeseja sair da alteração? 1-Sim 2-Não ");
        scanf("%d",&sair);

    }while(sair!=1);
}


/*Alterar o departamento do funcionario e atualizar o arquivo histdep*/
void alteracaoFunDep(FILE *a,FILE *da, FILE *hist){
    int sair,p,cod,achou;
    TFuncionario rf;
    TDepartamento rd;
    do{
        printf("\nForneça a matricula do funcionario:");
        fgets(rf.matricula,10,stdin);

        p=pesquisaFun(a,rf.matricula);
        if(p==-1){
            do{
                setbuf(stdin,NULL);
                printf("\nForneça o novo departamento do funcionario:");
                fgets(rf.cod_dep,60,stdin);
                setbuf(stdin,NULL);
                achou=0;
                if(pesquisaDep(da,rd.codigo)==1)
                    printf("\nDepartamento não cadastrado!!!");
                else
                    achou=1;
            }while(achou==0);
            strcpy(rf.cod_dep,cod);

            /*posicionando no final do arquivo*/
            fseek(a,sizeof(TFuncionario)*p,SEEK_SET);
            fwrite(&rf,sizeof(TFuncionario),1,a);
        }
        else
            printf("\nMatriclua inexistente!!!");

        printf("\n\nDeseja sair da alteração? 1-Sim 2-Não ");
        scanf("%d",&sair);
    }while(sair!=1);
}

/*Alterar o salario do funcionario*/
void alteracaoSalarioFun(FILE *a,FILE *hist){
    int sair,p,cod,achou;
    TFuncionario rf;
    TDepartamento rd;
    do{
        printf("\nForneça a matricula do funcionario:");
        fgets(rf.matricula,10,stdin);

        p=pesquisaFun(a,rf.matricula);
        if(p==-1){
                setbuf(stdin,NULL);
                printf("\nForneça o novo salario do funcionario:");
                scanf("%lf",&rf.salario);
                setbuf(stdin,NULL);

            /*posicionando no final do arquivo*/
            fseek(a,sizeof(TFuncionario)*p,SEEK_SET);
            fwrite(&rf,sizeof(TFuncionario),1,a);
        }
        else
            printf("\nMatriclua inexistente!!!");

        printf("\n\nDeseja sair da alteração? 1-Sim 2-Não ");
        scanf("%d",&sair);
    }while(sair!=1);
}

/*Alterar o salario do funcionario e atualizar o arquivo histsal*/
void alteracaoGerenteDep(FILE *da,FILE *a, FILE *hist){
    int sair,p,cod,achou;
    TFuncionario rf;
    TDepartamento rd;
    do{
        printf("\nForneça o codigo do departamento:");
        scanf("%li",&rd.codigo);

        p=pesquisaDep(da,rd.codigo);
        if(p==-1){
                setbuf(stdin,NULL);
                printf("\nForneça a matricula do novo gerente do departamento:");
                scanf("%li",&rd.cod_gerente);
                setbuf(stdin,NULL);

            /*posicionando no final do arquivo*/
            fseek(a,sizeof(TFuncionario)*p,SEEK_SET);
            fwrite(&rf,sizeof(TFuncionario),1,a);
        }
        else
            printf("\nMatriclua inexistente!!!");

        printf("\n\nDeseja sair da alteração? 1-Sim 2-Não ");
        scanf("%d",&sair);
    }while(sair!=1);
}


int main(){
    FILE *func;
    FILE *dep;
    FILE *histfun;
    FILE *histdep;
    FILE*histsal;
    int opcao;
    func = fopen("funcionario.dat","rb+");
    dep = fopen("departamento.dat","rb+");
    histfun = fopen("histfun.dat","rb+");
    histdep = fopen("histdep.dat","rb+");
    histsal = fopen("histsal.dat","rb+");

    if (dep==NULL)
     dep=fopen("departamento.dat","wb+");
        if (dep==NULL){
         printf("\nErro na abertura do arquivo");
        }
        else
            func=fopen("funcionario.dat","rb+");
            if(func==NULL){
                func=fopen("funcionario.dat","wb+");
            }
            if(func==NULL){
                printf("\nErro na abertura do arquivo");
            }
            else{
                histfun=fopen("histfun.dat","rb+");
            }
            if(histfun==NULL){
                histfun=fopen("histfun.dat","wb+");
            }
            if(histfun==NULL){
                printf("\nErro na abertura do arquivo");
            }
            else{
                histdep=fopen("histdep.dat","rb+");
            }
            if(histdep==NULL){
                histdep=fopen("histdep.dat","wb+");
            }
            if(histdep==NULL){
                printf("\nErro na abetura do arquivo");
            }
            else{
                histsal=fopen("histsal.dat","rb+");
            }
            if(histsal==NULL){
                histsal=fopen("histsal.dat","wb+");
            }
            if(histsal==NULL){
                printf("\nErro na abertura do arquivo");
            }

    else
        do{
            printf("\n******************************************************\n");
            printf("\n*            Controle de Funcionarios                *\n");
            printf("\n******************************************************\n");
            printf("\n1-Cadastro de Departamentos\n2-Cadastro de Funcionarios");
            printf("\n3-Consultar Funcionario");
            printf("\n4-Relatorio de Funcionários por Departamento");
            printf("\n5-Alterar um funcionario");
            printf("\n6-Alterar Departamento de um Funcionario");
            printf("\n7-Alterar Gerente de um Departamento");
            printf("\n8-Gerar Folha de Pagamento");
            printf("\n9-Alterar o salario de um Funcionario");
            printf("\n10-Historico de Salario em um periodo");
            printf("\n11-Gerentes de um Departamento");
            printf("\n12-Fim\nForneça sua opção:");
            scanf("%d", &opcao);
            switch(opcao){
                case 1:
                    cadDep(dep,func);
                    break;
                case 2:
                    cadFun(func, dep);
                    break;
                case 3:
                    consFun(func,dep);
                    break;
                case 5:
                    alteracaoFun(func,dep, histfun);
                    break;
                case 6:
                    alteracaoFunDep(func,dep,histfun);
                    break;
                case 7:
                    alteracaoGerenteDep(dep,func,histdep);
                case 9:
                    alteracaoSalarioFun(func,histsal);
                    break;

            }
        }while(opcao!=12);
        fclose(func);
        fclose(dep);
        fclose(histfun);
        fclose(histdep);
        fclose(histsal);
    return 0;
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por biza
      Ola
      Estou  a construir um datalogger em código C.Desta forma necessito passar os dados entre ficheiros. O meu problema está na inclusão de algumas variáveis no topo de um arquivo .txt onde os dados são salvos. Variáveis como tempo de data e hora, id do dispositivo e muito mais... Para isso preciso de ajuda, gostaria que os dados estivessem disponíveis para todos os arquivos, até aí é fácil, basta incluir a variável como extern, no arquivos *.h e incluí-lo em todos os outros que você deseja que a variável esteja disponível. mas como posso fazer para ter acesso a ele dentro do array que preciso?
      Exemplo: main.c
      #include "main.h" char dateTimeFormat[24]; void main(void){ dateTimeFormat = "22-02-22 13:23:04"; } main.h
      extern char dateTimeFormat[24];  
      teste.c
       
      #include "main.h" extern char dateTimeFormat[24]; /*Header .txt file initialization*/ volatile char headerFile[] ="\n\n" "# HEALT MONITORING SYSTEM \r\n" "# DEVELOPED: BIZA \r\n" "# VERSION: B \r\n" "# DATATIMECAPTURE:"+dateTimeFormat+ "\r\n" "# SAMPLINGFREQUENCY: 500 \r\n" "# SAMPLECHANNELS: 1 2 3 4 5 6 7 8 \r\n" "# SAMPLINGRESULUTION: 24 \r\n" "# IDDEVICE: HEALTHY \r\n" "# ENDOFHEADER  
      Como posso incluir a variável "dateTimeFormat" dentro do headerFile como descrevi acima?
       
    • Por Wilherme
      Boa tarde galera, preciso de uma ajuda,
       
      Tenho um gráfico no meu Power Bi porem apresenta o erro abaixo:
       

       
      já habilitei as funções porém ainda com erro.
       
       
      Obrigado.
    • Por 4Unknow
      Bom dia comunidade Imasters.

      Venho aqui tratar de um problema dúvida que estou tendo com um layout que estou tentando usar o formulário php dele.
      Quando clico em enviar ele me enviar para um arquivo .php  (assets/vendor/simple-forms/sendmail.php)

      Ele não envia o e-mail, acredito que deveria aparecer uma mensagem que o contato foi enviado corretamente.
      Vou deixar os arquivos aqui em anexo quem puder me ajudar nessa, ficaria muito grato.
       
      Link Website (wetransfer.com)
    • Por Algorithm
      Olá a todos
       
      Eu estou codificando um exemplo de uso do GraphQL com Nodejs, mas eu estou recebendo um erro de syntax relacionado a [ : ] [ Dois Pontos ], mas eu comparei meu codigo, com o da documentação oficial e esta tudo certo. Será que alguem, conseguiria achar o erro ?
       
      OBS: Esta incluso neste post [ Exemplo Documentação, Meu Exemplo, Mensagem de Erro, Código Completo ]
       
      Exemplo Documentação
      module.exports = /* GraphQL */ ` type Client { id: ID! name: String age: Int products: [Product] } type Query { clients: [Client] client(id: ID!): Client } type Mutation { addClient(name: String!, age: Int!): Client } `  
      Meu Exemplo
      const typeDefs = ` type Pessoa { _id: ID _codigo: Float _nome: String _idade: Int _email: String } input inputPessoa { _codigo: Float _nome: String _idade: Int _email: String } type Query { resposta: String saudacao(nome: String!): String findPessoaOne(codigo: Float): Pessoa findPessoa(input: inputPessoas): [Pessoa] } type Mutation { insertPessoa(input: inputPessoa): Pessoa updatePessoa(codigo: Float, input: inputPessoa) Pessoa deletePessoa(codigo: Float) [Pessoa] } `;  
      Mensagem de Erro
      C:\Users\Core\node\node_modules\graphql\language\parser.js:1413 throw (0, _syntaxError.syntaxError)( ^ GraphQLError: Syntax Error: Expected ":", found Name "Pessoa". at syntaxError (C:\Users\Core\node\node_modules\graphql\error\syntaxError.js:15:10) at Parser.expectToken (C:\Users\Core\node\node_modules\graphql\language\parser.js:1413:40) at Parser.parseFieldDefinition (C:\Users\Core\node\node_modules\graphql\language\parser.js:847:10) at Parser.optionalMany (C:\Users\Core\node\node_modules\graphql\language\parser.js:1510:28) at Parser.parseFieldsDefinition (C:\Users\Core\node\node_modules\graphql\language\parser.js:831:17) at Parser.parseObjectTypeDefinition (C:\Users\Core\node\node_modules\graphql\language\parser.js:803:25) at Parser.parseDefinition (C:\Users\Core\node\node_modules\node_modules\graphql\language\phql\language\parser.js:171:23) at Parser.many (C:\Users\Core\node\node_modules\graphql\language\parser.js:1529:26) at Parser.parseDocument (C:\Users\Core\node\node_modules\graphql\language\parser.js:121:25) at parse (C:\Users\Core\node\node_modules\graphql\language\parser.js:32:17) { path: undefined, locations: [ { line: 26, column: 57 } ], extensions: [Object: null prototype] {} }  
      Codigo Completo
      // Requires const express = require('express'); const GraphQL_HTTP = require('express-graphql'); const { mergeSchemas } = require('@graphql-tools/schema'); // Run // const connect = MongoClient.connect(''); const app = express(); const getCode = () => { return 10 }; // GraphQL Definitions || Query and Mutation const typeDefs = ` type Pessoa { _id: ID _codigo: Float _nome: String _idade: Int _email: String } input inputPessoa { _codigo: Float _nome: String _idade: Int _email: String } type Query { resposta: String saudacao(nome: String!): String findPessoaOne(codigo: Float): Pessoa findPessoa(input: inputPessoas): [Pessoa] } type Mutation { insertPessoa(input: inputPessoa): Pessoa updatePessoa(codigo: Float, input: inputPessoa) Pessoa deletePessoa(codigo: Float) [Pessoa] } `; // Functions const resolvers = { Query: { resposta: function() { return `GraphQL Conectado com Sucesso...`; }, saudacao: function(_, args) { return `Olá ${args.nome}! Seja Muito Bem Vindo(a) a GraphQL!!!! ` }, findPessoaOne: function(_, args) { return db.collection('GraphQL-Pessoa').findOne({codigo: args.codigo}) .then((result) => { return result; }); }, findPessoa: function(_, args) { return db.collection(`GraphQL-Pessoa`).find(args.input).toArray() .then((result) => { return result; }); }, Mutation: { insertPessoa: function(_, args) { args.input.codigo = getCode(); return db.collection(`GraphQL-Pessoa`).insertOne(args.input) .then((result) => { return result.ops[0]; }); }, updatePessoa: function(_, args) { return db.collection('GraphQL-Pessoa').updateOne({codigo: args.codigo}, {$set: args.input}) .then((result) => { if(result.result.n > 0) return `Registro Alterado com Sucesso!`; else return `Ocorreu um erro ao alterar o registro`; }); }, deletePessoa: function(_, args) { return db.collection(`GraphQL-Pessoa`).deleteOne({codigo: args.codigo}) .then((result) => { if(result.result.n > 0) return `Registro Deletado com Sucesso!`; else return `Ocorreu um erro ao deletar o registro`; }); } } } }; const schema = mergeSchemas({ typeDefs: typeDefs, resolvers: resolvers }) // Listen app.listen(3005, () => { console.log(`Servidor Rodando na Porta 3005`); })  
       
      Obrigado
    • Por Kefatif
      Prezados, bom dia.
       
      Preciso da ajuda dos Srs!
       
      Não estou conseguindo localizar o erro no arquivo abaixo.
       
      Ao clicar no botão ele me envia a mensagem: "Erro ao registrar estoque !"
       
      Poderiam me ajudar?
       
      Agradeço desde já pela ajuda.
       
      <?php include_once 'autenticacao.php'; include_once'../../conexao.php'; include_once '../../funcoes.php'; include_once '../../decodepost.php'; if( !isset($_POST["cont"]) or !isset($_SESSION["cnes"]) ){ ECHO "Erro"; }else{ $cnes = $_SESSION["cnes"]; $idusuario = $_SESSION["idusuario"]; $cont = $_POST["cont"]; $sql = "insert into LESAO_ESTOQUE values(null,curdate(), '".$cnes."',".$idusuario.")"; if(mysqli_query($con, $sql)){ $idestoque = mysqli_insert_id($con); $coberturas = 0; for($i=1 ; $i<=$cont; $i++){ if(isset($_POST[$i])){ if($_POST[$i]<=0){ }else{ $qtd = $_POST[$i]; $sqlqtd = "insert into LESAO_REL_ESTOQUE_COBERTURAS values(".$idestoque.", ".$i.", ".$qtd.", ".$idusuario.")"; if(mysqli_query($con, $sqlqtd)){ $coberturas = $coberturas+1; } } } } $grav = "Registrado estoque de ".$coberturas." coberturas !"; }else{ $grav = "Erro ao registrar estoque !"; } //5- Fechar a conexão mysqli_close($con); ?> <script> alert('<?php echo $grav; ?>'); location.href="estoque-registrar.php"; </script> <?php } ?>  
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.