Ir para conteúdo
Fórum Script Brasil

Zackk

Membros
  • Total de itens

    16
  • Registro em

  • Última visita

Posts postados por Zackk

  1. Bom dia, estou com uma dúvida em como criar um session para controlar o login, só para eu poder dizer que usuário está logado e cadastra-lo nas compras do meu site.

    Eu tenho uma classe managed bean usuário para salvar o usuário e a classe session usuário abaixo.

    @ManagedBean
    @RequestScoped
    public class usuario {
    
        /** Creates a new instance of usuario */
        public usuario() {
        }
        
        private int cod;
        private String usuario;
    
        public int getCod() {
            return cod;
        }
    
        public void setCod(int cod) {
            this.cod = cod;
        }
    
        public String getUsuario() {
            return usuario;
        }
    
        public void setUsuario(String usuario) {
            this.usuario = usuario;
        }
        
    }

    Eu preciso instancia essa classe como session para que fique o tempo todo criada a partir do login com o id do usuário e o usuário.

    alguém sabe como eu crio a session e depois pego o id e o usuário quando precisa para por exemplo colocar na index??

    Agradeço desde já.
  2. /*2) Dada uma lista simplesmente encadeada, faça a função Lista *inverte(Lista *l)

    que inverte a ordem dos elementos da lista, ou seja, o primeiro passa a ser o último, etc.*/

    #include<stdio.h>
    #include<stdlib.h>
    
    struct Lista{
        int contador;
        int info;
        struct Lista *prox;
    };
    typedef struct Lista lista;
    
    lista *lst_cria(){
        return NULL;
    }
    
    void lst_imprime(lista *l){
        printf("\nImpressao da lista\n");
        for(lista *p = l; p != NULL; p = p -> prox){
            printf("\nInfo : %d", p -> info);
        }
    }
    
    void *lst_inverte(lista *l){
        int cont = l -> contador;
        int vet = (int*) malloc(cont * sizeof(int));
        lista *novo = (lista*) malloc(sizeof(lista));
        int j = 0;
        for(lista *p = l; p != NULL; p = p -> prox){
            vet[j++] = p->info;
        }
        for(lista *p = l; p != NULL; p = p -> prox){
            p -> info = vet[(l -> contador--)];
        }
    }
    
    lista* lst_insere(lista *l, int valor){
        lista *novo = (lista*) malloc(sizeof(lista));
        novo -> prox = l;
        novo -> info = valor;
        novo -> contador++;
        system("pause");
    return novo;
    }
    
    int main(){
        Lista *l;
        l = lst_cria();
        l -> contador = 0;
        int h = 0;
        do{
            l = lst_insere(l, h++);
        }while(h < 5);
        lst_inverte(l);
        lst_imprime(l);
    
        return 0;
    }

    oque eu to fazendo de errado?
  3. /*1) Implemente a função Lista *insere(Lista *l, int valor, int pos) que insere o elemento valor na posição pos da lista simplesmente encadeada.

    Para isso, um novo nó deve ser alocado e ligado aos demais. O valor de pos é um número, que ser for 2, por exemplo, indica que o novo nó alocado será o segundo nó da lista. */

    #include<stdio.h>
    #include<stdlib.h>
    
    
    
    struct Lista{
        int info;
        int posi;
        struct Lista* prox; //prox recebe o endereço de memória do nó anterior da lista
    };
    typedef struct Lista lista;
    
    lista* lst_cria(){
        return NULL;
    }
    
    lista* lst_insere(lista *l, int valor, int pos){
        if((pos - 1) > l -> posi){
            lista *novo = (lista*) malloc(sizeof(lista));
            novo -> prox = l;
            novo -> info = valor;
            novo -> posi++;
            printf("\nPosicao desejada inexistente!\nInserido na posicao %d\n",novo -> posi);
            return novo;
        }else{
    
        }
        system("pause");
        system("cls");
    }
    
    lista* lst_imprime(lista *l){
        system("cls");
        lista* p;
        for(p = l; p != NULL; p = p -> prox){
            printf("\nInfo = %d\n",p -> info);
        }
    }
    
    
    int main(){
        int pos, valor;
        Lista* l;
        l = lst_cria();
        l -> posi = 0;
        do{
            do{
                printf("\n\nInforme a posicao ou -1 para sair : ");
                scanf("%d",&pos);
                if(pos == -1){
                    exit(0);
                }
                if(pos <= 0){
                    printf("Valor invalido, Insira novamente\n\n");
                }else{
                    printf("Informe o valor a ser inserido : ");
                    scanf("%d",&valor);
                }
            }while(pos <= 0);
            lst_insere(l, valor, pos);
        }while(1);
        lst_imprime(l);
        system("pause");
        return 0;
    }

    Por favor alguém me ajude, eu fiz isso, mais não to conseguindo substituir a posição desejada pelo usuário, tipo quando ele pedir posição 2 e a lista tiver 3, eu pegar a 2 e colocar na 4 e o valor que ele deu na 2, entendeu?

    Por favor me ajudem

  4. Implemente a função raízes, que calcula as raízes de uma equação do segundo grau,

    do tipo ax2 + bx + c = 0. Essa função deve obedecer ao protótipo:

    int raizes (float a, float b, float c, float * x1, float * x2);

    onde a, b e c representam os coeficientes da equação, e x1 e x2 são ponteiros para as variáveis

    onde devem ser guardadas as raízes da equação. A função deve retornar o número de raízes

    reais que a equação possui.

    Observações:

    (a) Se as raízes forem reais e distintas, x1 deve guardar a raiz de menor valor e x2 a de maior

    valor e a função deve retornar 2.

    (B) Se as raízes forem reais e iguais x1 = x2 e a função deve retornar 1.

    © Se não existirem raízes reais, x1 = 0 e x2 = 0 e a função deve retornar 0.

    (d) Para o cálculo da raiz quadrada de um número, utilize a função sqrt definida na biblioteca

    padrão de funções do C. Essa função está definida no arquivo de cabeçalhos math.h e tem o

    protótipo

    double sqrt (double n);

    Função main

    #include<stdio.h>
    #include<math.h>
    #include"raizes.h"
    
    int main(){
        int a, b, c;
        float x1, x2;
        printf("Algoritmo para resolver equacao ax2 + bx + c = 0:");
        printf("\nInforme o valor de A :\n");
        scanf("%d",&a);
        printf("\nInforme o valor de B :\n");
        scanf("%d",&b);
        printf("\nInforme o valor de C :\n");
        scanf("%d",&c);
        raizes(a,b,c,&x1,&x2);
        return 0;
    }
    Função Raizes
    int raizes (int a, int b, int c, float * x1, float * x2){
        float delta;
        delta = pow(b,2) - 4 * (a*c);
        if(delta < 0){
            return 0;
        }else{
            if(delta == 0){
                printf("Duas raizes reais e iguais:");
                *x1 = ((-b) + pow(delta, 0.5))/2 * a;
                return 1;
            }else{
                printf("\n\nDuas raizes reais e distintas:");
                *x1 = ((-b) + pow(delta, 0.5))/2 * a;
                *x2 = -b - pow(delta, 0.5)/2*a;
                if(*x1 > *x2){
                    delta = *x1; *x1 = *x2; *x2 = delta;
                    printf("\n\nAs raizes são: [%.2f] e [%.2f]",x1,x2);
                }
            }
        }
    }

    Eu só quero saber se eu fiz exatamente oque o exercicio propos, por favor me digam , preciso entregar esse exercicio hoje de noite.

    Obrigado

  5. alguém me ajuda por favor, ta dando erro para passar vetor por referencia.

    /*11.  Implemente a  função negativos, que recebe como parâmetro um vetor de números
    de ponto flutuante (vet) de tamanho n e retorna quantos  números  negativos  estão
    armazenados nesse vetor. Essa função deve obedecer ao protótipo:
    int negativos (int n, float * vet); */
    
    #include<stdio.h>
    
    int negativos(int n, float *vet){
        for(int i = 1; i <= 20; i++){
            if(vet[i] < 0){
                n++;
            }
        }
        return n;
    }
    
    int main(){
        int n = 0;
        float vet[20];
        for(int h = 1; h <= 20; h++){
            printf("\nInsira o valor para a posicao %d :",h);
            scanf("f",&vet[h]);
        }
        printf("há %d numeros negativos!",negativos(n, &vet));
        return 0;
    }

  6. oiiii

    então, eu to fazendo um programa que funciona como uma calculadora, mais ai eu coloquei isso em uma função e salvei como uma biblioteca (calculadora.h) e coloquei na mesma pasta do programa que estou criando e queria saber como inclui-la no meu programa.

    De preferência se tiver um jeito que ele inclua quando o arquivo estiver na mesma pasta é melhor, porque tenho que entregar o código fonte e a biblioteca.

    alguém me ajude. obrigado.

  7. Oi td bom?

    Eu sou iniciante em java e estava fazendo um código que passaram como tarefa, mais ele não está compilando.

    Primeiro eu o fiz usando o Netbeans e ele compilou tudo certinho e executou, mais eu tenho que faze-lo executar pelo prompt do windows, e ele não está compilando no prompt, ele da erro e aponta para o public class, olha o meu código.

    public Class MC07{
        public static void main(String[] args) {
                   byte i = 37, j = 42, k = 42;
                    System.out.println("O valor das variáveis\ni = 37\nj = 42\nk = 42");
                    System.out.println("Maior que...");
            System.out.println("i > j = " + (i > j) + "\nj > i = " + (j > i) + "\nk > j = " + (k > j));
            System.out.println("Maior ou igual a...");
            System.out.println("i >= j = " + (i >= j) + "\nj >= i = " + (j >= i) + "\nk >= j = " + (k >= j));
                    System.out.println("Menor que...");
                    System.out.println("i < j = " + (i < j) + "\nj < i = " + (j < i) + "\nk < j = " + (k < j));
                    System.out.println("Menor ou igual a...");
                    System.out.println("i <= j = " + (i <= j) + "\nj <= i = " + (j <= i));
        }
    }

    Ele está salvo em um arquivo chamado MC07.java, salvei usando o bloco de notas como todos os arquivos, não como txt.

    alguém poderia me ajudar? ele funciona no netbeans mais não no prompt.

    Desde já obrigado.

  8. #include<stdio.h>
    #include<stdlib.h>
    
    float abs(float x){
        if(x < 0)
            x = -(x);
        return x;
    }
    
    int main(){
        float solucao = 0, xini = 0, xnovo = 0, fxnovo = 0, fdxnovo = 0, e = 0; //fdxnovo = derivada de fdxnovo
        int k = 0;
    
        printf("Digite o x Inicial: ");
        scanf("%f",&xnovo);
        printf("Digite a precisao: ");
        scanf("%f",&e);
    
        do{
    
            xini = xnovo;
            fxnovo = ( xini * xini * xini) - 9. * xini + 3.; //Inserir sua função
    // principal
            fdxnovo = 3 * (xini * xini) - 9; //Inserir a derivada da função principal
    
            xnovo = xini - (fxnovo / fdxnovo);
            k += 1;
            printf("\nIteracao = %d",k);
            printf("\nxini = %f\nxnovo = %f",xini, xnovo);
    
        }while(abs(xnovo - xini) >= e || abs(fxnovo) >= e);
    
        printf("\n\nxnovo - xini = %f\n",xnovo - xini);
        printf("\nA solucao final é: %f\n",xnovo);
        return 0;
    }

    Eu fiz isso, mais tive ajuda, então não sei direito se está certo, alguém pode me dizer se é isso mesmo que o exercicio quer e se puder colocar alguns comentários no comentario para me ajudar a entender, obrigado.
  9. screenhunter02jun250109.gif

    Por favor me ajudem a fazer esse algoritmo em C, Vale nota e eu não faço ideia de como fazer esse calculo matemático.

    E tem que fazer esse calculo matemático como uma função, o algoritmo principal chama essa função e ele realiza os calculos.

    Obrigado

  10. Para esse algoritmo preciso usar vetores, a função #define e criar minhas funções sempre que possivel.

    /*01) Faça um programa que leia a idade de 10 alunos e armazene num vetor. Depois imprima a média de idade da turma, o aluno mais velho,

    o aluno mais novo, e o total de alunos com mais de 18 anos.*/

    #include<stdio.h>

    #include<stdlib.h>

    int med = 0;

    float media(float n1,int j){

    med = n1/j;

    return med;

    }

    int main(){

    int alunos[10], maiorid = 0, cont = 0, i,menorid = 150;

    float somaid = 0;

    for(i = 0; i < 10; i++){

    do{

    printf("\n\nInforme a idade o aluno %d : ",i + 1);

    scanf("%d",&alunos);

    if(alunos < 0 || alunos > 150){

    printf("\n\n\aIdade invalida!!");

    }

    }while(alunos < 0 || alunos > 150);

    somaid += alunos;

    if(maiorid < alunos){

    maiorid = alunos;

    }

    if(menorid > alunos){

    menorid = alunos;

    }

    if(alunos > 18){

    cont++;

    }

    }

    system("cls");

    printf("\n\nA media de idade dos alunos é : %.2f",media(somaid/i));

    printf("\nA maior idade foi : %d\nA menor idade foi : %d\nHa %d alunos com mais de 18 anos",maiorid,menorid,cont);

    }

    Ele esta dando erro e não sei como usar o #define,se alguém pudesse me ajudar a usar o #define e ele esta dando erro na linha 11 e 39.

    Ah e eu uso o compilado codeblocks.

    Se alguém puder me ajudar, eu agradeceria, obrigado.

  11. Faça um algoritmo que carregue um vetor de 20 posições com numeros inteiros e que mostre os numeros que aparecem mais de uma vez e quantas vezes cada numero se repete, mostrando um relatório da seguinte forma:

    O numero 5 aparece duas vezes no vetor, nas posições 0,12

    O numero 4 aparece duas vezes no vetor, nas posições 1,16

    O numero 3 aparece três vezes no vetor, nas posições 2,7,15

    O numero 18 aparece duas vezes no vetor, nas posições 3,18

    Por favor me ajudem, eu consegui fazer, mais ele mostra o numero repetido mais de uma vez, por exemplo : O numero 5 a mensagem aparecia quando o vetor estivesse na posição 0 e mostraria aquela mensagem e de novo quando o vetor estiver na posição 12, então está repetindo sem necessidade, e eu não sei como arrumar isso.

    Aqui está o algoritmo em C++ com este defeito, por favor me ajudem.

    Eu preciso fazer isso até quarta-feira que é a minha prova, e esse é o unico que eu não consigo terminar.

    #include<stdio.h>
    #include<stdlib.h>
    
    int main(int argc, char** argv){
        int i = 0, vet[20], cont = 1, j,h = 0,l;
        for(i = 0; i < 20; i++){
            printf("\n\nDigite o numero para a posicao %d : ",i);
            scanf("%d",&vet[i]);
        }
        for(i = 0; i < 20; i++){
            for(j = 0; j <= 1; j++){
                for(h = 0; h < 20; h++){
                    if(i != h){
                        if(vet[i] == vet[h]){
                            if(j == 0){
                                cont++;
                            }else{
                                printf(",%d",h);
                            }
                        }
                    }
                }
                if(j == 0){
                    if(cont > 2){
                        printf("\n\nO numero [%d] aparece %d vezes no vetor, nas posicoes : %d",vet[i],cont,i);
                    }
                }else{
                    cont = 1;
                }
            }
        }
        system("pause");
        return 0;
    }

    Desde já obrigado.

×
×
  • Criar Novo...