Ir para conteúdo

Pesquisar na Comunidade

Mostrando resultados para as tags ''c/c++''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Todas as áreas do Fórum

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento e Banco de Dados
    • HTML e CSS
    • Java
    • Javascript
    • .NET
    • PHP
    • Python
    • Ruby
    • Mobile
    • Ambientes de Desenvolvimento
    • Arquitetura e Métodos Ágeis
    • Banco de Dados
    • DevOps
    • Desenvolvimento de Games
    • E-Commerce e Pagamentos Online
    • SEO e Otimizações
    • WordPress
    • Algoritmos & Outras Tecnologias
  • Design e Produto
    • Fotografia
    • Photoshop
    • Design de interfaces e UX
    • Edição/Produção de Vídeos
    • Marketing Online
    • Desenho, Ilustração e 3D
  • Entretenimento e uso pessoal
    • Geral
    • Segurança & Malwares
    • Gadgets e wearable
    • Softwares e Apps
    • Entretenimento

Encontrar resultados em...

Encontrar resultados que...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Encontrado 16 registros

  1. llucaahenri

    Vetores e matrizes em C

    Bom dia! Sou iniciante nessa área de programação, estou aprendendo sobre vetores e matrizes e gostaria de saber como faço para calcular elementos de um vetor e de uma matriz, eu tentei fazer usando laço For, mas não consegui. Esse exercício que estou tentando fazer. Leia um vetor de 12 posições e em seguida ler também dois valores X e Y quaisquer correspondentes a duas posições no vetor. Ao final seu programa deverá escrever a soma dos valores encontrados nas respectivas posições X e Y. Meu código! #include <stdio.h> #include <stdlib.h> #include <locale.h> int main() { setlocale(LC_ALL, "Portuguese"); int VetorX[12], VetorY[12]; int Result, X, Y, i, j; for(i = 1; i < 13; i++){ // Ler os Valores; printf("[%d] Digite um número do Vetor X. \n", i); scanf("%d", &X); } for(i = 1; j < 13; j++){ // Ler os Valores; printf("[%d] Digite um número do Vetor Y. \n", j); scanf("%d", &Y); } for(i = 0; i < 13; i++){ Result =+ VetorX; printf("O resultado é%d", Result); } return 0; }
  2. Olá pessoal, sou iniciante tanto aqui no fórum tanto na linguagem c++. Estou tentando resolver o seguinte algoritmo: Calcule as médias das notas escolares de um aluno (media 1º bimestre, media 2º bimestre, media final) sendo que: As notas das provas parciais 1 e 2 equivalem a 30% da nota total do bimestre 1 e 2; As notas das provas oficiais 1 e 2 equivalem a 70% da nota total do bimestre 1 e 2; A nota total do bimestre 1 equivale a 40% da nota final do semestre; A nota total do bimestre 2 equivale a 60% da nota final do semestre; Utilize structs para armazenar a notas e medias e referencie cada elemento por ponteiros no main. Segue abaixo, a minha tentativa. Não estou conseguindo guardar as notas pedidas no main no vetor de notas dentro da struct, estou usando cin para fazer isso, uma solução mais adequada para realizar este procedimento? - Biblioteca typedef struct notas { float parcial[2], *p1, *p2; float oficial[2], *of1, *of2; float exame, *ex; } NotasProvas; void NotaBim1 (NotasProvas &notas, float *p1, float *of1); void NotaBim2 (NotasProvas &notas, float *p2, float *of2); void NotaExame (NotasProvas &notas, float *ex); typedef struct medias { float mediaB1, mediaB2, *m1, *m2; float notaFinal, *nf; float notaTotal, *nt; } MediasNotas; void MediaBim1 (MediasNotas &medias, float *m1); void MediaBim2 (MediasNotas &medias, float *m2); void MediaFinal (MediasNotas &medias, float *m1, float *m2); void MediaTotal (MediasNotas &medias, float *nf, float *ex); - Procedimentos #include "notas.h" void NotaBim1 (NotasProvas &notas, float *p1, *of1) { *p1 = &NotasProvas.parcial[1]; *of1= &NotasProvas.oficial[1]; MediasNotas.mediaB1 = (p1 * 0.3) + (of1 * 0.7); } void NotaBim2 (NotasProvas &notas, float *p2, *of2) { *p2 = &NotasProvas.parcial[2]; *of2 = &NotasProvas.oficial[2]; MediasNotas.mediaB2 = (p2 * 0.3) + (of2 * 0.7); } void MediaFinal (MediasNotas &medias, float *m1, *m2) { *m1 = &MediasNotas.mediaB1; *m2 = &MediasNotas.mediaB2; MediasNotas.notaFinal = (m1 * 0.4) + (m2 * 0.6); } void MediaTotal (MediasNotas &medias, float *nf, *ex) { *nf = &MediasNotas.notaFinal; *ex = &NotasProvas.exame; MediasNotas.notaTotal = (nf + ex) / 2; } - Função Main #include <iostream> #include "notas.h" using namespace std; int main() { cout << "\t\t CALCULANDO NOTAS " << endl; cout << endl; cout << "Qual a sua nota da Prova Parcial 01? " << endl; cin >> NotasProvas.p1; cout << "Qual a sua notas da Prova Oficial 01? " << endl; cin >> NotasProvas.of1; cout << "Nota do 1º bimestre: " << MediasNotas.m1 << endl; cout << "\t\t Segundo Bimestre" << endl; cout << endl; cout << "Qual a sua nota na Prova Parcial 02? " << endl; cin >> NotasProvas.p2; cout << "Qual a sua nota na Prova Oficial 02? " << endl; cin >> NotasProvas.of2; cout << "Nota do 2º bimestre: " << MediasNotas.m2 << endl; cout << "Media Final: " << MediasNotas.nf << endl; system("PAUSE"); return 0; } Desde já, agradeço pelas ajudas!
  3. Faz um tempo (uns meses) eu encontrei uma ferramenta para C/C++ que eu não lembro o nome. É uma espécie de preprocessador, como se fosse uma extensão do preprocessador nativo do C/C++. Você escreve o código em arquivos com uma extensão própria do programa e ele usa esses arquivos como entrada, processa eles e gera arquivos de saída C/C++. Parecido com o que SASS e LESS faz, só que para C/C++ e com mais recursos. Você chama ele pela linha de comando, como a maioria dos programas desse tipo. Se eu não me engano, ele permite você gerar versões diferentes do mesmo código de forma automatizada. Alguém sabe o nome desse software ?
  4. Matheus Moraes Tomi

    programação em dev c ++

    Boa tarde pessoal,eu estou com uma duvida de programação,estou estudando para uma prova de programação em dev que fiquei de exame e o professor pediu para fazer um programa com essa questão seguinte: Deseja-se armazenar de uma empresa que trabalha com vendas de veículos os dados de 10 veículos,o nome da fabrica,nome do modelo,cor,o ano,a placa e o valor do veiculo. a)Imprima um relatório com os 10 veiculos b)Venda todos os veículos para uma unica pessoa a vista e de 20% de desconto no valor total. c)A empresa adquiriu mais 10 veiculos usados,faça o cadastro e imprima um relatorio com as 10 novas aquisições. d)Calcular quanto tempo de vida possui o automóvel.Imprima os veiculos que tem mais de tres anos de uso e que sao de cor branca. Eu tentei fazer boa parte da questao com esse algoritmo seguinte mas nao deu certo necessito de ajuda para fazer o codigo dessa questão. #include <stdio.h> #include <stdlib.h> #define DIM 1 #define MAX 10 struct carros{ char nome_fab[40],nome_mod[40],placa[5],usado[10]; int ano; float valor_carro; }; main(){ float media=0,media2=0,media3=0; int i; struct carros carros[DIM]; for(i=0;i<DIM;i++){ printf("digite o nome da fabrica: "); fflush(stdin); fgets(carros.nome_fab,40,stdin); printf("digite o nome do modelo: "); fflush(stdin); fgets(carros.nome_mod,40,stdin); printf("digite o ano: "); fflush(stdin); scanf("i",carros.ano); printf("digite a placa do carro: "); fflush(stdin); fgets(carros.placa,5,stdin); printf("digite o valor do carro: "); fflush(stdin); scanf("%f",&carros.valor_carro); } printf("\n"); for(i=0;i<DIM;i++){ printf("Fabrica: %s",carros.nome_fab); printf("modelo: %s",carros.nome_mod); printf("ano: %i\n",carros.ano); printf("placa: %s\n",carros.placa); printf("Valor do carro: %f\n",carros.valor_carro) ; } for(i=0;i<DIM;i++){ media=media + carros.valor_carro; media2=media*0.2; media3=media - media2; } printf("%f",media3); for(i=0;i<MAX;i++){ printf("digite o nome do veiculo usado"); fflush(stdin); fgets(carros.usado,10,stdin); } system("pause"); return 0; }
  5. vianaerica

    Alterar dados em C

    Ei pessoal, estou fazendo um trabalho para a faculdade em C. Preciso fazer alteração de dados de um usuário, porém a alteração não está sendo aplicada para uma pessoa em específico. Poderiam me ajudar? Código: Tenho que fazer isto para o nome, endereço e data de nascimento do usuário.
  6. Henrique Ferreira Silva

    Guarda de dados

    Como eu faço para guardar o último número chutado pelo usuário numa variável (É um jogo de adivinhação). Obs: eu não quero guarda todos os números não chutados, e sim, o último. Me ajudem.
  7. Henrique Ferreira Silva

    Como avisar para o usuário que ele já jogou o mesmo número

    // incluindo as bibliotecas #include <stdio.h> #include <locale.h> // biblioteca para definição de configurações locais #include <stdlib.h> #include <time.h> // definindo as constantes #define NUMERO_DE_TENTATIVAS 3 #define FACIL 20 #define MEDIO 15 #define DIFICIL 6 #define PONTOS_INICIAL 1000 int main() { volta: setlocale(LC_ALL, "Portuguese"); // Definição para uso de configurações em português; Usei por causa da acentuação no compilador //imprimi cabeçalho bonito do jogo printf("\n\n"); printf(" P /_\\ P \n"); printf(" /_\\_|_|_/_\\ \n"); printf(" n_n | ||. .|| | n_n Bem vindo ao \n"); printf(" |_|_|nnnn nnnn|_|_| Jogo de Adivinhação! \n"); printf(" |\" \" | |_| |\" \" | \n"); printf(" |_____| ' _ ' |_____| \n"); printf(" \\__|_|__/ \n"); printf("\n\n"); // declarando variaveis que serão usadas mais a frente int chute; int acertou; int nivel; int totaldetentativas; int limite; int voltar; // difinindo a quantidade de pontos inicial double pontos = 1000; //gerando um número secreto aleatório printf("Escolha o limite: "); scanf("%d", &limite); srand(time(0)); int numerosecreto = rand() % limite; // escolhendo o nivel de dificuldade printf("Qual o nível de dificuldade?\n"); printf("(1) Fácil (2) Médio (3) Difícil\n\n"); printf("Escolha: "); scanf("%d", &nivel); switch(nivel) { case 1: totaldetentativas = 20; break; case 2: totaldetentativas = 15; break; default: totaldetentativas = 6; break; } // loop principal do jogo for(int i = 1; i <= totaldetentativas; i++) { printf("-> Tentativa %d de %d\n", i, totaldetentativas); printf("Chute um número: "); scanf("%d", &chute); // tratando chute de número negativo if(chute < 0) { printf("Você não pode chutar números negativos\n"); i--; continue; } // verifica se acertou, foi maior ou menor acertou = chute == numerosecreto; if(acertou) { break; } else if(chute > numerosecreto){ printf("\nSeu chute foi maior do que o número secreto!\n\n"); } else { printf("\nSeu chute foi menor do que o número secreto!\n\n"); } // calcula a quantidade de pontos double pontosperdidos = abs(chute - numerosecreto) / 2.0; pontos = pontos - pontosperdidos; } // imprrimindo mensagem de vitória ou derrota printf("\n"); if(acertou) { printf(" OOOOOOOOOOO \n"); printf(" OOOOOOOOOOOOOOOOOOO \n"); printf(" OOOOOO OOOOOOOOO OOOOOO \n"); printf(" OOOOOO OOOOO OOOOOO \n"); printf(" OOOOOOOO # OOOOO # OOOOOOOO \n"); printf(" OOOOOOOOOO OOOOOOO OOOOOOOOOO \n"); printf("OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO \n"); printf("OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO \n"); printf("OOOO OOOOOOOOOOOOOOOOOOOOOOOOO OOOO \n"); printf(" OOOO OOOOOOOOOOOOOOOOOOOOOOO OOOO \n"); printf(" OOOO OOOOOOOOOOOOOOOOOOOO OOOO \n"); printf(" OOOOO OOOOOOOOOOOOOOO OOOO \n"); printf(" OOOOOO OOOOOOOOO OOOOOO \n"); printf(" OOOOOO OOOOOO \n"); printf(" OOOOOOOOOOOO \n"); printf("\nParabéns! Você acertou!\n"); printf("Você fez %.2f pontos. Até a próxima!\n\n", pontos); } else { printf(" \\|/ ____ \\|/ \n"); printf(" @~/ ,. \\~@ \n"); printf(" /_( \\__/ )_\\ \n"); printf(" \\__U_/ \n"); printf("\nVocê perdeu! Tente novamente!\n\n"); } while(voltar = 1) { printf("Digite 1 para voltar.\n"); printf("Você quer jogar novamente? "); scanf("%d", &voltar); goto volta; } }
  8. Gaahl

    Estrutura de dados, C++/C

    Boa noite. Preciso de ajuda neste algoritmo em c++ da matéria de estrutura de dados. Não sei por onde começar. Obrigado! Fazer um programa que utiliza um vetor X de 10 posições e lê 20 valores inteiros situados no intervalo [1,99]. Utilize, ainda, duas variáveis, T1 e T2 inicializadas, respectivamente, com 0 e 11, de tal forma que, no vetor X, tenha-se duas pilhas de bases opostas. Para cada valor lido: se for par e maior do que 50, inseri-lo na pilha 1; se for par e menor ou igual a 50, então retirar o elemento do topo da pilha 1 e escrevê-lo; se for ímpar e maior do que 50, inseri-lo na pilha 2; se o valor lido for ímpar e menor ou igual a 50, então retirar o valor do topo da pilha 2 e escrevê-lo; se ocorrer uma situação de UNDERFLOW, escreva uma mensagem e ignore o valor lido passando a ler o novo valor; se ocorrer OVERFLOW ou se já tiverem sido lidos 20 valores, então escrever o conteúdo das duas pilhas e terminar o programa;
  9. Preciso urgentemente de um algoritmo que escreva números positivos, negativos e reais por extenso. por favor me ajudem!
  10. rafael_iftm

    Matrizes

    Prezados,se alguém puder me ajudar neste seguinte problema... Faça um programa que crie uma matriz de inteiros 5x5 e receba os valores para preenchê-la via teclado, não é permitido a entrada de números repetidos. Após receber todos os valores, o programa deve encontrar o maior e o menor número dentro da matriz e mostrar a localização de cada um deles (linha e coluna). Meu código está incompleto, mas nesta primeira parte está dando erro, obrigado. int main() { int matriz[5][5]; //declaracao das variaveis. int l=0,c=0,aux[5][5]; for(l=0;l<5;l++) //inicializar a matriz com zero { for(c=0;c<5;c++) { matriz[5][5]=0; aux[5][5]=0; } } for(l=0;l<5;l++) //receber e validar os valores { for(c=0;c<5;c++) { printf("Informe o valor do elemento ==> linha: %i , coluna: %i\n",l+1,c+1); scanf("%i",&matriz[l][c]); aux[l][c]=matriz[l][c]; if(matriz[l][c]==aux[l][c]) { printf("Numero repetido,digite outro:\n"); scanf("%i",&matriz[l][c]); } } } for(l=0;l<5;l++) //exibir a matriz { for(c=0;c<5;c++) { printf("\t%i",matriz[l][c]); } printf("\n"); } return 0; }
  11. Boa tarde... Estou programando utilizando o NetBeans para programar em C/C++ porém ultimamente está dando um erro estranho que não sei porque está acontecendo: sh: /C/Users/robso/AppData/Local/Temp/dlight_robso/d41f88cb/dlight7489089055460862266termexec.sh: No such file or directory Já procurei o arquivo em questão e ele existe, porém o NetBeans está salvando este arquivo com um .RES no final, por isso o NetBeans não está conseguindo encontrar o arquivo. Gostaria de saber porque isso está acontecendo e como faço para resolver o problema
  12. j0rg3jun10r

    [CÓDIGO] Torre de Hanoi com 5 Discos

    SOU INICIANTE NA LINGUAGEM C E DESENVOLVI ESSE PROGRAMA SIMPLES - TORRE DE HANÓI COM 5 DISCOS OBS: O CÓDIGO ESTÁ DISPONÍVEL PARA TODOS QUE QUISEREM MELHORÁ-LO #include <stdio.h> #include <stdlib.h> #include <math.h> // POW(); CALCULAR O VALOR DE MOVIMENTOS EXATOS DA TORRE DE HANOI; #define POSICOES 5 int torre1[5]= {1,2,3,4,5}, torre2[5]={0,0,0,0,0}, torre3[5] ={0,0,0,0,0}; // ARRAYS; int cont=0; // VARIAVEL PARA CONTAR O NUMERO DE JOGADAS; void mostrarTorres(); // PROTOTIPO DA FUNÇÃO PARA MOSTRA O ESTADO ATUAL DA TORRE; int valorTorre(int torre[5]); // PROTOTIPO DA FUNÇÃO PARA PEGAR O MENOR VALOR; int destinoTorre(int torre[5]); // PROTOTIPO DA FUNÇÃO PARA PEGAR O MENOR VALOR; void moverDiscos(int orig, int dest); // PROTOTIPO DA FUNÇÃO PARA MOVER DISCOS; void mostrarMenu(); // PROTOTIPO DA FUNÇÃO PARA MOSTRAR O MENU; int verificarFinal(); // PROTOTIPO DA FUNÇÃO QUE VERIFICA SE O JOGADOR FOI CAMPEÃO; void regras(); // PROTOTIPO DA FUNÇÃO QUE MOSTRA AS REGRAS DO JOGO; int main(void){ int op=1; while(op!=0){ printf(" - TORRE DE HANOI \n 2 - JOGAR\n 1 - REGRAS\n 0 - SAIR\n - DIGITE: "); scanf("%d", &op); switch(op){ case 2: mostrarTorres(); mostrarMenu(); break; case 1: regras(); break; default: if(op != 0){ printf(" - OPÇÃO INVALIDA INFORME NOVAMENTE\n - "); system("PAUSE"); system("CLS"); }else{ system("CLS"); printf("\n\n\t\t\t ENCERRADO COM SUCESSO.\n"); } break; } } return 0; } int valorTorre(int torre[]){ // FUNÇÃO PARA ULTIMO VALOR DO ARRAY int i, a=0; for(i=POSICOES-1; i>=0; i--){ if(torre[i] != 0){ a = i; } if(torre[4] == 0){ a = 0; } } return(a); } int destinoTorre(int torre[]){ // FUNÇÃO PARA RETORNA PROXIMO VALOR DE DESTINO int i, a=0; for(i=0; i<POSICOES; i++){ if(torre[i] == 0){ a = i; } } return(a); } void moverDiscos(int orig, int dest){ // FUNÇÃO PARA MOVER OS DISCOS int aux1, aux2, aux3; // REGRAS (O DISCO DE ORIGEM NÃO PODE SER MAIOR QUE O DESTINO) E (VALOR DO DISCO DE DESTINO TEM QUE SER DIFERENTE DE 0); // ORIGEM 1 - TORRE 1 if(orig == 1){ // DESTINO 2 - TORRE 2 if(dest == 2){ aux1 = torre1[valorTorre(torre1)]; aux2 = torre2[destinoTorre(torre2)+1] ; aux3 = torre2[valorTorre(torre2)]; if(aux3 < aux1 && aux3 != 0){ printf("Disco da origem [%d] é maior que o disco de destino [%d]\n", aux1, aux3); system("PAUSE"); }else{ if(aux1 == 0){ printf("Sem discos na torre de origem.\n"); system("PAUSE"); }else{ torre1[valorTorre(torre1)] = 0; torre2[destinoTorre(torre2)] = aux1; cont++; } } // DESTINO 3 - TORRE 3 }else{ aux1 = torre1[valorTorre(torre1)]; aux2 = torre3[destinoTorre(torre3)+1] ; aux3 = torre3[valorTorre(torre3)]; if(aux3 < aux1 && aux3 != 0){ printf("Disco da origem [%d] é maior que o disco de destino [%d]\n", aux1, aux3); system("PAUSE"); }else{ if(aux1 == 0){ printf("Sem discos na torre de origem.\n"); system("PAUSE"); }else{ torre1[valorTorre(torre1)] = 0; torre3[destinoTorre(torre3)] = aux1; cont++; } } } } // ORIGEM 2 - TORRE 2 if(orig == 2){ // DESTINO 1 - TORRE 1 if(dest == 1){ aux1 = torre2[valorTorre(torre2)]; aux2 = torre1[destinoTorre(torre1)+1] ; aux3 = torre1[valorTorre(torre1)]; if(aux3 < aux1 && aux3 != 0){ printf("Disco da origem [%d] é maior que o disco de destino [%d]\n", aux1, aux3); system("PAUSE"); }else{ if(aux1 == 0){ printf("Sem discos na torre de origem.\n"); system("PAUSE"); }else{ torre2[valorTorre(torre2)] = 0; torre1[destinoTorre(torre1)] = aux1; cont++; } } // DESTINO 3 - TORRE 3 }else{ aux1 = torre2[valorTorre(torre2)]; aux2 = torre3[destinoTorre(torre3)+1] ; aux3 = torre3[valorTorre(torre3)]; if(aux3 < aux1 && aux3 != 0){ printf("Disco da origem [%d] é maior que o disco de destino [%d]\n", aux1, aux3); system("PAUSE"); }else{ if(aux1 == 0){ printf("Sem discos na torre de origem.\n"); system("PAUSE"); }else{ torre2[valorTorre(torre2)] = 0; torre3[destinoTorre(torre3)] = aux1; cont++; } } } } // ORIGEM 3 - TORRE 3 if(orig == 3){ // DESTINO 1 - TORRE 1 if(dest == 1){ aux1 = torre3[valorTorre(torre3)]; aux2 = torre1[destinoTorre(torre1)+1] ; aux3 = torre1[valorTorre(torre1)]; if(aux3 < aux1 && aux3 != 0){ printf("Disco da origem [%d] é maior que o disco de destino [%d]\n", aux1, aux3); system("PAUSE"); }else{ if(aux1 == 0){ printf("Sem discos na torre de origem.\n"); system("PAUSE"); }else{ torre3[valorTorre(torre3)] = 0; torre1[destinoTorre(torre1)] = aux1; cont++; } } // DESTINO 2 - TORRE 2 }else{ aux1 = torre3[valorTorre(torre3)]; aux2 = torre2[destinoTorre(torre2)+1] ; aux3 = torre2[valorTorre(torre2)]; if(aux3 < aux1 && aux3 != 0){ printf("Disco da origem [%d] é maior que o disco de destino [%d]\n", aux1, aux3); system("PAUSE"); }else{ if(aux1 == 0){ printf("Sem discos na torre de origem.\n"); system("PAUSE"); }else{ torre3[valorTorre(torre3)] = 0; torre2[destinoTorre(torre2)] = aux1; cont++; } } } } mostrarTorres(); } void mostrarMenu(){ int orig, dest, test=0, aux; do{ // VERIFICA SE GANHOU! if(verificarFinal() == 1){ aux = pow(2, POSICOES)-1; if(cont == aux){ printf("\nParabéns, você ganhou e sua pontuação foi excelente %d de %d.\n", cont, aux); }else if(cont > aux && cont <aux+5){ printf("\nParabéns, você ganhou mas sua pontuação foi abaixo da média %d de%d.\n", cont, aux); }else{ printf("\nParabéns, você ganhou mas sua pontuação foi ruim: %d de %d.\n", cont, aux); } system("PAUSE"); system("CLS"); printf("\n\n\t\t\t ENCERRADO COM SUCESSO.\n"); exit(0); // FINALIZA O PROGRAMA; } printf("Informe Torre Origem (1 a 3): "); scanf("%d", &orig); do{ if(orig < 1 || orig > 3){ printf(" - Torre de Origem não corresponde, informe corretamente.\nInforme Torre Origem (1 a 3): "); scanf("%d", &orig); } }while(orig < 1 || orig > 3); mostrarTorres(); printf("Informe Torre Destino (1 a 3): \t"); scanf("%d", &dest); do{ if(dest < 1 || dest > 3){ printf(" - Torre de Destino não corresponde, informe corretamente.\nInforme Torre Destino (1 a 3): "); scanf("%d", &dest); } if(dest == orig){ printf(" - O destino não pode ser igual a torre de origem.\nInforme Torre Destino (1 a 3): "); scanf("%d", &dest); } }while(dest < 1 || dest > 3 || dest == orig); moverDiscos(orig, dest); }while(test != 1); } void mostrarTorres(){ system("CLS"); printf("\t TORRE DE HANOI \n"); for(int i=0;i<POSICOES;i++){ printf(" \t |%d| |%d| |%d| \n", torre1[i], torre2[i], torre3[i]); //printf(" \t%d|%d| %d|%d| %d|%d| \n", i, torre1[i], i, torre2[i], i, torre3[i]);// PARA TESTES } printf("\t Nº de jogadas: "); if(cont < 10){ printf("0%d\n", cont); }else{ printf("%d\n", cont); } } int verificarFinal(){ int opt=0; if(torre3[0] == 1){ opt = 1; } return(opt); } void regras(){ system("CLS"); printf(" - Torre de Hanói:\n"); printf(" O objectivo deste jogo consiste em deslocar todos os discos da haste\n"); printf(" Onde se encontram para uma haste diferente, \n Respeitando as seguintes regras:\n\n"); printf(" 1 - deslocar um disco de cada vez, o qual deverá\n ser o do topo de uma das três hastes.\n\n"); printf(" 2 - cada disco nunca poderá ser colocado sobre\n outro de diâmetro mais pequeno.\n\n "); system("pause"); system("CLS"); }
  13. r1castro1

    Ponteiros com Ordenação

    :( Olá pessoal, estou aprendendo programação em C/C++ e ainda me perco na resolução de alguns problemas. A questão abaixo, requer eu crie 5 ponteiros e os ordene em forma crescente. Há uma semana que estou nisso. Alguém pode me ajudar? //Faça um programa usando ponteiros, para ordenar 5 números e mostrá-los ordenados na tela. //A ordenação deve ser realizada através dos ponteiros. Então é necessário criar cinco ponteiros [ code] #include <stdio.h> int main() { int a, b, c, d, e; int *ponteiro_a = &a, *ponteiro_b = &b, *ponteiro_c = &c, *ponteiro_d = &d, *ponteiro_e = &e; int *menor = ponteiro_a, *medio_1 = ponteiro_a, *medio_2 = ponteiro_a, *medio_3 = ponteiro_a, *maior = ponteiro_a; printf("Entre com 5 numeros Inteiros [separados por espaços]: "); scanf(" %d %d %d %d %d", ponteiro_a, ponteiro_b, ponteiro_c, ponteiro_d, ponteiro_e); if(*ponteiro_b > *maior) maior = ponteiro_b; if(*ponteiro_c > *maior) maior = ponteiro_c; if(*ponteiro_d > *maior) maior = ponteiro_d; ; if(*ponteiro_e > *maior) maior = ponteiro_e; if(*ponteiro_b < *menor) menor = ponteiro_b; if(*ponteiro_c < *menor) menor = ponteiro_c; if(*ponteiro_d < *menor) menor = ponteiro_d; if(*ponteiro_e < *menor) menor = ponteiro_e; if(maior != ponteiro_a && menor != ponteiro_a && medio_1 != ponteiro_a) medio_2 = ponteiro_a; else { medio_3 = ponteiro_a; } if(maior != ponteiro_b && menor != ponteiro_b && medio_1 != ponteiro_B) medio_1 = ponteiro_b; else { medio_3 = ponteiro_b; } if(maior != ponteiro_c && menor != ponteiro_c && medio_1 != ponteiro_c) medio_2 = ponteiro_c; else { medio_3 = ponteiro_c; } if(maior != ponteiro_d && menor != ponteiro_d && medio_1 != ponteiro_d) medio_2 = ponteiro_d; else { medio_3 = ponteiro_d; } if(maior != ponteiro_e && menor != ponteiro_e && medio_1 != ponteiro_e) medio_2 = ponteiro_e; else { medio_3 = ponteiro_e; } printf("Em ordem crescente: %d %d %d %d %d\n", *menor, *medio_1, *medio_2, *medio_3, *maior); printf("Em ordem crescente: %d %d %d %d %d\n", *menor, *medio_3, *medio_2, *medio_1, *maior); printf("Em ordem crescente: %d %d %d %d %d\n", *menor, *medio_2, *medio_3, *medio_1, *maior); printf("Em ordem crescente: %d %d %d %d %d\n", *menor, *medio_1, *medio_3, *medio_2, *maior); printf("Em ordem crescente: %d %d %d %d %d\n", *menor, *medio_2, *medio_1, *medio_3, *maior); printf("Em ordem decrescente: %d %d %d %d %d\n", *maior, *medio_1, *medio_2, *medio_3, *menor); printf("Em ordem decrescente: %d %d %d %d %d\n", *maior, *medio_3, *medio_2, *medio_1, *menor); printf("Em ordem decrescente: %d %d %d %d %d\n", *maior, *medio_2, *medio_3, *medio_1, *menor); printf("Em ordem decrescente: %d %d %d %d %d\n", *maior, *medio_1, *medio_3, *medio_2, *menor); printf("Em ordem decrescente: %d %d %d %d %d\n", *maior, *medio_2, *medio_1, *medio_3, *menor); return 0; } [ /code]
  14. brunaborgesa

    Ajuda com Algoritmo IMC

    Ola gente, preciso fazer um programa usando o labwindows em C para calculo de IMC. O programa que fiz só mostra como resultado "Abaixo do peso" bem rápido e depois fecha o executável. Segue abaixo o programa, se alguem puder me dizer onde está o erro. PRovavelmente é algum uso errado de getchar, nao sei. #include <ansi_c.h> int main () { float peso, altura, a, imc; printf ("este programa calcula o IMC \n"); printf ("Digite seu peso \n"); scanf ("%f", &peso); getchar () ; printf ("Digite sua altura \n"); scanf ("%f" , &altura); getchar () ; a=(altura*altura); imc=(peso/a); if (imc<=17) { printf("Muito abaixo do peso\n"); getchar (); } else if ((imc>17) && (imc<=18,49)) { printf ("Abaixo do peso \n"); getchar (); } else if ((imc>18,49) && (imc<=24,99)) { printf ("Peso normal \n"); getchar (); } else if ((imc>24,99) && (imc<=29,99)) { printf ("Acima do peso \n"); getchar (); } else if ((imc>29,99) && (imc<=34,99)) { printf ("Obesidade I \n"); getchar (); } else if ((imc>34,99) && (imc<=39,99)) { printf ("Obesidade II (severa) \n"); getchar (); } else { printf ("Obesidade III (morbida) \n"); getchar (); } getchar (); return 0; }
  15. Diegopeterbilt

    Cadastro de Produtos

    Boa tarde pessoal, preciso de uma ajuda, fiz esse código para cadastrar produtos. O que não estou conseguindo fazer é ordenar os produtos em ordem alfabética quando seleciono a opção 'B'. O que posso fazer? #include <stdio.h> #include <conio.h> #include <string.h> #include <stdlib.h> typedef struct lista{ char nome[50]; char fornecedor [50]; char validade [50]; char preço[50]; char variedade [50]; char origem [50]; unsigned long int codigo; struct lista* prox; char aux [50]; }Lista; //Declaração de funções. Lista* inserir_produtos(Lista* primeiro); void listar_produtos(Lista* primeiro); Lista* excluir_produtos(Lista* primeiro); void alterar_produtos(Lista* primeiro); main() { //Declaração de variáveis Lista *primeiro= NULL; char opcao; //Artifício para repetir o programa. while(opcao!='s') { //Menu de opções printf(" %c----------------------------------------------------------------------------%c\n",201,187); printf(" | ");printf("\t\t\t CADASTRO DE PRODUTOS");printf("\t\t\t |\n"); printf(" %c----------------------------------------------------------------------------%c\n",200,188); printf("\t %c----------%c\t\t\t\t ",201,187); printf("\t\t\t | MENU ");printf("|\t\t\t\t \n"); printf(" %c-----------%c----------%c------------%c \n",201,200,188,187); printf(" | <A> Novo cadastro |\n"); printf(" |-----------------------------------|\n"); printf(" | <B> Listar |\n"); printf(" |-----------------------------------|\n"); printf(" | <C> Excluir cadastro |\n"); printf(" |-----------------------------------|\n"); printf(" | <D> Alterar cadastro |\n"); printf(" |-----------------------------------|\n"); printf(" | <S> Sair |\n"); printf(" %c-----------------------------------%c",200,188); printf("\n\n\n\n"); printf("\t\t\t By Diego, Jefferson e Felipe"); //Lendo a opcao do menu fflush(stdin); opcao= getch(); //Menu de opções switch(opcao) { case 'A': case 'a': //Inserindo os produtos. fflush(stdin); system("cls"); printf(" %c----------------------------------------------------------------------------%c\n",201,187); printf(" | ");printf("\t\t\t NOVO CADASTRO ");printf("\t\t\t |\n"); printf(" %c----------------------------------------------------------------------------%c\n",200,188); primeiro= inserir_produtos(primeiro); getch(); system("cls"); break; case 'B': case 'b': //Listando os produtos. system ("cls"); printf(" %c----------------------------------------------------------------------------%c\n",201,187); printf(" | ");printf("\t\t\t PRODUTOS CADASTRADOS");printf("\t\t\t |\n"); printf(" %c----------------------------------------------------------------------------%c\n",200,188); listar_produtos(primeiro); getch(); system("cls"); break; case 'C': case 'c': //Excluindo produtos da lista. system ("cls"); printf(" %c----------------------------------------------------------------------------%c\n",201,187); printf(" | ");printf("\t\t\t EXCLUIR CADASTROS");printf("\t\t\t |\n"); printf(" %c----------------------------------------------------------------------------%c\n",200,188); primeiro= excluir_produtos(primeiro); getch(); system("cls"); break; case 'D': case 'd': //Alterando produtos da lista. system ("cls"); printf(" %c----------------------------------------------------------------------------%c\n",201,187); printf(" | ");printf("\t\t\t ALTERAR CADASTRADOS");printf("\t\t\t |\n"); printf(" %c----------------------------------------------------------------------------%c\n",200,188); alterar_produtos(primeiro); getch(); system("cls"); break; case 'S': case 's': //Artifício para sair do programa. opcao='s'; break; default: //Artifício que previne a situação de um usuário qualquer, digitar uma opcão inexistente no menu. system("cls"); break; } } } Lista* inserir_produtos (Lista *primeiro){ Lista produto; Lista *atual= primeiro; char identificador= 'F'; //Lendo as informações dos produtos. printf(" Nome: "); fflush (stdin); fgets(produto.nome, 50, stdin); printf ("\n"); printf(" C%cdigo: ",162); scanf("%u",&produto.codigo);printf ("\n"); printf(" Fornecedor: "); fflush (stdin); fgets(produto.fornecedor, 50, stdin); printf ("\n"); printf(" Validade (dd/mm/aaaa): "); fflush (stdin); fgets(produto.validade, 50, stdin); printf ("\n"); printf(" Pre%co: R$",135); fflush (stdin); fgets(produto.preço, 50, stdin); printf ("\n"); printf(" Variedade: "); fflush (stdin); fgets(produto.variedade, 50, stdin); printf ("\n"); printf(" Origem: "); fflush (stdin); fgets(produto.origem, 50, stdin); printf ("\n"); //Verificando se o cadastro já existe. for(atual=primeiro; atual!=NULL; atual=atual->prox){ if(atual->codigo==produto.codigo){ identificador= 'V'; break; } } if(identificador!='V' && (strlen(produto.nome)!=1 && (strlen(produto.fornecedor)!=1 && strlen(produto.preço)!=1))){ //Alocando os espaços e guardando as informações do produto. Lista* NovoProduto=(Lista*) malloc (sizeof(Lista)); strcpy(NovoProduto->nome, produto.nome); strcpy(NovoProduto->fornecedor, produto.fornecedor); strcpy(NovoProduto->validade, produto.validade); strcpy(NovoProduto->variedade, produto.variedade); strcpy(NovoProduto->origem, produto.origem); strcpy(NovoProduto->preço, produto.preço); NovoProduto->codigo= produto.codigo; NovoProduto->prox= primeiro; printf(" Cadastro realizado com sucesso."); printf("\n\n PRESSIONE QUALQUER TECLA PARA VOLTAR AO MENU PRINCIPAL."); return NovoProduto; }else{ printf(" Cadastro inv%clido.",160); printf("\n\n PRESSIONE QUALQUER TECLA PARA VOLTAR AO MENU PRINCIPAL."); return primeiro; } } void listar_produtos (Lista* primeiro){ Lista* atual;//Ponteiro para percorrer a lista sem perder a referência do primeiro elemento da lista. //Imprimindo os produtos da lista, e suas repectivas informações. for(atual= primeiro ; atual!= NULL; atual= atual->prox){ printf("\n Nome: "); printf("%s", atual->nome); printf("\n C%cdigo: ",162 ); printf("%u", atual->codigo); printf("\n"); printf("\n Fornecedor: "); printf("%s", atual->fornecedor); printf("\n Validade (dd/mm/aaaa): "); printf("%s", atual->validade); printf("\n Pre%co: R$",135); printf("%s", atual->preço); printf("\n Variedade: "); printf("%s", atual->variedade); printf("\n Origem: "); printf("%s", atual->origem); printf("\n\n"); } if(primeiro==NULL) printf(" Nenhum produto cadastrado."); printf("\n\n PRESSIONE QUALQUER TECLA PARA VOLTAR AO MENU PRINCIPAL."); } Lista* excluir_produtos(Lista *primeiro){ Lista *anterior= NULL;//Ponteiro para saber o elemento anterior ao elemento atual da lista. Lista *atual= primeiro;//Ponteiro para percorrer a lista sem perder o primeiro elemento da lista. unsigned long int codigo=0; //Requisitando e lendo o código do produto a ser excluído. printf(" C%cdigo do produto a ser exclu%cdo: ", 162,161); fflush(stdin); scanf("%u",&codigo); //Procurando o produto na lista. while(atual!= NULL && atual->codigo!=codigo){ anterior= atual; atual= atual->prox; } //Mensagem caso o produto não seja encontrado. if(atual==NULL){ printf("\n Produto n%co encontrado.", 198); printf("\n\n PRESSIONE QUALQUER TECLA PARA VOLTAR AO MENU PRINCIPAL."); return primeiro; } //Excluindo o primeiro produto da lista. if(anterior==NULL){ printf("\n Conte%cdo exclu%cdo com sucesso.", 163,161); primeiro= atual->prox; //Excluindo um produto do meio da lista. }else{ printf("\n Conte%cdo exclu%cdo com sucesso.", 163,161); anterior->prox= atual->prox; } //Desalocando o espaço da memória. free(atual); printf("\n\n PRESSIONE QUALQUER TECLA PARA VOLTAR AO MENU PRINCIPAL."); return primeiro; } //Função para alterar produtos. void alterar_produtos(Lista* primeiro){ char nome_substituto[40], fornecedor_substituto[40], validade_substituto[40], preco_substituto[40], variedade_substituto[40], origem_substituto[40]; unsigned long int codigo; Lista* atual=primeiro; //Requisitando e lendo o código do produto a ser alterado. printf(" C%cdigo do produto a ser alterado: ", 162); fflush(stdin); scanf("%u",&codigo); //Procurando o produto na lista. while(atual!= NULL && atual->codigo!=codigo){ atual= atual->prox; } //Alterando os dados do produto. if(atual!=NULL){ printf("\n Novo nome: "); fflush (stdin); fgets(nome_substituto, 50, stdin); strcpy(atual->nome,nome_substituto); printf("\n Novo pre%co: R$",135); fflush (stdin); fgets(preco_substituto, 50, stdin); strcpy(atual->preço,preco_substituto); printf("\n Novo fornecedor: "); fflush (stdin); fgets(fornecedor_substituto, 50, stdin); strcpy(atual->fornecedor,fornecedor_substituto); printf("\n Nova validade (dd/mm/aaaa): "); fflush (stdin); fgets(validade_substituto, 50, stdin); strcpy(atual->validade,validade_substituto); printf("\n Nova variedade: "); fflush (stdin); fgets(variedade_substituto, 50, stdin); strcpy(atual->variedade,variedade_substituto); printf("\n Nova origem: "); fflush (stdin); fgets(origem_substituto, 50, stdin); strcpy(atual->origem,origem_substituto); printf ("\n"); printf(" Dados alterados com sucesso."); }else{ printf("\n Produto n%co encontrado.",198); } printf("\n\n\n PRESSIONE QUALQUER TECLA PARA VOLTAR AO MENU PRINCIPAL.");
  16. giovannicruz97

    Não imprime valores

    Pessoal, Bom dia! Tenho que resolver um problema que diz:" Ler oito elementos numéricos inteiros em uma matriz A do tipo vetor. Construir uma matriz B de mesma dimensão com os elementos da matriz A multiplicados por 3. Apresentar os elementos A e B lado a lado." Estou tendo um problema pois ele não mostra o conteúdo dos vetores, ele "salta" a saída dos valores. #include <stdio.h> int main(void) { int I, A[8], B[8]; char PAUSA; //ENTRADA DOS DADOS E PROCESSAMENTO DOS DADOS --> B[I] = A[I] * 3 for(I = 0; I <= 7; I++) { printf("A[%i] = ", I + 1); scanf("%i", &A[I]); while((getchar() != '\n') && (!EOF)); B[I] = A[I] * 3; } printf("\n"); //SAÍDA DOS DADOS printf("MATRIZ A", "%10s"); printf("MATRIZ B"); printf("\n"); for(I = 0; I <= 7; I++) { printf("A[%i] = %i", I + 1, A[I]); printf("%10s"); printf("B[%i] = %i", I, B[I]); printf("\n"); } printf("\n"); printf("Tecle <ENTER> para sair..."); PAUSA = getchar(); return 0; }
×

Informação importante

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