Ir ao conteúdo
  • Cadastre-se

AloneSmile

Membro Pleno
  • Posts

    21
  • Cadastrado em

  • Última visita

  1. Funcionou parceiro, Obrigado. Existe outra questão, tipo, o código no netbeans 7.3 com o JDK 7u15 x64 funcionou sem problemas, já na versão 8.0.1 e com o JDK 8u25 x64 apareceu este equivoco. porém agora resolvido. e quando é para passar para Int? if(jshora.getValue()==null || jshora.getValue()==0 || jshora.getValue().equals(""))
  2. Alguém sabe porque este erro? segue o link da imagem: https://mega.co.nz/#!zAkixABC!nirYjMzKG51KD0lUT7IhBHDuXNktgNlWUcI22ykW30s
  3. Utilizei o fflush(stdin); e deu certo, complicado entender isso aqui as vezes em, apenas 13 carácter resolve um problema, em vez de grandes funções e tal, mas valeu.
  4. Beleza, Obrigado. Sabe informar uma apostila,livro ou outro material para estudo em C, um bom?
  5. Essa linguagem é complicada em Kk Se eu não me engano em Java da para fazer o que estou tentando explicar, aqui se resolve os problemas com matriz e vetores ne Kk, obrigado, novamente. Se eu declarar Char nome [][]; Posso guardar quantos nomes quiser com quantas variáveis quiser também? E utilizar aquela dúvida do tópico anterior de imprimir o nome completo informado pelo usuário?
  6. Sim, to ligado. Não tem como fazer algo neste sentido? for(k=0; k <2; k++){ printf("\nNome: %s", nome); char nome = ' '; } Por exemplo quando o laço rodar pela primeira vez ele mostra na tela o nome, limpa o valor da variável e depois informa o próximo nome entendeu, estou tentando fazer algo neste sentido. Mostra 1º nome limpa a variavel Mostra 2º nome e fim. Quero chegar em um resultado assim: Informe nome: Carlos Informe nome: Henrique Nome: Carlos Nome: Henrique
  7. Qual a explicação para essa situação e o que ha de errado? Informo dois nomes diferentes e na hora da impressão repete o ultimo nome informado, como fazer para imprimir os dois nomes diferentes informado pelo usuário? Abaixo segue o código utilizado para tal fim. #include <conio.h>main (){ int k; char nome[30]; for(k=0; k <2; k++){ printf("Informe: "); scanf("%s", &nome); } for(k=0; k <2; k++){ printf("\nNome: %s", nome); }}
  8. Boa ideia. Entendi, essa função funciona semelhante ao scanner em java: package scanneer;import java.util.Scanner;// importar metodo Scannerpublic class Scanneer {public static void main(String[] args) { String nome; Scanner en = new Scanner(System.in); //Chamando o metodo Scanner a receber os valores em en System.out.println("Informe o seu nome: "); nome = en.nextLine(); //Nome vai receber o valor informado em en System.out.println(""+nome); }} Em fim, olha resumi o máximo aqui para que você possa entender #include <stdio.h>#include <stdlib.h>#include <conio.h>#include <string.h>#include <locale>#include <time.h>#define tam 30//struct utilizando-a para guardar o registro dos alunos//Cada aluno tem um nome e 4 notas pra cada matériatypedef struct tAluno { char nome[30]; float notas[13][4]; // 4 notas pra cada uma das 13 matérias} Aluno;//Declarando as variavéisint op = 0, op2 = 0, i = 0, j = 0, index;char opcao[25];char c;float me = 0, soma = 0;static Aluno alunos[30];//Declarações das funções e subrotinasvoid capInput(char* in);void cadastro();void imprimir();void imprimeMenu();void cabecalho();//Programa principalmain(){ int pergunta, sairdosubmenu = 0; setlocale(LC_ALL ,"Portuguese"); system("cls"); while(true){ imprimeMenu(); if(op == 4) return 0; if (op==1){//ini op 1 do{//ini do cabecalho(); switch(op2){//ini switch case 1: system("cls"); printf("\t\tOPÇÃO 1..............CADASTRO: \n\n"); //Desenvolvimento cadastro(); printf("\n\n\t\tDigite alguma tecla para voltar\n"); scanf("%s", &pergunta); fflush(stdin);//dobradinha system("cls"); break; case 2: system("cls"); printf("\t\tOPÇÃO 3..............IMPRIMIR: \n\n"); //Desenvolvimento imprimir(); printf("\n\n\t\tDigite alguma tecla para voltar\n"); scanf("%s", &pergunta); fflush(stdin); system("cls"); break; case 3: system("cls"); printf("\t\tOPÇÃO 4..............AJUDA: \n\n"); //Desenvolvimento //ajuda(); printf("\n\n\t\tDigite alguma tecla para voltar\n"); scanf("%s", &pergunta); fflush(stdin); system("cls"); break; case 4: sairdosubmenu = 1; break; default: printf("Opção Inválida"); }//fim switch if(sairdosubmenu){//ini if sairdosubmenu system("cls"); sairdosubmenu = 0; break; }//fim if sairdosubmenu }//fim do while (pergunta!=1); }//fim op 1 }//fim while(true)getch();return 0;}//Funçõesvoid capInput(char* in){//Capturar o input do usuário do { c = getchar(); in[i++] = c; } while (c != '\n'); in[i] = '\0';}void cadastro(){ printf("\nInforme o nome do aluno: "); //Funciona //scanf("%s", alunos[index].nome); fflush(stdin); //Não Funciona //fgets(nm, tam, stdin); //Não Funciona capInput(alunos[index].nome);}void imprimir(){ printf("Aluno: %s\n", alunos[index].nome);}void imprimeMenu(){ printf("\t\t\t OLÁ SEJA BEM-VINDO AO PROGRAMA DE \n"); printf("\t\t\t LANÇAMENTO DE MÉDIAS ANUAL DE UMA \n"); printf("\t\t\t TURMA DO ENSINO MÉDIO \n\n"); printf(" * Escolha uma opção: \n\n"); printf("1 - Prosseguir 4 - Encerrar\n"); scanf("%d", &op); system("cls"); //limpa tela}void cabecalho(){ system("cls"); printf("\t 1 ...... CADASTRO\n"); printf("\t 2 ...... IMPRIMIR\n"); //printf("\t 3 ...... AJUDA\n"); printf("\t 4 ...... VOLTAR AO INICIO\n"); printf("................................................................................\n"); scanf("%d", &op2);} Para fazer o teste é só: Clicar 1 para prosseguir 1 para entrar no cadastro e informar o nome completo Depois digitar qualquer numero 2 para Imprimir Ai que esta a duvida, quando uso scanf("%s", alunos[index].nome); fflush(stdin); Funciona, porém não imprime o nome completo, como você já explicou... Quando uso fgets(nm, tam, stdin);oucapInput(alunos[index].nome); Não funciona, entende, já pula para a próxima instrução sem deixar que possa digitar algo.
  9. Pois é kkk, neste código ai funcionou, eu já ia até apaga-lo, mas deixei, vai que alguém precise disso algum dia. Como eu disse esse ai é um exemplo, em, fim, o outro que realmente quero resolver de 500 linhas, por enquanto, esta nesta situação, e esta ocorrendo o seguinte, ele não espera o usuário informar o nome e já pula para a próxima instrução, entende.
  10. A duvida é o seguinte estou utilizando uma struct para guardar o registro dos alunos, abaixo segue um exemplo: #include <stdio.h>typedef struct tAluno { char nome[30];} Aluno;static Aluno alunos[30];main(){ int index=0; printf("Informe o nome do aluno: "); scanf("%s", alunos[index].nome); fflush(stdin); printf("Aluno: %s\n", alunos[index].nome);} E na hora de imprimir na tela aparece apenas o primeiro nome digitado, a função não captura qualquer carácter apos o espaço, okay. Abaixo segue um exemplo do resultado que quero chegar: #include <stdio.h>#define TAM 30int main(){ char nome[TAM]; fgets(nome, TAM, stdin); printf( "%s\n", nome); return 0;} Aqui imprime tudo digitado pelo usuário. Em, fim, queria saber se tem como juntar estas duas funções por exemplo: fgets(alunos[index].nome, TAM, stdin); fflush(stdin); Agradeço desde já, e espero que tenham entendido, obrigado.
  11. Consegui: #include <stdio.h>#include <stdlib.h>float media=0;int vetor[5];int i;float cal_med();int main(){ cal_med(); printf("Nota(s) maior que a media: "); for(i=0;i<5;i++){ if(vetor[i]>media){ printf("%d ",vetor[i]); } }}float cal_med(){ for(i=0; i<5; i++){ printf("Informe numeros inteiros: "); scanf("%d", &vetor[i]); media = media + vetor[i]; } media=media/5; printf("\nMedia = %g\n", media);}
  12. Olá boa noite. O exercício tem como objetivo: Ler dois vetores A e B com 6 elementos. O vetor A deve aceitar apenas a entrada de valores pares, enquanto o vetor B deve aceitar apenas a entrada de valores ímpares. A entrada dos vetores deve ser validada pelo programa e não pelo usuário. Construir um vetor C de forma que ele seja a junção dos vetores A e B, de modo que o vetor C contenha 12 elementos. Apresentar o vetor C. Segue o que fiz até o momento: #include <stdio.h>#include <stdlib.h>#define tam 6int main(){ int a[tam], b[tam], c[tam*2], num[tam*2]; int i, par=0, impar=0; for(i=0; i<tam; i++){ printf("Informe um valor: "); scanf("%d", &num[i]); } a[tam] = num[0]; b[0] = num[0]; for(i=0; i<tam; i++){ if (num[i] % 2 == 0)//Par a[i] = num[i]; else a[i] = NULL; } for(i=0; i<tam; i++){ if (num[i] % 2 == 0)//Par b[i] = NULL; else b[i] = num[i]; } printf("Par: "); for(i=0; i<tam; i++){ printf(" %d ", a[i]); } printf("\nImpar: "); for(i=0; i<tam; i++){ printf(" %d ", b[i]); }} A duvida é o seguinte, como tiro aqueles 0 na tela final ao usuario (que foi a unica maneira que encontrei de fazer o alg funcionar) e mostre apenas o números que são pares e impares? Valeu desde já agradeço, abraço.
  13. Okay Mauro Britivaldo O exercício é o seguinte: Escrever um algoritmo que leia um vetor de 5 elementos inteiros e no final mostre os valores do vetor que são maiores do que a média dos valores digitados. Faça este procedimento usando uma função para calcular a média. O que fiz até o momento é isso: #include <stdio.h>#include <stdlib.h>#define tam 5float media, soma;int cal_med (float media);main(){ int vetor[tam], maior[tam]; int i, arm; for(i=0; i<tam; i++){ printf("Informe numeros inteiros: "); scanf("%d", &vetor[i]); soma = soma + vetor[i]; } cal_med(media);}int cal_med (float media){ media = soma / tam; printf("\nSoma dos numeros informados = %g", soma); printf("\nMedia = %g\n", media);} Ele esta pegando os 5 valores informados pelo usuário, somando eles e fazendo a média e mostrando o resultado na tela. Agora só esta faltando: mostrar na tela os valores do vetor que são maiores do que a média dos valores digitados, entende, é isso que não estou conseguindo fazer, não estou conseguindo pensar em uma maneira de como fazer isso, desde já, Obrigado pela atenção.
  14. Entendi, porém onde deveria modificar em meu código? #include <stdio.h>#include <stdlib.h>#define tam 5float media, soma;int tamanhoAtual = 0;main(){ int vetor[tam], maior[tamanhoAtual]; int i, arm; for(i=0; i<tam; i++){ printf("Informe numeros inteiros: "); scanf("%d", &vetor[i]); soma = soma + vetor[i]; } media = soma / tam; printf("\nSoma dos numeros informados = %g", soma); printf("\nMedia = %g\n", media); for(i=0; i<tam; i++){ if(vetor[i]>media){ tamanhoAtual++; } maior[tamanhoAtual] = vetor[i]; printf(" %d", maior[tamanhoAtual]); }}

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...