Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.

Henrique N Mendes

Membros Juniores
  • Total de itens

    7
  • Registro em

  • Última visita

  • Qualificações

    N/D
  1. Java Programa simples não executa da forma que deveria

    Bom dia, Clube do Hardware. Estou com um problema que provavelmente deve ser uma besteira, ou não... Eu fiz a lógica correta e o programa não me retorna o que quero. Quero contar os clientes(Isso ele até faz) e também quero somar as todas as compras. Segue o código: //Tentei desse jeito public class Quest4 { public static void main(String[] args){ String nomeCliente = null, chec = null; double valorCompra = 0, soma = 0; Scanner scanf = new Scanner(System.in); int cont=0; for(int i=0; ("FIM".equalsIgnoreCase(chec)!= true); i++){ System.out.println("Digite o nome da pessoa:\n"); nomeCliente = scanf.next(); cont++; System.out.println("Digite o preço da compra:\n"); valorCompra = scanf.nextDouble(); soma=valorCompra+soma; System.out.println("Digite FIM para sair:\n"); chec = scanf.next(); } System.out.printf("\nForam cadastrados %d clientes e a soma total das compras deram %.2f\n",cont,valorCompra); } } //Desse também public class Quest4 { public static void main(String[] args){ String nomeCliente = null, chec = null; double valorCompra = 0, soma = 0; Scanner scanf = new Scanner(System.in); int cont=0; while(true){ System.out.println("Digite o nome da pessoa:"); nomeCliente = scanf.next(); cont++; System.out.println("Digite o preço da compra:"); valorCompra = scanf.nextDouble(); soma=valorCompra+soma; System.out.println("Digite FIM para sair:\n"); chec = scanf.next(); if(chec=="FIM"){ break; } } System.out.printf("\nForam cadastrados %d clientes e a soma total das compras deram %.2f\n",cont,valorCompra); } } //Esse aqui também public class Quest4 { public static void main(String[] args){ String nomeCliente = null, chec = null; double valorCompra = 0, soma = 0; Scanner scanf = new Scanner(System.in); int cont=0; do{ System.out.println("Digite o nome da pessoa:"); nomeCliente = scanf.next(); cont++; System.out.println("Digite o preço da compra:"); valorCompra = scanf.nextDouble(); soma=valorCompra+soma; System.out.println("Digite FIM para sair:"); chec = scanf.next(); }while(chec!="FIM"); System.out.printf("\nForam cadastrados %d clientes e a soma total das compras deram %.2f\n",cont,valorCompra); } }
  2. C Ordenação alfabética com struct c

    Muito agradecido, muito obrigado a ajuda de todos. Vocês estão de parabéns!
  3. C Ordenação alfabética com struct c

    Eu to há uma semana trabalhando nisso, mas tá difícil de sair... To ficando nervoso já adicionado 8 minutos depois @devair1010 Cara, ele ordena dessa forma mesmo ? tipo x[0] = x, porque tipo, especificamente, não deveria ser o x[qualquer coisa].nome?
  4. C Ordenação alfabética com struct c

    Olha como imprime...
  5. C Ordenação alfabética com struct c

    Cara tentei criar na função de ordenar a lista exatamente como seu código e não foi, no nome fica invisível , logo após isso tentei jogar dentro do procedimento de listar, mas não tá indo, dessa vez ele imprimiu coisa nada a ver ahdushguh ex: cliente [101] ... Segue o código: void listarClientes(Usuario *x){ system("cls"); int i,j; char sNomeaux[61]; printf("\n-------Lista de clientes--------\n\n"); for(i=0;i<MAX;i++){ if(x[i].ativo==1){ for(i=0;i<MAX;i++){ for(j=(i+1); j<MAX; j++){ if( strcmp(x[i].nome, x[j].nome) > 0 ){ strcpy(sNomeaux,x[i].nome); strcpy(x[i].nome,x[j].nome); strcpy(x[j].nome,sNomeaux); i=0; //reseta i para verificar de novo } } } printf("\n\n--------Cliente [%d]------------\n",i+1); fflush(stdin); printf("\nNúmero da Conta: %s",x[i].nconta); printf("\nNome: %s\n",x[i].nome); printf("CPF: %s\n",x[i].cpf); printf("Telefone: %s\n",x[i].telefone); printf("Saldo: %f\n",x[i].saldo); printf("\n--------------------------------\n\n"); } } } void cadastro(Usuario* x){ system("cls"); float saldof=0.0; char conta[8]; char nome[61]; //Nome cliente char cpf[12]; //Cpf cliente char telefone[12]; //Telefone cliente int chec,i; do{ printf("Digite sua conta:\n"); gets(conta); fflush(stdin); printf("\nNome:\n"); gets(nome); while(strlen(nome) == 0){ printf("Digite alguma coisa, seu cabra...\n"); gets(nome); } printf("\nDigite o seu cpf:\n"); gets(cpf); while(strlen(cpf) == 0){ printf("Digite alguma coisa, seu cabra...\n"); gets(cpf); } printf("\nDigite seu CPF:\n"); gets(telefone); while(strlen(telefone) == 0){ printf("Digite alguma coisa, seu cabra...\n"); gets(telefone); } for(i=0; i<MAX; i++){ if(cliente[i].ativo==0){ getchar(); strcpy(x[i].nconta,conta); strcpy(x[i].nome,nome); strcpy(x[i].cpf,cpf); strcpy(x[i].telefone,telefone); x[i].ativo=1; break; } } x->saldo= saldof; system("cls"); printf("Seu número da conta é: %s [ATENÇÃO: NÃO DEIXE DE ANOTAR]",conta); printf("\n\n\nCADASTRO REALIZADO COM SUCESSO...\n\n\n"); printf("Digite 1 para continuar a fazer mais cadastros.\nDigite 0 para voltar ao menu.\n"); scanf("%d",&chec); system("cls"); }while(chec!=0); } Será que seja algo no cadastro? pois eu não consigo entender o porquê de não está imprimindo ordenado
  6. C Ordenação alfabética com struct c

    Ele simplesmente não ordena, não sei se está na minha declaração ou no procedimento de listar, mas continua sem aparecer ordenado. Segue o código: void listarClientes(Usuario *x){ system("cls"); int i; printf("\n-------Lista de clientes--------\n\n"); for(i=0;i<MAX;i++){ x=ordenalista(x); // Lembrando que já tentei tanto dentro do for, quanto fora. if(x[i].ativo==1){ printf("\n\n--------Cliente [%d]------------\n",i+1); fflush(stdin); printf("\nNúmero da Conta: %s",x[i].nconta); printf("\nNome: %s\n",x[i].nome); printf("CPF: %s\n",x[i].cpf); printf("Telefone: %s\n",x[i].telefone); printf("Saldo: %f\n",x[i].saldo); printf("\n--------------------------------\n\n"); } } } Usuario* ordenalista(Usuario *x){ int i,j; sNomeaux[61]; for(i=0;i<MAX;i++){ for(j=(i+1); j<MAX; j++){ if( strcmp(x[i].nome, x[j].nome) < 0 ){ strcpy(sNomeaux,x[i].nome); strcpy(x[i].nome,x[j].nome); strcpy(x[j].nome,sNomeaux); i=0; //reseta i para verificar de novo } } } return x; }
  7. C Ordenação alfabética com struct c

    Olá Clube do Hardware. Bem, esses dias estava finalizando um procedimento para listar um vetor de struct em ordem alfabética, porém quando tento fazer do meu "jeito", não funciona, também tentei implementar o buble ou selectionsort, mas eu surro o código inteiro e não faço ideia de como coloca-lo dentro do código, por isso venho aqui pedir o auxílio para vocês... A ideia do procedimento é o seguinte, além desse, no qual to com dúvida, há um procedimento de se cadastrar, óbvio, e cada vez que cadastro eu uso uma variável "ativo" inteira, para que quando o cadastro for efetuado com sucesso ele mude esse valor ativo para 1, por isso que vão encontrar "ativo" fazendo parte da checagem de listagem. É um projeto de um banco, e só to apanhando nesse procedimento, o resto já fiz... Pls help Aqui vai o código: typedef struct { char nconta[8]; //Número da conta float saldo; //Saldo cliente char nome[61]; //Nome cliente char cpf[12]; //Cpf cliente char telefone[12]; //Telefone cliente int ativo; }Usuario; void listarClientes(Usuario *x){ system("cls"); int i,j; char sNomeAux[61]; printf("\n-------Lista de clientes--------\n\n"); for(i=0;i<MAX;i++){ for(j=i; j>0; j--){ if( strcoll(x[j].nome, x[j-1].nome) < 0){ strcpy(sNomeAux,x[j].nome); strcpy(x[j].nome,x[j-1].nome); strcpy(x[j-1].nome,sNomeAux); } if(x[i].ativo==1){ fflush(stdin); printf("\n\n--------Cliente [%d]------------\n",i+1); fflush(stdin); printf("\nNúmero da Conta: %s",x[i].nconta); printf("\nNome: %s\n",x[i].nome); printf("CPF: %s\n",x[i].cpf); printf("Telefone: %s\n",x[i].telefone); printf("Saldo: %f\n",x[i].saldo); printf("\n--------------------------------\n\n"); } } } }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×