-
Conteúdo Similar
-
Por Kefatif
Prezados, boa tarde.
Utilizo um banco de dados Mysql + Programação PHP e HTML.
Preciso que no filtro do sql ele não me traga o estoque do CNES "0000000", como eu poderia ta excluindo ele do filtro?
$sqlestoque = "select A.ID_ESTOQUE, D.CNES, D.NOME_UNIDADE, B.COBERTURA, A.QTD, C.DATA_REGISTRO FROM lesao_rel_estoque_coberturas A INNER JOIN lesao_coberturas B ON A.ID_COBERTURA = B.ID_COBERTURA INNER JOIN lesao_estoque C ON A.ID_ESTOQUE = C.ID_ESTOQUE INNER JOIN unidades D ON C.CNES = D.CNES WHERE C.ID_ESTOQUE = (SELECT MAX(E.ID_ESTOQUE) FROM lesao_estoque E WHERE E.CNES = C.CNES) ORDER BY A.ID_ESTOQUE DESC";
Agradeço a ajuda desde já.
Muito obrigado!
-
Por ricardorstc
E aí, pessoa tudo certo?
Estou fazendo um programa que imita uma loja de informática com structs, alocação dinâmica e pilha em c e preciso da ajuda de vcs em algumas funções que não consegui fazer. Preciso que me ajudem fazer uma função para Editar um bloco especifico da pilha, outra função para Apagar um bloco especifico na pilha e uma função para Buscar valores a cima do informado pelo usuário, por exemplo: se o usuário digitar o preço 5, é pra mostrar os produtos com valores acima de 5. Vou mandar o código do que fiz aqui em baixo, mas a função excluir está errada, desconsiderem ela.
#include <stdio.h> #include <stdlib.h> #include <ctype.h> typedef struct kabum { char desc [30]; int cod; float valor; struct kabum *ant; } p; p *novo, *topo=NULL; int i=0; int quant; FILE *arquivo; int inserir () { printf("\n\n QUANTOS PRODUTOS QUER CADASTRAR?: "); scanf("%d",&quant); for (i=0; i<quant; i++) { novo=(p *) malloc (2*sizeof(p)); fflush(stdin); printf("\n\n PRODUTO: "); gets(novo->desc); printf(" CODIGO: "); scanf("%d",&novo->cod); printf(" VALOR: R$"); scanf("%f",&novo->valor); novo->ant=NULL; if(topo==NULL) //pilha vazia? { topo=novo; } else { novo->ant=topo; topo=novo; } } return (0); } int mostrar () { p *tmp; tmp=topo; if (tmp==NULL) //aqui ele testa p/ saber se a pilha está fazia { printf ("\n\n PILHA VAZIA! INSIRA UM DADO E TENTE NOVAMENTE.\n"); } else { while (tmp!=NULL) { printf("\n\n PRODUTO: %s\n", tmp->desc); printf(" CODIGO: %d\n",tmp->cod); printf(" VALOR: R$%0.2f\n\n",tmp->valor); tmp=tmp->ant; } } return (0); } int deletar () { char alerta; p *extra; extra = topo; if (topo == NULL) { printf ("\n\n PILHA VAZIA!\n"); } else { printf("\n\n TEM CERTEZA DE DESEJA EXCLUIR A PILHA? (S/N): "); scanf("%c",&alerta); alerta=tolower(alerta); if (alerta=='s') { topo = topo -> ant; free(extra); printf("\n PILHA DELETADA! \n"); } if (alerta=='n') { printf("\n PILHA NAO DELETADA! \n"); } if (alerta!='s' && alerta!='n') { printf("\n\n OPCAO INVALIDA\n"); } } return(0); } int salvar() { p *tmp; tmp=topo; arquivo=fopen("text.txt","wb"); /* if (tmp==NULL) { printf("\n\n ERRO AO SALVAR, PILHA ESTA VAZIA. INSIRA UM DADO E TENTE NOVAMENTE! \n"); }*/ while (tmp!=NULL) { fprintf(arquivo,"\n\n PRODUTO: %s \n",tmp->desc); fprintf(arquivo," CODIGO: %d \n",tmp->cod); fprintf(arquivo," VALOR: %f ",tmp->valor); tmp=tmp->ant; } fclose(arquivo); printf("\n\n ARQUIVO SALVO COM SUCESSO!\n"); return 0; } int abrir() { p *tmp; tmp=topo; arquivo=fopen("text.txt","rt"); if (arquivo == NULL) { printf("\n\n NAO FOI POSSIVEL ABRIR O ARQUIVO. SALVE E TENTE NOVAMENTE! \n"); } char frase [10000]; while (fgets(frase, 1000,arquivo)!=NULL) { printf("%s\n",frase); } fclose(arquivo); return 0; } void sobre () { printf("\n\n"); printf(" *================================ SOBRE ================================*\n"); printf(" | |\n"); printf(" |PROGRAMA CRIADO UTILIZANDO ALOCACAO DINAMICA, STRUCTS E PONTEIROS, COMO|\n"); printf(" |FORMA DE AVALIACAO DA DISCIPLINA DE ESTRUTURA DE DADOS, DO PROFESSOR: |\n"); printf(" |GUSTAVO QUIRINO E APRESENTADO EM SALA DE AULA, COM A FINALIDADE DE |\n"); printf(" |OBTER UMA DAS NOTAS DA SEGUNDA UNIDADE. |\n"); printf(" | |\n"); printf(" | IDENTIFICACAO |\n"); printf(" | |\n"); printf(" |IFBA - CAMPUS BARREIRAS |\n"); printf(" |TURMA: 732 |\n"); printf(" |CURSO: INFORMATICA |\n"); printf(" |PROFESSOR: GUSTAVO QUIRINO |\n"); printf(" |COMPONENTES: LUCAS GOMES, MATEUS SENE E RICARDO CARVALHO |\n"); printf(" | |\n"); printf(" =========================================================================\n"); } int main () { char op_menu=0, op_menu_interno=0; /*variaveis zeradas pq pode ser que o programa seja exacutado mais de uma vez por isso eu zerei todas, para não pegar os valores das vezes anteriores. A cada nova execução todas são zeradas*/ do { printf("\n\n"); printf(" *======================= MENU PRINCIPAL =========================*\n"); printf(" | |\n"); printf(" | |\n"); printf(" | A - INSERIR B - MOSTRAR |\n"); printf(" | |\n"); printf(" | C - DELETAR D - EDITAR |\n"); printf(" | |\n"); printf(" | E - BUSCAR F - SALVAR |\n"); printf(" | |\n"); printf(" | G - ABRIR H - SOBRE |\n"); printf(" | |\n"); printf(" | S - SAIR |\n"); printf(" | |\n"); printf(" | |\n"); printf(" ==================================================================\n"); fflush(stdin); printf("\n Digite...: "); scanf("%c", &op_menu); op_menu=tolower(op_menu); fflush(stdin); //limpa o buffer do teclado switch(op_menu) { case 'a' : fflush(stdin); system("cls"); //limpa a tela inserir(); printf("\n"); do { printf(" 0 - Menu principal: "); scanf("%s",&op_menu_interno); } while (op_menu_interno!='0'); system("cls"); break; fflush(stdin); case 'b': system("cls"); mostrar(); printf("\n"); do { printf(" 0 - Menu principal: "); scanf("%s",&op_menu_interno); } while (op_menu_interno!='0'); system("cls"); break; case 'c': fflush(stdin); system("cls"); deletar(); printf("\n"); do { printf(" 0 - Menu principal: "); scanf("%s",&op_menu_interno); } while (op_menu_interno!='0'); system("cls"); break; fflush(stdin); case 'd': fflush(stdin); system("cls"); printf("você digitou: 4"); printf("\n"); do { printf(" 0 - Menu principal: "); scanf("%s",&op_menu_interno); } while (op_menu_interno!='0'); system("cls"); break; fflush(stdin); case 'e': case 'f': fflush(stdin); system("cls"); salvar(); printf("\n"); do { printf(" 0 - Menu principal: "); scanf("%s",&op_menu_interno); } while (op_menu_interno!='0'); system("cls"); break; case 'g': fflush(stdin); system("cls"); abrir(); printf("\n"); do { printf(" 0 - Menu principal: "); scanf("%s",&op_menu_interno); } while (op_menu_interno!='0'); system("cls"); break; case 'h': system("cls"); sobre(); printf("\n"); do { printf(" 0 - Menu principal: "); scanf("%s",&op_menu_interno); } while (op_menu_interno!='0'); system("cls"); break; case 's': system("cls"); printf("\n"); printf("Finalizando programa..."); printf("\n"); exit(0); break; default: system("cls"); printf("Codigo invalido! Digite novamente"); break; } } while (op_menu!=5); return (0); }
-
Por Leandro Pinto
Já tentei excluir desses dois jeitos:
. oraenv (orcl)
sqlplus / as sysdba
sql>alter diskgroup data drop file '+DATA/spfileASM.ora';
e também:
. oraenv (+ASM)
asmcmd
asmcmd>cd DATA
asmcmd>data>rm spfileASM.ora
e acontece o erro:
ora-15032: not all alterations performed
ora-15028: ASM file '+data/spfileASM.ora' not dropped; currently being accessed (DBD ERROR: OCIStmRxecute)
-
Por Mayara Andres
Estou fazendo um trabalho da faculdade e estou com vários problemas "bestas" mas que não consigo resolver.
É um sistema para uma biblioteca, que possui os menus: Usuario, Livros, Editoras e Emprestimos. (E em cada um deles, sub-menus com cadastrar, alterar, excluir e listar)
Comecei fazendo pelo menu usuario. Ele cadastra e lista os cadastros, o código do usuario é inserido sozinho.
ERRO 1: Quando inicio o programa, digito 1 pra entrar no menu Usuario, e 1 pra cadastrar (nessa parte, eu tenho que digitar 1, dar enter e digitar 1 novamente, só assim ele entra no sub-menu de cadastro. Acontece a mesma coisa para todos os outros menus.
ERRO 1.1: Quando eu listo os cadastros, ele sempre mostra um mais, como o chamado "lixo", mesmo usando fflush.
ERRO 2: Para alterar o cadastro do usuario, preciso que o usuario insira o codigo, verificar se é igual ao cadastrado e só assim alterar, mas ele cai sempre no else.
/* ============================================================================ Name : biblioteca-mayara.c Author : Mayara Version : Copyright : Your copyright notice Description : Hello World in C, Ansi-style ============================================================================ */ #include <stdio.h> #include <stdlib.h> typedef struct { int codUsuario,cpf; char nomeUsuario[20]; }usuario; //INICIO FUNCOES //FUNCAO QUE NAO RETORNA NEM RECEBE NADA, SÓ IMPRIMI O CABECALHO void cabecalho () { printf ("\t\t ========================================== \n"); printf ("\t\t = SISTEMA DE GERENCIAMENTO DE BIBLIOTECA =\n"); printf ("\t\t ==== DESENVOLVIDO POR MAYARA ANDRES ==== \n"); printf ("\t\t ========================================== \n"); } //FUNCAO QUE RECEBE A OPCAO DO MENU E RETORNA A MESMA int menuPrincipal () { int opMP = 0; printf ("\t\t\t\t MENU PRINCIPAL \n "); printf ("\t\t\t\t 1 - Usuarios \n"); printf ("\t\t\t\t 2 - Livros \n"); printf ("\t\t\t\t 3 - Editoras \n"); printf ("\t\t\t\t 4 - Emprestimos \n"); printf ("\t\t\t\t 5 - Sair \n"); scanf ("%d", &opMP); return opMP; } //FUNCAO QUE RECEBE A OPCAO DO MENU DE USUARIOS E RETORNA A MESMA int menuUsuario () { int opMU = 0; printf ("\t\t\t\t 1 - Cadastrar \n"); printf ("\t\t\t\t 2 - Listar \n"); printf ("\t\t\t\t 3 - Alterar \n"); printf ("\t\t\t\t 4 - Excluir \n"); printf ("\t\t\t\t 5 - Sair \n"); scanf ("%d", &opMU); } //FUNCAO PARA ZERAR O VETOR DE USUARIOS void zerarVetor (usuario *vet) { int i; for (i=0;i<20;i++) { vet.codUsuario = 0; vet.cpf = 0; } } //FUNCAO QUE RECEBE O VETOR E RETORNA EM QUE POSICAO DO VETOR //FOI INSERIDO O ULTIMO USUARIO int retornaUltPosicao (usuario *vet) { int i=0; //verifica se o vetor na posicao i é maior que zero //se for maior que zero, tem usuario cadastrado //acrescenta um while(vet[i+1].codUsuario > 0) { i++; } //sai do loop e retorna a ultima posicao encontrada return i+1; } //funcao para cadastro de usuarios void cadastrarUsuario (usuario *vet) { int i = 0; //busca a ultima posicao cadastrada i = retornaUltPosicao(vet); /*if (i == 0) { i = 1; }*/ //delimitar para 20 o numero de registros if (i == 20) { printf ("Limite de usuarios atingido \n"); system ("PAUSE"); return; } //aqui começa o cadastro printf (" \t\t\t\tCADASTRAR USUARIO: \n"); printf ("\t\t\t\t----------------------\n"); printf ("\n\n\t\t\t\tCodigo do usuario: %d \n",i); // fflush (stdin); vet.codUsuario = i; printf ("\n \t\t\t\tDigite o nome do usuario: "); fflush (stdin); gets (vet.nomeUsuario); printf ("\n \t\t\t\tDigite o cpf do usuario: "); //fflush (stdin); scanf ("%d", &vet.cpf); printf ("\n\t\t\t\tUsuario cadastrado com sucesso!\n"); system ("PAUSE"); } void listaUsuarios (usuario *vet) { int i; printf (" \t\t\t\tUSUARIOS CADASTRADOS: \n"); printf ("\t\t ==========================================\n"); for (i=1;i<=retornaUltPosicao(vet);i++) { printf ("\n\t\t\t\t Usuario Numero: %d",i); printf ("\n\t\t\t\t Cod: %d", vet.codUsuario); printf ("\n\t\t\t\t Nome: %s ", vet.nomeUsuario); printf ("\n\t\t\t\t CPF: %d ", vet.cpf); printf ("\n \n"); } system ("PAUSE"); } void excluirUsuario (usuario *vet) { int i,cod; printf("Digite o codigo do usuario: "); scanf("%d", &cod); /*for (i=0;i<20;i++) { if (vet.codUsuario == cod) { vet.nomeUsuario = ""; vet.cpf = ""; }*/ } } void alterarUsuario (usuario *vet) { int i,cod; printf("Digite o codigo do usuario: "); scanf("%d", &cod); for (i=0;i<20;i++) { //CAI SEMPRE NO ELSE if (vet.codUsuario == cod) { printf("Digite o nome: "); fflush(stdin); gets(vet.nomeUsuario); printf("\n"); printf("Digite o cpf: "); scanf("%d", vet.cpf); printf("Usuario alterado com sucesso!"); } else { printf("Codigo invalido \n"); } system ("pause"); } } //FIM FUNCOES int main() { //vetor do tipo usuario de 20 posicoes usuario vet[20]; //variavel pra usar no switch int opEscolhida; //chamando o zerar vetor USUARIOS zerarVetor(vet); //while pra repetir while (1==1) { //limpa a tela system ("CLS"); //chama o cabeçalho cabecalho(); //op recebe o que foi escolhido no menu opEscolhida = menuPrincipal(); switch (opEscolhida) { case 1: //limpa a tela system("CLS"); //chama o cabecalho cabecalho(); //printf pra mostrar qual o menu printf ("\t\t\t\t MENU USUARIOS \n"); //chama o menu de usuarios menuUsuario(vet); int opmenuusuario; scanf("%d", &opmenuusuario); if (opmenuusuario == 1) { system ("CLS"); cabecalho(); cadastrarUsuario(vet); } if (opmenuusuario == 2) { system ("CLS"); cabecalho(); listaUsuarios(vet); } if (opmenuusuario == 3) { system ("CLS"); cabecalho(); alterarUsuario(vet); } /*if (opmenuusuario == 4) { system ("CLS"); cabecalho(); excluiUsuario (vet); }*/ break; case 2: //limpa a tela system("CLS"); //chama o cabecalho cabecalho(); //printf pra mostrar qual o menu printf ("\t\t\t\t MENU LIVROS \n"); //chama o menu de livros menuLivro(vet2); break; case 3: //limpa a tela system("CLS"); //chama o cabecalho cabecalho(); //printf pra mostrar qual o menu printf ("\t\t\t\t MENU EDITORA \n"); //chama o menu de editoras menuEditora(vet3); break; case 4: //limpa a tela system("CLS"); //chama o cabecalho cabecalho(); //printf pra mostrar qual o menu printf ("\t\t\t\t MENU EMPRESTIMOS \n"); //chama o menu de emprestimos menuEmprestimo(vet4); break; case 5: printf("VOCE ESCOLHEU SAIR DO PROGRAMA!\n"); printf("\n\n"); system ("PAUSE"); /* default: printf("OPCAO INVALIDA, POR FAVOR SELECIONE UM ITEM DO MENU"); printf("\n\n"); system ("PAUSE");*/ }//FECHA SWITCH }//FECHA WHILE }//FECHA MAIN
-