Ir ao conteúdo
  • Cadastre-se

Pesquisar na Comunidade

Mostrando resultados para as tags ''C++''.



Mais opções de pesquisa

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Categorias

  • Armazenamento
  • Áudio
  • Energia
  • Entrada
  • Feiras e Eventos
  • Gabinetes
  • Memória
  • Museu
  • Placas-mãe
  • Portáteis
  • Processadores
  • Programas
  • Rádio CdH
  • Redes
  • Refrigeração
  • Smartphones
  • Tablets
  • Vídeo
  • Outros

Categorias

  • Armazenamento
  • Áudio
  • Câmeras
  • Computadores
  • Consoles
  • Eletrônicos
  • Energia
  • Entrada
  • Gabinetes
  • Impressão
  • Jogos
  • Memória
  • Placas-mãe
  • Portáteis
  • Processadores
  • Programas
  • Redes
  • Refrigeração
  • Smartphones
  • Tablets
  • Vídeo
  • Outros

Categorias

  • Livros disponíveis
  • Livros esgotados

Fóruns

  • Mensagens do Clube do Hardware
    • Regras gerais
    • Boletins do Clube do Hardware
    • Notícias da administração
  • Hardware
    • Recomendações de computadores
    • Placas de vídeo
    • Placas-mãe e chipsets
    • Processadores
    • Problemas de gargalo e desempenho
    • Memórias
    • Armazenamento
    • Refrigeração e superaquecimento
    • Fontes e energia
    • Gabinetes e casemods
    • Placas de som e áudio on-board
    • Periféricos
    • Mac
    • Overclock
    • Hardware - outros
  • Computação móvel
    • Notebooks
    • Tablets
    • Smartphones e apps
  • Redes e Internet
    • Redes e Internet
    • Hospedagem de sites e registro de domínios
  • Segurança da informação
    • Remoção de malware
    • Dúvidas sobre invasões e infecções
    • Programas de proteção
  • Programação e desenvolvimento
    • Java
    • C/C#/C++
    • Pascal/Delphi
    • .NET
    • Bancos de dados
    • Programação web
    • Programação - iniciantes
    • Programação de microcontroladores
    • Programação - outros
  • Software
    • Jogos
    • Pacotes de escritório
    • Computação distribuída (Folding@Home, Bitcoin etc.)
    • Virtualização
    • Design, animação e tratamento de imagens
    • Edição de áudio e vídeo
    • Programas
  • Sistemas Operacionais
  • Eletrônicos
  • Outros
  • Clube do Hardware

Categorias

  • Hardware
  • Redes
  • Eletrônica
  • Sistemas operacionais

Encontrar resultados em...

Encontrar resultados que...


Data de criação

  • Iniciar

    FIM


Última atualização

  • Iniciar

    FIM


Filtrar pelo número de...

Data de registro

  • Iniciar

    FIM


Grupo


Caixas de som

Encontrado 746 registros

  1. Sou iniciante em C++ por favor alguem poderia me ajudar nesse problema,preciso fazer um programa : para conceder um desconto de 5% sobre o Total a Pagar, se este for maior que R$ 300,00. Pensei que estava no caminho certo,mas parece que ele nao reconhece que a compra é maior que 300 reais e assim ele nao executa os calculos que mandei o codigo esta assim: Ps:Acho que o problema esta no If ou else Obrigado desde ja #include<stdio.h> #include<stdlib.h> #include<locale.h> // Aula 03 - Exercício 1: Algoritmo para fechamento de conta em uma pizzaria int main() { // Declaração de variáveis unsigned int qtd_chopps_cons, qtd_pizzas_cons, qtd_cobert_cons, qtd_pessoas_mesa,valor_pessoa_desc,valor_desc, total_cont_desc; float val_chopps, val_pizzas, val_cobert, sub_total_conta, val_gorjeta, total_conta, valor_pessoa; // Declaração de contantes const float preco_chopp = 8.00; const float preco_pizza = 32.00; const float preco_cobertura = 6.00; const float gorjeta_garcon = 0.10; // const float gorjeta_garcon = 10; puts("\n<< Pizzaria Lider - Fechamento de Conta >>"); // Entrada de Dados printf("\n\n Informe a Quantidade de chopps consumidos....: "); // fflush(stdin); scanf("%d",&qtd_chopps_cons); printf("\n Informe a Quantidade de Pizzas consumidas....: "); scanf("%d",&qtd_pizzas_cons); printf("\n Informe a Quantidade de Coberturas consumidas: "); scanf("%d",&qtd_cobert_cons); printf("\n Informe a Quantidade de Pessoas na mesa......: "); scanf("%d",&qtd_pessoas_mesa); // Processamento de Calculos val_chopps = qtd_chopps_cons * preco_chopp; val_pizzas = qtd_pizzas_cons * preco_pizza; val_cobert = qtd_cobert_cons * preco_cobertura; sub_total_conta = val_chopps + val_pizzas + val_cobert; val_gorjeta = sub_total_conta * gorjeta_garcon; // const float gorjeta_garcon = 0.10; // val_gorjeta = sub_total_conta * (gorjeta_garcon / 100); // const float gorjeta_garcon = 10; total_conta = sub_total_conta + val_gorjeta; valor_pessoa = total_conta / qtd_pessoas_mesa; if (total_conta <=299.00) { valor_desc = total_conta * 0.5/10; total_cont_desc = total_conta - valor_desc; valor_pessoa_desc = total_cont_desc / qtd_pessoas_mesa; } else{ } // Saida de dados do Fechamento da Conta puts("\n\n<< Pizzaria Lider - Valor a Pagar pela Mesa >>"); printf("\n Sub-Total Conta...R$ %8.2f",sub_total_conta); printf("\n Valor da Gorjeta..R$ %8.2f",val_gorjeta); printf("\n Valor Total Conta.R$ %8.2f",total_conta); printf("\n Valor por Pessoa..R$ %8.2f",valor_pessoa); printf("\n Valor do desconto.R$ %8.2f",valor_desc); printf("\n Valor Total Conta.R$ %8.2f",total_cont_desc); printf("\n Valor Por pessoa..R$ %8.2f",valor_pessoa_desc); return 0; }
  2. Faça um algoritmo que receba o nome, a idade e o sexo. Se a pessoa for do sexo feminino e tiver menos que 30 anos, escrever o nome e mensagem: ACEITA. Caso contrário,escrever o nome e a mensagem: NÃO ACEITA. Não tá dando certo, alguem pode me falar onde tá o erro? #include<stdio.h> #include<stdlib.h> #include<conio.h> #include<math.h> #include<string.h> int main() { int idade; char nome,sexo,feminino,masculino; printf("Qual seu nome: "); scanf("%s", &nome); printf("Qual seu sexo: "); scanf("%s", &sexo); printf("Qual sua idade: "); scanf("%d", &idade); if (sexo = feminino, idade <30 ); { printf("%s ,ACEITA", nome); } if (sexo = masculino, idade >= 30); { printf("%s , NÂO ACEITA", nome); } system("PAUSE"); return 0; }
  3. Estou no começo do curso de engenharia e estou tendo que utilizar o CodeBlocks. Porém no meu computador, após eu finalizar a programação e salvar, quando vou abrir o .exe criado na pasta destinatária, ele executa mas não mostra o resultado final, ele simplesmente fecha, sendo que no CodeBlocks ele funciona por completo. Como resolvo o problema do .exe? obs: no caso eu fiz uma calculadora que soma e divide os valores que são digitados pelo usuário, quando eu termino de por os valores ele fecha sem dar o resultado.
  4. #include <iostream> using namespace std; const int qtdMax = 5; struct sala{ int qtdAlunos; string aluno[qtdMax]; }; sala *criaSala() { sala *nova; nova=new sala; nova->qtdAlunos=0; return nova; } bool novoAluno(string nomeAluno, sala *p) { if (p->qtdAlunos>=qtdMax) return false; p->aluno[p->qtdAlunos]=nomeAluno; p->qtdAlunos++; return true; } int main() { sala *sistemas2; sistemas2 = criaSala(); novoAluno("lucas",sistemas2); cout <<" "<< novoAluno(sistemas2)<<endl; return 0; }
  5. Pf me ajudem, sou novo na programação e nesse fórum !!! Estou desenvolvendo um jogo da vida para um trabalho para a faculdade e estou com um problema. Esse problema implica que as regras para decidir se a "célula" deve morrer ou nascer não estão sendo implementadas no meu programa,com isso,quando eu imprimo a matriz para a representar a próxima geração a matriz inicial se repete !!! A descrição de como tem que ser feito esta em anexo. SE ALGUÉM PODER ME AJUDAR AGRADEÇO MUITO. Meu código já feito que esta com o problema relatado: #include <iostream> #include <stdlib.h> #include <stdio.h> using namespace std; void imprimematriz(const char matriz[][80]);//IMPRIME A MATRIZ void alterageracoes (const char mundo [][80],const char geracoes [][80]);//CRIA OU MATA VIDA COM AS REGRAS int main() { char mundo [22][80];//MATRIZ geração ANTIGA char geracoes [22][80];//MATRIZ DA NOVA geração // PREENCHENDO MATRIZ MUNDO for(int i=0;i<22;i++){ for(int j=0;j<80;j++){ if(i%4==0||j%4==0){ mundo[j]= '*'; } else mundo[j]=' '; } } cout<<"Primeira geração:\n"; imprimematriz(mundo); system("pause");//PAUSA O PROGRAMA system("CLS");//APAGA TELA //CASO O USUARIO NAO FICAR SATISFEITO COM A MATRIZ INICIAL cout<< "Caso nao ficou satisfeito(a) com a matriz inicial você pode alterar por conta propria.\nTecle 1, Caso nao tecle outra tecla:\n"; int m; cin>>m; while(m==1){ int x,y,z; cout<< "Selecione a posicao que se deseja alterar:\n"; cout << "linha\n"; cin >> x; cout << "Coluna\n"; cin >> y; cout<< "voce selecionou o valor de linha: "<<x<<" e coluna:"<<y<<" Que possui: "<<mundo[x][y]<<"\n"; if(x%4==0 || y%4==0){ mundo[x][y]=' '; } else { mundo[x][y]='*'; } cout<< "Agora a linha "<<x<<" e a coluna "<<y<<" possui "<<mundo[x][y]<<" de conteudo\n"; system("pause"); system("CLS"); cout << "Sua nova matriz:\n"; system("pause"); imprimematriz(mundo); system("pause"); system("CLS"); cout<<"Deseja fazer outra alteracao ?\nTecle 1 para sim e outra tecla para nao:"; cin>>m; } system("CLS"); //COMEÇANDO AS GERAÇÔES E INCREMENTANDO AS REGRAS cout<< "Para iniciar as geracoes? (1 para sim, outra tecla para nao)\n"; int w; cin>>w; int contadordegeracao=1; system("CLS"); while(w==1){ cout<<"Essa eh a geração de numero:"<<contadordegeracao<<"\n"; alterageracoes(mundo,geracoes); imprimematriz(mundo); contadordegeracao++; cout<<"Quer ir para a proxima geração? (1 para sim, outra tecla para n)\n"; cin>>w; system("CLS"); } cout<<"Obrigado por jogar !!! =)"; return 0; } void imprimematriz(const char matriz[][80]){ // FUNÇÃO QUE IMPRIME A MTRIZ for(int i=0;i<22;i++){ for(int j=0;j<80;j++){ cout << matriz[j] << " "; } cout << "\n"; } } //FUNÇÃO QUE ALTERA A MATRIZ COM AS REGRAS void alterageracoes (const char mundo [][80],const char geracoes [][80]){ int cont; for(int i=0;i<22;i++){ for(int j=0;j<80;j++){ //CONTANDO CELULAS VIVAS AO REDOR DA CELULA ATUAL cont = 0; if(mundo[i-1][j-1] == '*' && mundo[j] != '*') { cont++; } if(mundo[i-1][j] == '*' && mundo[j] != '*') { cont++; } if(mundo[i-1][j+1] == '*' && mundo[j] != '*') { cont++; } if(mundo[j-1] == '*' && mundo[j] != '*') { cont++; } if(mundo[j+1] == '*' && mundo[j] != '*') { cont++; } if(mundo[i+1][j-1] == '*' && mundo[j] != '*') { cont++; } if(mundo[i+1][j] == '*' && mundo[j] != '*') { cont++; } if(mundo[i+1][j+1] == '*' && mundo[j] != '*') { cont++; } //MATANDO OU NASCENDO COM OS RESULTADOS DA VIZINHANÇA if(cont==0 && mundo[j] =='*'){ geracoes[j]==' '; } if(cont == 1 && mundo[j] == '*') { geracoes[j]==' '; } if(cont == 3 && mundo[j] == ' ') { geracoes[j]=='*'; ; } if(cont >= 4 && mundo[j] == '*') { geracoes[j]== ' '; } geracoes[j]==mundo[j]; } } } Jogo da vida - EX.docx
  6. Este programa foi criado numa quinta-feira, 21 de abril de 2016 Um outro recurso que impressiona e que também faz parte do C, são as macros. Para criar uma macro basta usar a diretiva #define e incluir na frente um nome que será o identificador da macro. O c possui diversas diretivas que foram definida pelo padrão C ANSI, más neste e na maioria dos programas mais simples, usamos pelo menos duas que são: #include e #define. Estas diretivas são definidas geralmente numa única linha e ponto-e-vírgula não são usados. Espaços são aceitos entre o nome e a string desde que a macro não esteja recebendo parâmetros. Vale lembrar que se a string for muito longa basta colocar uma barra invertida no final da linha para que o compilador entenda que tem que continuar na linha seguinte. Definir os nomes de uma macro em maiúscula pode ser uma boa prática de programação, porém não são regras. O programa que criei para exemplo gera 12 números num vetor, e em seguida embaralha seus elementos, e são chamados um por vez, para que as operações sejam feitas individualmente. Criei algumas macros para este exemplo e mostro na prática seu funcionamento, na verdade fui bem além, em chamar a função textcolor(); da conio.h através de macro rodando perfeitamente. Pretendo mostrar outro exemplo de uso de macros mais avançado, e não quero incluir neste programa para não torna-lo mais complicado, portanto será muito bom vê-lo no próximo post. #include <stdlib.h> #include <stdio.h> #include <conio.h> #include <time.h> #define tam 12 #define QUADR(x) ( ( x ) * ( x ) ) #define CUBO(x) ( ( x ) * ( x ) * ( x ) ) #define par if( a % 2 == 0 ) #define impar if( a % 2 == 1 ) #define VERMELHO textcolor(LIGHTRED); #define AZUL textcolor(LIGHTBLUE); #define PRETO textcolor(BLACK); #define ROXO textcolor(LIGHTMAGENTA); #define CINZA textcolor(DARKGRAY); void got_color(int tam_lin_ini, int tam_lin_fim, int tam_ini_col, int tam_fim_col, int a, int b) { int i, e; if (a >= 1 && a <= 16) { textcolor(a); } if (b >= 1 && b <= 16) { textbackground(b); } for (i = tam_lin_ini; i < tam_lin_fim; i++) { for (e = tam_ini_col; e < tam_fim_col; e++) { gotoxy(e, i); printf(" "); } } } int main(){ system("title MACROS: CRIANDO E UTILIZANDO"); int a = 0; int y = 0; int p = 0; int Vet [ tam ]; int i; int x = 0; do{ normvideo(); system("cls"); got_color(2, 25, 3, 79, 2, 15); for( i = 1; i <= 12; i++ ){ Vet [ p ] = i; p++; } if ( tam > 1 ){ for ( i = 0; i < tam; i++ ){ p = i + rand() % ( tam - i ); int t = Vet [ p ]; Vet [ p ] = Vet [ i ]; Vet [ i ] = t; } } VERMELHO gotoxy(28, 3); printf("MACROS: CRIANDO E UTILIZANDO"); AZUL gotoxy(14, 5); printf("SORTEADO QUADRADO CUBO SOBRE"); for ( i = 0; i < tam; i++){ for ( i = 0; i < tam; i++ ) { do{ if ( Vet [ i ] == 0 ) Vet [ i ] = tam; a = Vet [ i ]; PRETO gotoxy(17, i + 7); printf("%d", a ); VERMELHO printf(" %18d ", QUADR ( a ) ); ROXO printf(" %14d ", CUBO ( a ) ); gotoxy(64, i + 7); CINZA par printf("Par" ); impar printf("Ímpar" ); i++; x++; Sleep(1800); break; }while ( x < tam ); i = i - 1; } i = i - 1; } y++; Sleep(1800); VERMELHO gotoxy(26, 20); printf("Por: "); AZUL printf("Samuel Lima"); PRETO gotoxy(26, 21); printf("sa_sp10@hotmail.com"); Sleep(1800); VERMELHO gotoxy(37, 23); printf("MUITO OBRIGADO"); getche(); }while ( y < 1 ); return 0; }
  7. Boa noite, podem me ajudar por favor. Estou tentando fazer uma calculadora em função mas não estou conseguindo fazer que o if da divisão funcione. O código esta ai desde já agradeço. #include<stdio.h> #include<stdlib.h> #include <conio.h> // Função int soma(int n1, int n2); int sub(int n1,int n2); int mult(int n1,int n2); int divi(int n1,int n2); int resul; main(){ int numa, numb; printf("Entre com dois numeros\n"); scanf("%d",&numa); scanf("%d",&numb); printf("Soma = %d\n",soma(numa,numb)); printf("Subtracao = %d\n",sub(numa,numb)); printf("Multiplicacao = %d\n",mult(numa,numb)); printf("Divisao = %d\n",divi(numa,numb)); system("pause"); } int soma(int n1, int n2){ int resul; resul = n1 + n2; return (resul); } int sub(int n1, int n2){ int resul; resul = n1 - n2; return (resul); } int mult(int n1, int n2){ int resul; resul = n1 * n2; return (resul); } int divi(int n1, int n2){ int resul; if (n1==0 && n2==0) printf ("Nao é possivel dividir por zero!!!"); else resul = n1/n2; return (resul); }
  8. boa noite , alguém poderia me manda link do aquivo dev c++ 5.7.1, pois precisou baixa mesmo , desde ja lhe agradeço e nao estou conseguindo baixa ..
  9. O exercicio é este : Um stand pretende gerir a informação sobre os automóveis disponíveis para venda. A informação a considerar em cada automóvel é matricula, marca, modelo, cor, ano, cilindrada, potencia, preço de compra, preço de venda. (Use um array de registos que permita o máximo de 20 viaturas). Desenvolva procedimentos/funções que permitam: a. Inserir as informações de um automóvel; b. Listar todos os automóveis de uma determinada marca (Mostrando todos os dados); c. Listar todos os automóveis com uma margem superior a 5%; d. Listar todos os automóveis com uma cilindrada compreendida entre dois valores a serem inseridos pelo utilizador; e. Listar todos os automóveis; f. Remover um automóvel da lista (selecionado a partir do código); g. Atualizar a informação de um automóvel (selecionado a partir da matricula); h. Os registos deverão estar sempre ordenados pela matrícula. i. Todas estas opções deverão estar acessíveis através de um menu que chame cada um dos procedimentos.
  10. a) Um procedimento para inserir um nodo após o nodo K; b) Uma função para remover o nodo após o nodo K; c) Uma função para remover o nodo K. Eu montei as funções mas no momento de chamar elas não estão sendo executadas, se alguém poder dar uma ajuda agradeço! /* ================================================= */ /* Exemplo de implementacao Listas Simplesmente Enc. */ /* Exercicios da apostila */ /* Profa Fabiana Lorenzi */ /* Estruturas de Dados I */ /* ================================================= */ #include <stdio.h> #include <conio.h> #include <malloc.h> /* estrutura da Lista Simplesmente Encadeada...*/ struct nodo { int dados; struct nodo *proximo; }; void insere_esquerda(struct nodo **inicio, struct nodo **fim, int valor, int *sinal); void insere_antes_de_k (struct nodo **inicio, struct nodo *k, int valor , int *sinal); void insere_antes_do_quarto (struct nodo **inicio, int valor , int *sinal); void insere_apos_de_k (struct nodo **inicio, struct nodo **fim, struct nodo *k, int valor, int *sinal); void remove_apos_de_k (struct nodo **inicio, struct nodo **fim, struct nodo *k, int *sinal); void remove_o_k (struct nodo **inicio, struct nodo **fim, struct nodo *k, int *sinal); int conta (struct nodo *lista); /*-------------------------------------------------*/ /* Insere antes do quarto */ /*------------------------------------------------*/ void insere_antes_do_quarto (struct nodo **inicio, int valor, int *sinal) { int x; struct nodo *p, *aux; if (conta(*inicio)<4){ printf("Erro... lista não possui 4 nodos!!!"); *sinal=0; } else { p=(struct nodo*)malloc(sizeof(struct nodo)); if(p) p->dados=valor; aux=*inicio; for (x=2;x<3;x++){ aux=aux->proximo; p->proximo=aux->proximo; aux->proximo=p; *sinal=1; } } } /*===========================Fim do meu============================================*/ /* ================================================================================*/ /*===================================================================================*/ /*========================Insere apos o K o maior elemento============================================*/ void insere_apos_de_k (struct nodo **inicio, struct nodo **fim, struct nodo *k, int valor, int *sinal) { struct nodo *aux, *p; if (*inicio) //Se a lista não está vazia { p= (struct nodo *) malloc (sizeof(struct nodo)); if (p == NULL) //Se não foi possível alocar espaço em memória *sinal = 0; else { p->dados = valor; aux = *inicio; while (aux!=k && aux != NULL ) { aux = aux->proximo; } if (aux != NULL)//testa se encontro o K { if(k==*fim) { p->proximo=*fim; *fim=p; } else { p->proximo=k->proximo; k=p->proximo; *sinal = 1; } } else { *sinal=0; free (p); } } }else *sinal=0; } /*=============================fim=============================*/ /*======================Remover o k============================*/ void remove_o_k (struct nodo **inicio, struct nodo **fim, struct nodo *k, int *sinal) { struct nodo *aux, *p; if (*inicio==NULL) //Se a lista estiver vazia { *sinal = 0; } else { aux = *inicio; p=*inicio; do{ p=aux; aux=aux->proximo; }while (aux!=k && aux != NULL ); if(aux==*fim){//aux esta com valor de k p=aux->proximo;//p esta com o valor que anterior de k free(aux); } else { p->proximo=aux->proximo; free(p); } *sinal=1; } } /*========================FIM=========================*/ /*===============Excluir apos o K o maior elemento==================*/ void remove_apos_de_k (struct nodo **inicio, struct nodo **fim, struct nodo *k, int *sinal) { struct nodo *aux, *p; if (*inicio==NULL) //Se a lista estiver vazia { *sinal = 0; } if (*fim==k) //Se o k for o fim da lista { *sinal = 0; } else { aux = *inicio; p=*inicio; do{ aux=p; p=p->proximo; }while (aux!=k && aux != NULL ); if(*fim==p){//aux esta com valor de k k=*fim; free(p); } else { k->proximo=aux->proximo; free(p); } *sinal=1; } } /*==========================FIM=============================*/ /* Insere um nodo a esquerda (no inicio)*/ /* ==================================== */ void insere_esquerda(struct nodo **inicio, struct nodo **fim, int valor, int *sinal) { struct nodo *p; p = (struct nodo *) malloc (sizeof(struct nodo)); if (p) { p->dados=valor; p->proximo=*inicio; *inicio = p; if (fim==NULL) *fim = p; *sinal=1; } else *sinal=0; } /* =============================== */ /* Insere um nodo antes do nodo K; */ void insere_antes_de_k (struct nodo **inicio, struct nodo *k, int valor , int *sinal) { struct nodo *ant, *aux, *p; if (*inicio) //Se a lista não está vazia { p= (struct nodo *) malloc (sizeof(struct nodo)); if (p == NULL) //Se não foi possível alocar espaço em memória *sinal = 0; else { p->dados = valor; aux = *inicio; while (aux != k && aux != NULL) //Percorre a lista até achar o nodo k ou até chegar ao fim da lista. { ant = aux; aux = aux->proximo; } if (aux != NULL) { if (k==*inicio) { p->proximo=*inicio; *inicio=p; *sinal = 1; } else { ant->proximo = p; p->proximo = k; } *sinal = 1; } else //não encontrou k { *sinal= 0; free(p); } } //se reservou memoria para p } else *sinal= 0; //nao existe lista } /* ====================================================================== */ /* funcao que conta quantos elementos tem a lista simplesmente encadeada. */ /* ====================================================================== */ int conta (struct nodo *lista) { int cont=0; while (lista != NULL) { cont = cont+1; lista=lista->proximo; } return cont; } /* ====================================================================== */ /* funcao que retorna o nodo com maior elemento da lista simp. encadeada. */ /* ====================================================================== */ struct nodo *maior_valor (struct nodo *lista) { int ma=0; struct nodo *p, *ant; if (lista == NULL) { p=NULL; } else { ma=lista->dados; p=lista; /* guarda o end. do nodo, caso o maior seja o 1o. nodo da lista */ ant=lista; lista=lista->proximo; while (lista != NULL) { if (lista->dados > ma) /* procura o maior valor da lista... */ { ma = lista->dados; /* guarda o valor em MA */ p = ant->proximo; /* guarda o endereco do maior valor em P */ } ant=lista; lista=lista->proximo; } } return p; /* funcao sempre retorna valor. */ } /* =============================================== */ /* Procedimento para mostrar o conteudo da lista. */ /* =============================================== */ void mostra_lista (struct nodo *lista) { struct nodo *aux; aux=lista; while (aux != NULL) /* Enquanto nao for final da lista... */ { printf("Valores-> %i\n",aux->dados); aux=aux->proximo; } } /* =============================================== */ /* Procedimento que libera todo conteudo da lista */ /* =============================================== */ void libera_lista (struct nodo **lista) { struct nodo *aux, *p; aux=*lista; while (aux != NULL) /* Enquanto nao for final da lista... */ { p=aux; aux=aux->proximo; free(p); } } /* Programa principal */ int main() { int num, ok; // variavel global que representa o sinal struct nodo *l1i=NULL, *l1f=NULL, *lk=NULL; // l1i = inicio da lista // l1f = final da lista // lk = lista que armazena o endereco do nodo K /* Este trecho do programa serve para que o usuario digite varios valores (ate digitar 0) que serao armazenados na lista (insercao no inicio da lista). */ printf("\nPara encerrar a insercao digite 0 !"); do { printf("\nInforme um valor. : "); scanf("%d",&num); if (num != 0) { insere_esquerda(&l1i, &l1f, num, &ok); if (ok == 0) printf("\nErro de alocacao de memoria..."); } } while (num != 0); /* O procedimento mostra_lista serve para mostrar o conteudo da lista que está sendo passada como parametro. */ mostra_lista(l1i); getch(); /* Este trecho do programa serve para que o valor digitado pelo usuario seja inserido ANTES do nodo que tem o maior valor. */ printf("\nInforme outro valor: (insercao antes o maior elemento da lista(K)): "); scanf("%d",&num); if (num != 0) { /* a variável global lk representa o K. a funcao maior_valor é chamada e o endereco do nodo com o maior valor é armazenado na variavel global lk (K). */ lk=maior_valor(l1i); /* Chamada do procedimento Insere_antes_de_k ========================================= Neste exemplo, o valor digitado pelo usuario sera incluido antes do nodo que tem o maior valor (ou seja, a posicao K eh a posicao do nodo que armazena o maior valor da lista. */ insere_antes_de_k(&l1i, lk, num, &ok); if (ok == 0) // se deu erro de alocacao de memoria... printf("\nErro de alocacao de memoria..."); mostra_lista(l1i); getch(); printf("Informe um numero para ser inserido antes do 4 nodo:"); scanf("%d",&num); if (num != 0) { insere_antes_do_quarto(&l1i, num, &ok); if (ok == 0) // se deu erro de alocacao de memoria... printf("\nErro de alocacao de memoria..."); mostra_lista(l1i); } /* Neste exemplo, o valor digitado pelo usuario sera incluido apos o nodo que tem o maior valor (ou seja, a posicao K eh a posicao do nodo que armazena o maior valor da lista. */ printf("\nInforme outro valor: (insercao apos o maior elemento da lista(K)): "); scanf("%d",&num); if (num != 0) { lk=maior_valor(l1i); insere_apos_de_k(&l1i, &l1f, lk, num, &ok); if (ok == 0) // se deu erro de alocacao de memoria... printf("\nErro de alocacao de memoria..."); mostra_lista(l1i); } //Seria para excluir o maior elemento e mostrar a lista printf("Valor apos o maior elemento (k)excluido!!"); remove_apos_de_k (&l1i, &l1f, lk, &ok); if (ok==0) { printf("\nLista não pussui 2 elementos..."); mostra_lista(l1i); } //Para remover o nodo K printf("Maior elemento (k)excluido!!"); remove_o_k(&l1i, &l1f, lk, &ok); if (ok==0) { printf("\nLista esta vazia..."); mostra_lista(l1i); } libera_lista(&l1i); getch(); } }
  11. Eu fiz o que sabia alguem consegue acabar ? Um stand pretende gerir a informação sobre os automóveis disponíveis para venda. A informação a considerar em cada automóvel é matricula, marca, modelo, cor, ano, cilindrada, potencia, preço de compra, preço de venda. (Use um array de registos que permita o máximo de 20 viaturas). Desenvolva procedimentos/funções que permitam: a. Inserir as informações de um automóvel; b. Listar todos os automóveis de uma determinada marca (Mostrando todos os dados); c. Listar todos os automóveis com uma margem superior a 5%; d. Listar todos os automóveis com uma cilindrada compreendida entre dois valores a serem inseridos pelo utilizador; e. Listar todos os automóveis; f. Remover um automóvel da lista (selecionado a partir do código); g. Atualizar a informação de um automóvel (selecionado a partir da matricula); h. Os registos deverão estar sempre ordenados pela matrícula. i. Todas estas opções deverão estar acessíveis através de um menu que chame cada um dos procedimentos. #include <iostream> #include <string> #include <conio.h> using namespace std; int i, op, viatura, posicao; float procurar; typedef struct{ string matricula, marca, modelo, cor; int ano, cilindrada, potencia, preco_de_compra, preco_de_venda; }viaturas; viaturas stand[20]; void ler() //Pedir as informações sobre os veiculos { cout<<"Insira quantas viaturas são : "; cin>>viatura; for(i=0;i<viatura;i++) { cout<<"Insira a matricula do veiculo "<<i+1<<" : "; cin>>stand.matricula; cout<<"Insira a marca do veiculo "<<i+1<<" : "; cin>>stand.marca; cout<<"Insira o modelo do veiculo "<<i+1<<" : "; cin>>stand.modelo; cout<<"Insira a cor do veiculo "<<i+1<<" : "; cin>>stand.cor; cout<<"Insira o ano do veiculo "<<i+1<<" : "; cin>>stand.ano; cout<<"Insira a cilindrada do veiculo "<<i+1<<" : "; cin>>stand.cilindrada; cout<<"Insira a potencia do veiculo "<<i+1<<" : "; cin>>stand.potencia; cout<<"Insira o preço de compra do veiculo "<<i+1<<" : "; cin>>stand.preco_de_compra; cout<<"Insira o preço de venda do veiculo "<<i+1<<" : "; cin>>stand.preco_de_venda; } } void listar() //Listar todos os automoveis de uma determinada marca { cout<<"\n Insira a marca que deseja listar : "<<endl; cin.ignore(); getline(cin, procurar); for(i=0; i<viatura; i++) { if((stand.marca)==(procurar)) { cout<<"\n "; posicao = i; } } if(posicao = 1) { cout<<"A matricula é : "<<stand.matricula<<" \n"; cin.ignore(); cout<<"O modelo é : "<<stand.modelo<<" \n"; cout<<"A cor é : "<<stand.cor<<" \n"; cout<<"O ano é: "<<stand.ano<<" \n"; cout<<"A cilindrada é : "<<stand.cilindrada<<" \n"; cout<<"Apotencia é : "<<stand.potencia<<" \n"; cout<<"O preço de compra é : "<<stand.preco_de_compra<<" \n"; cout<<"O preço de venda é : "<<stand.preco_de_venda<<" \n"; }else{ cout<<"Marca nao encontrada. "; } } void lmargem() //Listar todos os automoveis com uma margem superior a 5% { } void lcilindrada() //Listar todos os automoveis com uma cilindrada compreendida entre dois valores { } void ltautomoveis() //Listar todos os automoveis { cout<<"Os automoveis são : "<<stand.marca<<endl; } void rautomovel() //Remover um automovel da lista { } void aiautomovel() //Atualizar a informação de um automovel { } void menu(){ system("color 3"); cout<<"\t\t\t\t\t\t\t\t\t\t1-Inserir as informaçães dos automoveis; \n"; cout<<"\t\t\t\t\t\t\t\t\t\t2-Listar todos os automoveis de uma determinada marca; \n"; cout<<"\t\t\t\t\t\t\t\t\t\t3-Listar todos os automoveis com uma margem superior a 5%; \n"; cout<<"\t\t\t\t\t\t\t\t\t\t4-Listar todos os automoveis com uma cilindrada compreendida entre dois valores; \n"; cout<<"\t\t\t\t\t\t\t\t\t\t5-Listar todos os automoveis; \n"; cout<<"\t\t\t\t\t\t\t\t\t\t6-Remover um automovel da lista; \n"; cout<<"\t\t\t\t\t\t\t\t\t\t7-Atualizar a informação de um automovel; \n"; cout<<"\t\t\t\t\t\t\t\t\t\t8-Sair\n\n"; cout<<"Insira a sua opção : "; cin>>op; switch(op) { //Escolhaer a opção case 1: { ler(); break; } case 2: { listar(); break; } case 3: { lmargem(); break; } case 4: { lcilindrada(); break; } case 5: { ltautomoveis(); break; } case 6: { rautomovel(); break; } case 7: { aiautomovel(); break; } case 8: { cout<<"Obrigado volte sempre."<<endl; break; } default: { cout<<"Opção invalida."<<endl; break; } } } main(){ setlocale(LC_ALL,"Portuguese"); do{ system("cls"); menu(); system("pause"); } while(op!=8); }
  12. Preenchemos uma matriz de inteiros por um contador com laço for, em seguida, num bloco de código específico para isto embaralhamos os elementos gerados. O programa soma os valores de cada linha e coluna, e imprime em uma linha e coluna no StringGrid. Para a impressão na janela, o C++ builder tem várias opções, mas preferi utilizar um StringGrid, já que o mesmo nos fornece amplas possibilidades de personalizações. Abra seu Embarcadero Rad Studio agora mesmo e Acese o menu File -> New, e clique com o mouse em: VCL Forms Application - C++ builder. Deixe o Embarcadero criar os arquivos necessários para o projeto. Agora que ele terminou seu processo, basta substituir seu arquivos pelos publicados abaixo, para fazer isto só precisa apagar os códigos gerados, e copiar estes no lugar seguindo a organização. //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #define tam 8 #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; String str_1 = " "; int a = 0, b = 0; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1 ( TComponent* Owner ) : TForm ( Owner ) { StringGrid1 -> DefaultDrawing = False; } //--------------------------------------------------------------------------- void __fastcall TForm1::OnPaint ( TObject *Sender ) { Canvas -> Pen -> Width = 10; Canvas -> Pen -> Color = clRed; Canvas -> Rectangle ( 05, 05, 595, 295 ); Canvas -> Font -> Size = 14; Canvas -> Font -> Name = "arial"; Canvas -> Font -> Color = clRed; Canvas -> Font-> Style = TFontStyles ( ) << fsBold << fsItalic << fsUnderline; Canvas -> TextOut ( 60, 12, "C++ BUILDER - GERANDO MATRIZ EMBARALHADA" ); StringGrid1 -> Cells [ 0 ] [ 1 ] = "Linha 0"; StringGrid1 -> Cells [ 0 ] [ 2 ] = "Linha 1"; StringGrid1 -> Cells [ 0 ] [ 3 ] = "Linha 2"; StringGrid1 -> Cells [ 0 ] [ 4 ] = "Linha 3"; StringGrid1 -> Cells [ 0 ] [ 5 ] = "Linha 4"; StringGrid1 -> Cells [ 0 ] [ 6 ] = "Linha 5"; StringGrid1 -> Cells [ 0 ] [ 7 ] = "Linha 6"; StringGrid1 -> Cells [ 0 ] [ 8 ] = "Soma"; StringGrid1 -> Cells [ 1 ] [ 0 ] = "Col 0"; StringGrid1 -> Cells [ 2 ] [ 0 ] = "Col 1"; StringGrid1 -> Cells [ 3 ] [ 0 ] = "Col 2"; StringGrid1 -> Cells [ 4 ] [ 0 ] = "Col 3"; StringGrid1 -> Cells [ 5 ] [ 0 ] = "Col 4"; StringGrid1 -> Cells [ 6 ] [ 0 ] = "Col 5"; StringGrid1 -> Cells [ 7 ] [ 0 ] = "Col 6"; StringGrid1 -> Cells [ 8 ] [ 0 ] = "Soma"; int vet [ tam ] [ tam ]; int i, j, temp, r, y; int soma = 0, tot = 0; for( i = 0; i < tam * tam; i++ ) { vet [ a ] [ b ] = i; b++; } srand ( time ( NULL ) ); for ( i = 1; i < tam; i++ ) { for ( j = 1; j < tam; j++ ) { r = rand ( ) % tam; y = rand ( ) % tam; temp = vet [ i ] [ j ]; vet [ i ] [ j ] = vet [ r ] [ y ]; vet [ r ] [ y ] = temp; } } i = 1; j = 1; for ( i = 1; i < tam; i++ ) { for ( j = 1; j < tam; j++ ) tot += vet [ i ] [ j ]; StringGrid1 -> Cells [ j ] [ i ] = tot; tot = 0; } for ( j = 1; j < tam; j++ ) { for ( i = 1; i < tam; i++ ) soma += vet [ i ] [ j ]; StringGrid1 -> Cells [ j ] [ i ] = soma; soma = 0; } for ( i = 1; i < tam; i++ ) { for ( j = 1; j < tam; j++ ) { StringGrid1 -> Cells [ j ] [ i ] = vet [ i ] [ j ]; } } } //--------------------------------------------------------------------------- void __fastcall TForm1::StringGrid1DrawCell ( TObject *Sender, int ACol, int ARow, TRect &Rect, TGridDrawState State ) { if( State.Contains ( gdFixed ) ) { StringGrid1 -> Canvas -> Font -> Size = 8; StringGrid1 -> Canvas -> Brush -> Color = static_cast < TColor > ( RGB ( 0,191,255 ) ); StringGrid1 -> Canvas -> Font -> Style = TFontStyles ( ) << fsBold; StringGrid1 -> Canvas -> Font -> Color = static_cast < TColor > ( RGB ( 0, 0, 0 ) ); StringGrid1 -> Canvas -> Rectangle ( Rect ); } else if ( State.Contains ( gdSelected ) ) { StringGrid1 -> Canvas -> Font -> Size = 10; StringGrid1 -> Canvas -> Brush -> Color = static_cast < TColor > ( RGB ( 0, 205, 155 ) ); StringGrid1 -> Canvas -> Font -> Style = TFontStyles ( ) >> fsBold; StringGrid1 -> Canvas -> FillRect ( Rect ); } else if( State.Contains ( gdSelected ) == 0 ) { Beep ( 1000, 250 ); StringGrid1 -> Canvas -> Font -> Size = 10; StringGrid1 -> Canvas -> Brush -> Color = static_cast < TColor > ( RGB ( 0,255,255 ) ); StringGrid1 -> Canvas -> Font -> Style = TFontStyles ( ) << fsBold; StringGrid1 -> Canvas -> Font -> Color = static_cast < TColor > ( RGB ( 0, 0, 0 ) ); StringGrid1 -> Canvas -> Rectangle ( Rect ); } if( ACol == 8 && ARow == 8 || ACol == 0 && ARow == 0 || ACol == 0 && ARow == 8 || ACol == 8 && ARow == 0 ) { StringGrid1 -> Canvas -> Brush -> Color = static_cast < TColor > ( RGB ( 0, 255, 0 ) ); } UnicodeString text = StringGrid1 -> Cells [ ACol ] [ ARow ]; StringGrid1 -> Canvas -> TextRect ( Rect, Rect.Left, Rect.Top, text ); } //-------------------------------------------------------------------------- //--------------------------------------------------------------------------- #ifndef Unit1H #define Unit1H //--------------------------------------------------------------------------- #include <System.Classes.hpp> #include <Vcl.Controls.hpp> #include <Vcl.StdCtrls.hpp> #include <Vcl.Forms.hpp> #include <Vcl.Grids.hpp> //--------------------------------------------------------------------------- class TForm1 : public TForm { __published: // IDE-managed Components TStringGrid *StringGrid1; void __fastcall OnPaint ( TObject *Sender ); //void __fastcall FormCreate(TObject *Sender); //void __fastcall FormDestroy ( TObject *Sender ); void __fastcall StringGrid1DrawCell(TObject *Sender, int ACol, int ARow, TRect &Rect, TGridDrawState State); private: // User declarations public: // User declarations __fastcall TForm1(TComponent* Owner); }; //--------------------------------------------------------------------------- extern PACKAGE TForm1 *Form1; //--------------------------------------------------------------------------- #endi object Form1: TForm1 Left = 356 Top = 177 Caption = 'C++ BUILDER - GERANDO MATRIZ EMBARALHADA' ClientHeight = 300 ClientWidth = 600 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style = [] OldCreateOrder = False Position = poDesigned OnPaint = OnPaint PixelsPerInch = 96 TextHeight = 13 object StringGrid1: TStringGrid Left = 120 Top = 40 Width = 372 Height = 234 ColCount = 9 DefaultColWidth = 40 FixedColor = clHotLight RowCount = 9 Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -17 Font.Name = 'Tahoma' Font.Style = [] ParentFont = False TabOrder = 0 OnDrawCell = StringGrid1DrawCell RowHeights = ( 24 24 24 30 24 24 24 24 24) end en
  13. #include <iostream> using namespace std; int main() { int a,b,c; cout <<"Digite o valor de a:"<< endl; cin >> a; c = a - b; cout << "o valor de c eh:" << c << endl; return 0; }
  14. Olá não sei se está é a área correto para isso, mas queria uma solução para a integração do sistema LUA em C++, no meu Visual Studio, se alguém poder me dar a luz, agradeço.
  15. Estou criando um jogo da vida no qual * apresenta as celulas vivas e ' ' as celulas mortas.Nesse jogo o usuário i´ra digitar em uma matriz 5x5 a matriz q sera copiado em uma outra matriz 22x80.Ainda não fiz a parte do jogo que faz a verificação das matrizes vivas e mortas.Ao compilar no final,ao imprimir a matriz 22x80 gerada através da matriz 5x5 o jogo trava,mas não consegui encontrar o erro. #include <iostream> #include <conio.h> #include <stdlib.h> #include <windows.h> using namespace std; void replicar (char dados[5][5]) { int k,l,i,j,cont=0; char aux; for( i=0;i<5;i++) { for( j=0;j<5;j++) { dados[i][j]='0'; } } for(i=0;i<5;i++) { for(j=0;j<5;j++) { system("cls||clear"); cout<<" JOGO DA VIDA "<<endl; cout<<"REGRAS:\n\n * Celula com menos de 2 vizinhos__Morre\n * Celula com 2 ou 3 vizinhos______Vive\n * Celula com + de 3 vizinhos______Morre\n * Celula com 3 vizinhos___________Nasce "<<endl; cout<<"Legenda:\n\n VIVO__* \n MORTO__Espaco \n "<<endl; if(cont==0) { cout<<"\tMatriz inicial:\n\n"; for(k=0;k<5;k++) { for(l=0;l<5;l++) { cout<<"\t"<<" "<<dados[k][l]<<" "; } cout<<endl; } } else{ cout<<endl; for(k=0;k<5;k++) { for(l=0;l<5;l++) { cout<<"\t"<<" "<<dados[k][l]<<" "; } cout<<endl; } } cout<<"\nDigite o valor da linha "<<i+1<<" coluna "<<j+1<<endl; aux=getch(); system("cls||clear"); while(aux!=' ' && aux!='*') { cout<<"ERRO,VALOR DIGITADO E' DIFERENTE DE ESPACO E * "<<endl; cout<<"\nDigite novamente o valor da linha "<<i+1<<" coluna "<<j+1<<endl; aux=getch(); system("cls||clear"); } cont ++; dados[i][j]=aux; } } system("cls||clear"); } void imprime_replica(char r[5][5]) { system("clear||cls"); cout<<"\n A Matrisz digitada foi: "<<endl; for(int k=0;k<5;k++) { for(int l=0;l<5;l++) { cout<<r[k][l]<<" "; } cout<<endl; } } void copia(char re[5][5],char m[22][80]) { int i,j,k,l; char auxiliar; for(i=0;i<22;i++) { for(j=0;j<80;j++) { for(k=0;k<5;k++) { for(l=0;l<5;l++) { auxiliar=re[k][l]; m[i+k][j+l]=auxiliar; } } j=j+4; } i=i+4; } } void imprime_mundo(char mundo[22][80]) { int i,j; system("clear||cls"); cout<<"A matriz gerada foi:"<<endl; for(i=0;i<22;i++) { for(j=0;j<80;j++) { cout<<mundo[i][j]; } cout<<endl; } } int main() { char mundo[22][80];//Salva a matriz que será lida char replica[5][5];//matriz na qual o usuario digitara a sequencia que será replicada na matriz mundo int ciclos;//variável que irá verificar o numero de ciclos que serão gerados int i,j; char continua; for(i=0;i<22;i++) { for(j=0;j<80;j++) { mundo[i][j]='0'; } } replicar(replica); imprime_replica(replica); cout<<"\n Deseja digitar uma nova matriz?(s ou n)"<<endl; cin>>continua; while(continua=='s'||continua=='S') { replicar(replica); imprime_replica(replica); cout<<"\n Deseja digitar uma nova matriz?(s ou n)"<<endl; cin>>continua; } if(continua=='n'||continua=='N') { copia(replica,mundo); imprime_mundo(mundo); } }
  16. por favor me ajudem, como criar este programa!! Implemente um programa que possua uma struct denominada viagem, com os campos: distancia (float) e consumo(float). Crie uma função denominada kmlitro que receba uma variável do tipo viagem e retorne quantos quilômetros foram rodados por cada litro de combustível consumido, ou seja, retorna o resultado da divisão de distancia por consumo. Crie um vetor do tipo viagem (100 posições). Faça o usuário preencher todos os dados de todas as posições do vetor. Ao final, exiba tais dados na tela, inclusive o retorno da função para cada uma das posições do vetor. Exemplo, o resultado pode ser: Distancia: 96 Consumo: 9,6 Média de consumo: 10 Distancia: 10 Consumo: 2 Média de consumo: 5
  17. Boa tarde,estou querendo dividir um vetor de 100 posições para duas threads; gostaria de saber como faço para pegar inicio que seria 0 e o fim que seria 49,depois o inicio da thread 2 que seria 50 e o fim que seria 99.
  18. #include<iostream> #include<stdlib.h> #include<stdio.h> using std namespace; int main(){ int a,b,c; float d,e,f; float equacao1,equacao2,equacao3; printf("Insira o valor faltante como X. \n\n"); printf("Insira a pressão da 1ª referência. \n"); printf("Insira o volume específico da 1ª referência. \n"); scanf("%d", &a),("%f", &d); printf("Insira a pressão da 2ª referência. \n"); printf("Insita o volume específico da 2ª referência. \n"); scanf("%d", &b),("%f", &e); printf("Insira a pressão da variável desejada. \n"); printf("Insira o volume da variável desejada. \n"); scanf("%d" , &c),("%f", &f); equacao1 = (a-c)/(b-c); equacao2 = (d-f)/(e-f); equacao3 = (equacao1-equacao2); printf("O seu valor de X é:", +equacao3); system("pause"); } return 0; Meu objetivo era usar uma variavel que pudesse pegar o "x", não sei se existe tanto para letras como números. Se não , será que tem como eu fazer algo para eu calcular esse X. Tipo int 0 = x; Obrigado.
  19. preciso de um programa em c++ para controle de projetos. Deve haver uma classe projeto com os atributos privados: mês, finalizados, Emandamento,total, percentual Encerrados e avaliações. Crie um vetor de projetos e preencha da seguinte forma. preencha os valores de todos os meses e calcule a media acima de 60 bom abaixo ruim.
  20. Consegui arrumar quase tudo. Falta só uma coisa: Só está verificando a primeira linha da tabela: while ((row = mysql_fetch_row(result))) { if (!strcmp(row[1], pUser[conn].AccountName) && !strcmp(row[2], pMob[conn].MOB.MobName) && !strcmp(row[5], Class) && !strcmp(row[6], ClassMaster)) { Nesse if ai, preciso olhar todas as linhas procurando essas informações, mas não to conseguindo. Se a primeira linha da tabela for igual os dados, o resto tudo funciona. Código completo: #define servidor "localhost" #define usuario "rogeriosavaris" #define senha "123456" #define bd "wyd" int conecta_ao_db(); MYSQL conexao; MYSQL_RES *result; MYSQL_ROW row; int i, num_fields; mysql_init(&conexao); int res; char query[1024]; if (mysql_real_connect(&conexao, servidor, usuario, senha, bd, 0, NULL, 0)) { if (mysql_query(&conexao, "SELECT * FROM personagem") != 0) { printf("\nFalha de cconsulta"); } result = mysql_store_result(&conexao); if (result == NULL) { printf("\nFalha no result"); } num_fields = mysql_num_fields(result); #pragma region DECLARAÇÕES char guildname[256]; char Class[NAME_LENGTH]; char ClassMaster[NAME_LENGTH]; char Level[NAME_LENGTH]; char PvP[NAME_LENGTH]; char Reino[NAME_LENGTH]; char Fama[NAME_LENGTH]; char Face[NAME_LENGTH]; int zReino; #pragma endregion #pragma region guildname if (pMob[conn].MOB.Guild != 0) { BASE_GetGuildName(ServerGroup, pMob[conn].MOB.Guild, guildname); } if (pMob[conn].MOB.Guild == 0) { memset(guildname, 0, GUILDNAME_LENGTH); strncpy(guildname, "0", GUILDNAME_LENGTH); } #pragma endregion #pragma region Class if (pMob[conn].MOB.Class == 0) { memset(Class, 0, NAME_LENGTH); strncpy(Class, "TK", NAME_LENGTH); } if (pMob[conn].MOB.Class == 1) { memset(Class, 0, NAME_LENGTH); strncpy(Class, "FM", NAME_LENGTH); } if (pMob[conn].MOB.Class == 2) { memset(Class, 0, NAME_LENGTH); strncpy(Class, "BM", NAME_LENGTH); } if (pMob[conn].MOB.Class == 3) { memset(Class, 0, NAME_LENGTH); strncpy(Class, "HT", NAME_LENGTH); } #pragma endregion #pragma region ClassMaster // mortal = mortal // arch = arch // celestial = celestial // scelestial = sub - celestial // hardcore = hardcore if (pMob[conn].extra.ClassMaster == MORTAL) { memset(ClassMaster, 0, NAME_LENGTH); strncpy(ClassMaster, "Mortal", NAME_LENGTH); } if (pMob[conn].extra.ClassMaster == ARCH) { memset(ClassMaster, 0, NAME_LENGTH); strncpy(ClassMaster, "Arch", NAME_LENGTH); } if (pMob[conn].extra.ClassMaster == CELESTIAL) { memset(ClassMaster, 0, NAME_LENGTH); strncpy(ClassMaster, "Celestial", NAME_LENGTH); } if (pMob[conn].extra.ClassMaster == CELESTIALCS) { memset(ClassMaster, 0, NAME_LENGTH); strncpy(ClassMaster, "Celestial", NAME_LENGTH); } if (pMob[conn].extra.ClassMaster == SCELESTIAL) { memset(ClassMaster, 0, NAME_LENGTH); strncpy(ClassMaster, "Sub_Celestial", NAME_LENGTH); } if (pMob[conn].extra.ClassMaster == HARDCORE) { memset(ClassMaster, 0, NAME_LENGTH); strncpy(ClassMaster, "HardCore", NAME_LENGTH); } #pragma endregion #pragma region Reino if (pMob[conn].MOB.Equip[15].sIndex == 545 || pMob[conn].MOB.Equip[15].sIndex == 736 || pMob[conn].MOB.Equip[15].sIndex == 3191 || pMob[conn].MOB.Equip[15].sIndex == 3194 || pMob[conn].MOB.Equip[15].sIndex == 3197) { zReino = 1; sprintf(Reino, "%d", zReino); } if (pMob[conn].MOB.Equip[15].sIndex == 546 || pMob[conn].MOB.Equip[15].sIndex == 737 || pMob[conn].MOB.Equip[15].sIndex == 3192 || pMob[conn].MOB.Equip[15].sIndex == 3195 || pMob[conn].MOB.Equip[15].sIndex == 3198) { zReino = 2; sprintf(Reino, "%d", zReino); } else zReino = 0; sprintf(Reino, "%d", zReino); #pragma endregion #pragma region Level sprintf(Level, "%d", pMob[conn].MOB.CurrentScore.Level + 1); #pragma endregion #pragma region Fama sprintf(Fama, "%d", pMob[conn].extra.Fame); #pragma endregion #pragma region Face sprintf(Face, "%d", pMob[conn].extra.MortalFace); #pragma endregion #pragma region Pvp sprintf(PvP, "%d", GetTotKill(conn) + 1); #pragma endregion while ((row = mysql_fetch_row(result))) { if (!strcmp(row[1], pUser[conn].AccountName) && !strcmp(row[2], pMob[conn].MOB.MobName) && !strcmp(row[5], Class) && !strcmp(row[6], ClassMaster)) { printf("Level atual: %d\n", pMob[conn].MOB.CurrentScore.Level); printf("TEM: %s \n", row[2] ? row[2] : "NULL"); sprintf(query, "UPDATE personagem SET Level = '%s', Face='%s', Class='%s', Class_Master='%s', PvP = '%s', Guild = '%s', Reino = '%s', Fama='%s' WHERE Login='%s' AND Class_Master='%s'", Level, Face, Class, ClassMaster, PvP, guildname, Reino, Fama, pUser[conn].AccountName, ClassMaster); res = mysql_query(&conexao, query); if (!res) { printf("Registros inseridos: %d\n", mysql_affected_rows(&conexao)); } else { printf("Erro na insercao %d : %s\n", mysql_errno(&conexao), mysql_error(&conexao)); mysql_close(&conexao); } mysql_free_result(result); mysql_close(&conexao); return; } else { printf("Level atual: %d\n", pMob[conn].MOB.CurrentScore.Level); printf("NÃO TEM: %s %s %s %s\n", row[0], row[1], row[2], row[3]); sprintf(query, "INSERT INTO personagem(Login, Nome, Level, Face, Class, Class_Master, PvP, Guild, Reino, Fama) values('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s');", pUser[conn].AccountName, pMob[conn].MOB.MobName, Level, Face, Class, ClassMaster, PvP, guildname, Reino, Fama); res = mysql_query(&conexao, query); if (!res) { printf("Registros inseridos: %d\n", mysql_affected_rows(&conexao)); } else { printf("Erro na insercao %d : %s\n", mysql_errno(&conexao), mysql_error(&conexao)); mysql_close(&conexao); } mysql_free_result(result); mysql_close(&conexao); return; } } mysql_free_result(result); mysql_close(&conexao); }
  21. Olá amigos! Bom dia a todos! Eu preciso fazer um programa no qual estou com bastante dificuldade para fazê-lo. É o seguinte: Preciso elaborar um algoritmo em C++ par fazer a calibração da temperatura do equipamento conforme a espessura da chapa (aço carbono) que será cortada. O algoritmo precisa solicitar a temperatura desejada pelo operador da máquina e aplicar essa configuração pro equipamento. A temperatura dependerá da espessura da chapa de aço carbono que vai ser cortada. Eu necessito utilizar estruturas IF e CASE pra fazer esse programa. Também necessito colocar configuração da temperatura em looping para que o operador não tenha a necessidade de reiniciar o programa a cada nova temperatura fornecida.  Alguém pode me ajudar? Desde já, agradeço-lhes! 
  22. To tentando programar essa formula para juros acumulado: i acumulada = [(1+i1 /100) x (1+i2 /100) x ... x (1+ in /100) 1] x100 int main(){ int parcelas; cout <<"Digite o numero de parcelas"; cin >> parcelas; int n = 0; while (parcelas>n){ cout <<"Digite o juros do mes"; // aqui eu queria que fosse criada uma variável i em cada repetição, por exemplo i2, i3, i4. um array resolveria? como? n++; } return 0; } Esse loop só serve pra puxar o valor dos juros pra depois jogar na fórmula. To tentando com o while, mas se vcs acharem melhor com o for, to aberto a sugestões. Grato desde já.
  23. Por favor, me digam alguns livros bons sobre a linguagem c e c++.
  24. Please!!! Someone helpe me!!! Eu estou tentando pegar duas listas de int e comparar um a um , mas esta dando algo errado. Segue a lógica: Se pelo uma das listas tiver um unico elemento , compare esse com o ultimo elemento da outra lista (se for igual retorna 1) senao compara com o primeiro dessa outra lista. Caso as lista tenham ambas mais de um elemento vamos comparar desde do inicio de ambas se nao as listas nao for iguais , compararemos desde o inicio da primeira até o fim desta e desde o fim da segunda até o inicio desta. O erro eh q eh para apresentar yes quando sao iguais e no quando nao .Em alguns casos esta acontecendo erro... #include <iostream> #include <list> using namespace std; int iteration(list<int> lista,list<int> lista2); int main(){ list<int>lista,lista2; int n,i,v; cin>>n; while(n){ for(i=1;i<=n;i++)lista2.push_back(i); while(cin>>v&&v){ lista.push_front(v); for(i=1;i<n;i++){ cin>>v; lista.push_front(v); } if(iteration(lista,lista2))cout<<"Yes"<<endl; else cout<<"No"<<endl; lista.clear(); } lista2.clear(); cin>>n; } //lista.push_back(i); //lista.push_front(i); //cout << lista.front() << endl; //cout << lista.back() << endl; //cout << lista.size() << endl; // lista.insert(it,2,11); cout << endl; //lista.erase(it);// printa o 3 que agora é o novo ultimo elemento da listacout << lista.back() << endl; //cout << lista.size() << endl; return 0; } int iteration(list<int> lista,list<int> lista2) { list<int>::iterator it; list<int>::iterator iat; int b=0; if(lista.begin()==--lista.end()||lista2.begin()==--lista2.end()) { cout<<*it<<*iat<<endl; if(lista.begin()==--lista2.end()) return 1; else return --lista.end()==lista2.begin(); } it = lista.begin();iat=lista2.begin(); while(it!=lista.end()&&iat!=lista2.end()) { if(*it!=*iat){ b=0; break; } else b=1; it++,iat++; } if(b)return 1; else{ iat =--lista2.end(); while(it!=lista.end()&&iat!=--lista2.begin()) { if(*it!=*iat){ b=0; break; } else b=1; it++,iat--; } } return b; }
  25. Preciso criar um programa no qual terá que reproduzir o jogo da vida do matemático John Horton Conway .(https://pt.wikipedia.org/wiki/Jogo_da_vida).Porém não entendi bem a dinâmica do jogo,para reproduzi-lo tenho q solicitar que se digite o conteúdo da matriz ou deve ser gerado automaticamente?.E como ele apareceria na tela? A minha dúvida é sobre o funcionamento do jogo,pois sem entende-lo não conseguirei iniciar o meu código.

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

×
×
  • Criar novo...

GRÁTIS: minicurso “Como ganhar dinheiro montando computadores”

Gabriel TorresGabriel Torres, fundador e editor executivo do Clube do Hardware, acaba de lançar um minicurso totalmente gratuito: "Como ganhar dinheiro montando computadores".

Você aprenderá sobre o quanto pode ganhar, como cobrar, como lidar com a concorrência, como se tornar um profissional altamente qualificado e muito mais!

Inscreva-se agora!