Ir para conteúdo

Recommended Posts

Pessoal queria uma ajuda para fazer esse código funcionar corretamente, o problema é o seguinte, É pra desenvolver um algoritmo que fique recebendo números e quando for digitado o número 0 "zero" o programa pare e mostre o maior e o menor número digitado, usando a função repita - até. Vou deixar anexado a imagem do código que eu fiz.

IMG-20180619-WA0040.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por favor, deixe o código aqui para que possamos conferir e editar o mesmo. 

Ter um print do código é cansativo e nos faz ter que digitar o código novamente...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por renatomarq5s
      Boa tarde pessoal!!
      Estou iniciando no JS/Jquery e me apareceu um problema que não achei nenhuma solução
       
      Eu sei que quando usamos aspas duplas dentro dela podemos usar aspas simples.
       
      EX:  $("head").prepend("<meta http-equiv='Content-Security-Policy'>"); ou  $("head").prepend('<meta http-equiv="Content-Security-Policy">');
       
      Mas tenho um caso que tem que já tem aspas simpes e dupla, o que devo fazer?
      Segue o exemplo do código.
       
      $("head").prepend("<meta http-equiv='Content-Security-Policy' content='default-src gap://ready file://* *; style-src " + "self" + "http://* https://* " + "unsafe-inline" + "; script-src " + "self" + " http://* https://* " + "unsafe-inline" + "unsafe-eval" + '>");  
      Obrigado, e boa tarde a todos
    • Por teteuvec
      Prezados boa noite,
       
      Estou tentando atualizar dados no BD. Porém ao aplicar o update não gera erro e nem atualiza no DB.
      Segue abaixo o script. Já testei a conexão com o DB e funciona perfeitamente como function.
       
      <?php session_start(); if ($_SESSION['validate_login'] != true) { header("Location: /index.php"); } ini_set( "display_errors", true ); error_reporting( E_ALL ); require_once('../phpfunctions.php'); header('Content-Type: text/html; charset=utf-8'); switch ($_POST['action']) { case '0': $recordset = mysqli_query(connect(tupa), "SELECT * FROM people_records WHERE cpf_cnpj = {$_POST['cpf_cnpj']} ORDER BY id DESC") or die(mysqli_error(connect(tupa))); $_row = mysqli_num_rows($recordset); if ($_row == 0) { mysqli_query(connect(tupa), "UPDATE people_records SET name = {$_POST['name']}, cpf_cnpj = {$_POST['cpf_cnpj']}, cellphone = {$_POST['cellphone']}, telephone = {$_POST['telephone']} WHERE id = {$_POST['id']}") or die (mysqli_error(connect(tupa))); } else { echo "<script language='JavaScript'>alert('Este registro já existe.')</script>"; } mysqli_free_result($recordset); echo "<script language='JavaScript'>location.href='../system.php';</script>"; break;  
       
    • Por TeixeiraRamos
      Por favor,
      Clicando no botão "Alterar" abre o form "myModal", mostrando os registros para alterar.
      Ocorre que após fazer a alteração em qualquer campo mostra os erros.
       
       
       
       
      Código página index.php
       
      <?php // Salvo em C:\wamp\controleatividades\metadados\Index.php; //require_once 'classes/Usuarios.php'; function __autoload($class) { require_once '../classes/' . $class . '.php'; } ?> <!DOCTYPE html> <html lang="pt-BR"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --> <title>Controle de Atividades - Orientado a Objetos</title> <!-- Bootstrap --> <link href="../css/bootstrap.min.css" rel="stylesheet"> <script> var ch = '<?php echo sha1(time()); ?>'; </script> </head> <body> <div class="container"> <header> <img src="imagens/logo.png"/> <div class="well"> <h1 class="text-center">Controle de Atividades <br><span class="text-primary">Estudos</span></h1> </div> </header> <!-- Form cadastrar --> <div style="margin: 100px 0; text-align: center"> <?php $usuario = new Usuarios(); // Cadastro de Usuario if ( isset($_POST['cadastrar']) ): $nome_atividade = $_POST['nome_atividade']; $nome_livro = $_POST['nome_livro']; $nome_autor = $_POST['nome_autor']; $nome_editora = $_POST['nome_editora']; $quant_fl = $_POST['quant_fl']; $fl_parei = $_POST['fl_parei']; $data_inicio = $_POST['data_inicio']; $data_termino = $_POST['data_termino']; $data_paralisacao = $_POST['data_paralisacao']; $observacao = $_POST['observacao']; $usuario->setNome_atividade($nome_atividade); $usuario->setNome_livro($nome_livro); $usuario->setNome_autor($nome_autor); $usuario->setNome_editora($nome_editora); $usuario->setQuant_fl($quant_fl); $usuario->setFl_parei($fl_parei); $usuario->setData_inicio($data_inicio); $usuario->setData_termino($data_termino); $usuario->setData_paralisacao($data_paralisacao); $usuario->setObservacao($observacao); if ($usuario->insert()) { echo '<div class="alert alert-success alert-dismissible" role="alert"> <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button> <strong>OK!</strong> Incluido com sucesso!!! </div>'; } else { echo '<div class="alert alert-success alert-dismissible" role="alert"> <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button> <strong>OK!</strong> Erro ao alterar!!! </div>'; } endif; //exclusao de Usuario if (isset($_POST['excluir_ui'])){ $id = $_POST['id_ui']; $usuario->delete($id); } // Alterar Usuario if ( isset($_POST['alterar']) ) { $id_registros = $_POST['id_uii']; $nome_atividade = $_POST['nome_atividade']; $nome_livro = $_POST['nome_livro']; $nome_autor = $_POST['nome_autor']; $nome_editora = $_POST['nome_editora']; $quant_fl = $_POST['quant_fl']; $fl_parei = $_POST['fl_parei']; $data_inicio = $_POST['data_inicio']; $data_termino = $_POST['data_termino']; $data_paralisacao = $_POST['data_paralisacao']; $observacao = $_POST['observacao']; $usuario->setNome_atividade($nome_atividade); $usuario->setNome_livro($nome_livro); $usuario->setNome_autor($nome_autor); $usuario->setNome_editora($nome_editora); $usuario->setQuant_fl($quant_fl); $usuario->setFl_parei($fl_parei); $usuario->setData_inicio($data_inicio); $usuario->setData_termino($data_termino); $usuario->setData_paralisacao($data_paralisacao); $usuario->setObservacao($observacao); $usuario->update($id); } ?> <legend>Formulário Cadastrar</legend> <form class="form-inline" method="post"> <div class="input-group"> <label class="col-xs-1">Atividade:</label> <input name="nome_atividade" type="text" class="form-control"> <label class="col-xs-1">Livro:</label><br> <input name="nome_livro" type="text" class="form-control"> <label class="col-xs-1">Autor:</label><br> <input name="nome_autor" type="text" class="form-control"> <label class="col-xs-1">Editora:</label><br> <input name="nome_editora" type="text" class="form-control"> <label class="col-xs-1">Quant.Fls:</label><br> <input name="quant_fl" type="text" class="form-control"> <label class="col-xs-1">Fls. Parei:</label><br> <input name="fl_parei" type="text" class="form-control"> <label class="col-xs-1">Início:</label><br> <input name="data_inicio" type="text" class="form-control"> <label class="col-xs-1">Término:</label><br> <input name="data_termino" type="text" class="form-control"> <label class="col-xs-1">Paralisação:</label><br> <input name="data_paralisacao" type="text" class="form-control"> <label class="col-xs-1">Observação:</label><br> <input name="observacao" type="text" class="form-control"> </div> <div class="col-xs-pull-2" align="center"> <input name="cadastrar" type="submit" class="btn btn-success" value="Cadastrar"> </div> </form> </div> <!-- Fim form cadastrar --> <!-- Inicio da tabela --> <table class="table table-striped table-bordered table-hover"> <thead> <tr class="active"> <th>Atividade</th> <th>Livro</th> <th>Autor</th> <th>Editora</th> <th>Quant. fl</th> <th>Fl Parei</th> <th>Inicio</th> <th>Término</th> <th>Parei</th> <th>Observação</th> </tr> </thead> <tbody> <?php foreach ($usuario->findAll() as $key => $value) { ?> <tr> <td> <?php echo $value->nome_atividade;?> </td> <td> <?php echo $value->nome_livro;?> </td> <td> <?php echo $value->nome_autor;?> </td> <td> <?php echo $value->nome_editora;?> </td> <td> <?php echo $value->quant_fl;?> </td> <td> <?php echo $value->fl_parei;?> </td> <td> <?php echo $value->data_inicio;?> </td> <td> <?php echo $value->data_termino;?> </td> <td> <?php echo $value->data_paralisacao;?> </td> <td> <?php echo $value->observacao;?> </td> <td> <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#myModal" onclick="load_modal ('<?php echo $value->nome_atividade;?>', '<?php echo $value->nome_livro;?>', '<?php echo $value->nome_autor;?>', '<?php echo $value->nome_editora;?>', '<?php echo $value->quant_fl;?>', '<?php echo $value->fl_parei;?>', '<?php echo $value->data_inicio;?>', '<?php echo $value->data_termino;?>', '<?php echo $value->data_paralisacao;?>', '<?php echo $value->observacao;?>', <?php echo $value->id_registros;?>);">Alterar</button> <form class="form_excluir" method="post" style="float: left; margin: 0 15px;"> <input name="id_ui" type="hidden" value="<?php echo $value->id_registros;?>"/><button name="excluir_ui" type="submit" onclick="fn_excluir();" class="btn btn-danger">Excluir</button></form> <!--Fernando C do forum descobriu erro no nome da função --> </td> </tr> <?php } ?> </tbody> </table> <!-- Fim da tabela --> <!-- Modal para alterar Usuário --> <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> <h4 class="modal-title" id="myModalLabel">Alterando Usuário</h4> </div> <div class="modal-body"> <form class="form-inline" method="post"> <div class="input-group"> <span class="input-group-addon glyphicon glyphicon-user"></span> <input id="text_nome_atividade" name="nome_atividade" type="nome_atividade" class="form-control" required value="" > </div> <div class="input-group"> <span class="input-group-addon glyphicon glyphicon-user"></span> <input id="text_nome_livro" name="nome_livro" type="text" class="form-control" required value="" > </div> <div class="input-group"> <span class="input-group-addon glyphicon glyphicon-user"></span> <input id="text_nome_autor" name="nome_autor" type="text" class="form-control" required value="" > </div> <div class="input-group"> <span class="input-group-addon glyphicon glyphicon-user"></span> <input id="text_nome_editora" name="nome_editora" type="text" class="form-control" required value="" > </div> <div class="input-group"> <span class="input-group-addon glyphicon glyphicon-user"></span> <input id="text_quant_fl" name="quant_fl" type="text" class="form-control" required value="" > </div> <div class="input-group"> <span class="input-group-addon glyphicon glyphicon-user"></span> <input id="text_fl_parei" name="fl_parei" type="text" class="form-control" required value="" > </div> <div class="input-group"> <span class="input-group-addon glyphicon glyphicon-user"></span> <input id="text_data_inicio" name="data_inicio" type="text" class="form-control" required value="" > </div> <div class="input-group"> <span class="input-group-addon glyphicon glyphicon-user"></span> <input id="text_data_termino" name="data_termino" type="text" class="form-control" required value="" > </div> <div class="input-group"> <span class="input-group-addon glyphicon glyphicon-user"></span> <input id="text_data_paralisacao" name="data_paralisacao" type="text" class="form-control" required value="" > </div> <div class="input-group"> <span class="input-group-addon glyphicon glyphicon-user"></span> <input id="text_observacao" name="observacao" type="text" class="form-control" required value="" > </div> <!--<input id="id_uii" name="id_uii" type="hidden" value=""/>--> <!--Fernando C pede para substituir só alinha acima por essa linha --> <input id="id_uii" name="id_uii" type="hidden" value=""/> <input name="alterar" type="submit" class="btn btn-warning" value="Alterar"> </form> </div> </div> </div> </div> <!-- fim Modal --> </div> <!-- fim cantainer --> <!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> <script src="https://code.jquery.com/jquery-1.11.3.min.js" integrity="sha256-7LkWEzqTdpEfELxcZZlS6wAx5Ff13zZ83lYO2/ujj7g=" crossorigin="anonymous"></script> <!-- Include all compiled plugins (below), or include individual files as needed --> <script src="../js/bootstrap.min.js"></script> <script src="../js/script.js"></script> } </body> </html>  
      O código do Usuários.php tem os seguinte código:
       
      <?php //------------------------------------------------------------- // PHP Data Objects (Objetos de Dados do PHP, em tradução livre) // PDO é Orientado a Objetos //------------------------------------------------------------- // ============================================================ // Usuarios.php salvo em C:\wamp\www\phpoo\classes\Usuarios.php //============================================================= /** * Description of Usuarios * * @author José Ivan */ require_once 'CrudUser.php'; class Usuarios extends CrudUser { protected $tabela = 'tb_controleatividades'; public function findUnit($id) { $sql = "SELECT * FROM $this->tabela WHERE id_registros = :id"; $stm = DB::prepare($sql); $stm->bindParam(':id', $id, PDO::PARAM_INT); $stm->execute(); return $stm->fetch(); } public function findAll() { $sql = "SELECT * FROM $this->tabela"; $stm = DB::prepare($sql); $stm->execute(); return $stm->fetchAll(); } public function insert() { $sql = "INSERT INTO $this->tabela (nome_atividade, nome_livro, nome_autor, nome_editora, quant_fl, fl_parei, data_inicio, data_termino, data_paralisacao, observacao\n" . ") VALUES (:nome_atividade, :nome_livro, :nome_autor, :nome_editora, :quant_fl, :fl_parei, :data_inicio, :data_termino, :data_paralisacao\n" . ", :observacao)"; $stm = DB::prepare($sql); $stm->bindParam(':nome_atividade', $this->nome_atividade); $stm->bindParam(':nome_livro', $this->nome_livro); $stm->bindParam(':nome_autor', $this->nome_autor); $stm->bindParam(':nome_editora', $this->nome_editora); $stm->bindParam(':quant_fl', $this->quant_fl); $stm->bindParam(':fl_parei', $this->fl_parei); $stm->bindParam(':data_inicio', $this->data_inicio); $stm->bindParam(':data_termino', $this->data_termino); $stm->bindParam(':data_paralisacao', $this->data_paralisacao); $stm->bindParam(':observacao', $this->observacao); return $stm->execute(); } public function update($id) { $sql = "UPDATE $this->tabela SET nome_atividade = :nome_atividade, nome_livro = :nome_livro, nome_autor = :nome_autor, nome_editora = :nome_editora, quant_fl = :quant_fl, fl_parei = :fl_parei, data_inicio = :data_inicio, data_termino = :data_inicio, data_paralisacao = :data_paralisacao, observacao = :observacao, \n" . " WHERE id_registros = :id"; $stm = DB::prepare($sql); $stm->bindParam(':id_registros', $id, PDO::PARAM_INT); $stm->bindParam(':nome_atividade', $this->nome_atividade); $stm->bindParam(':nome_livro', $this->nome_livro); $stm->bindParam(':nome_autor', $this->nome_autor); $stm->bindParam(':nome_editora', $this->nome_editora); $stm->bindParam(':quant_fl', $this->quant_fl); $stm->bindParam(':fl_parei', $this->fl_parei); $stm->bindParam(':data_inicio', $this->data_inicio); $stm->bindParam(':data_termino', $this->data_termino); $stm->bindParam(':data_paralisacao', $this->data_paralisacao); $stm->bindParam(':observacao', $this->observacao); return $stm->execute(); } public function delete($id) { $sql = "DELETE FROM $this->tabela WHERE id_registros = :id_registros"; $stm = DB::prepare($sql); $stm->bindParam(':id_registros', $id, PDO::PARAM_INT); return $stm->execute(); } } No index.php linha 119:
       
       
      Em Usuarios.php linha 83 é essa:
      return $stm->execute();  
      A parte de "Excluir" registro funciona, também está cadastrando.
       
       
      Muito obrigado.
       
       
       
       
       
       
    • Por Matheus William
      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; }  
    • Por GilvanBM46
      Rapaziada estou meio adoentado é preciso entregar uma tarefa simples amanha a noite, Preciso fazer um algorítimo em visualg que calcule o tempo gasto de saída de casa é chegada ao trabalho é mostre as horas gastas os minutos gastos é os segundos gastos.
       
      Consegui fazer ate a metade mais não estou conseguindo processar o resto.
      Quem poder da um tombo te agradeço muito. 
      Fiz uma parte 
       
      Var
      he,hs,me,ms,hora:inteiro
       
      Inicio
      escreva ("Digite a hora de entrada: ")
      leia (he)
      escreva ("Digite os minutos de entrada: ")
      leia (me)
      escreva("Digite a hora de saida: ")
      leia (hs)
      escreva ("Digite os minutos de saida: ")
      leia(ms)
      hora:= hs-he
      escreva("Passou", hora , ":horas")
      Fimalgoritmo
×

Informação importante

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