Ir para conteúdo

Pesquisar na Comunidade

Mostrando resultados para as tags ''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 148 registros

  1. Gerius

    Como é feito um bot?

    Olá a todos, durante a faculdade tive uma noção de linguagem c, especificamente para fazer cálculos e nunca passo disso. Tenho o interesse de expandir o conhecimento de programação, como primeiro projeto tenho em mente desenvolver um bot, mas não sei qual caminho seguir. Para poder identificar os objetos do jogo(2d) e efetuar um comando da hotkey, mas para identificar o objeto no jogo como é possivel? Pesquisei sobre o assunto e so encontro sobre visão computacional por meio da detecção de objetos de uma imagem, existe outra opção ou é realmente este o caminho a seguir?
  2. macielcr7

    c++ exportar frames de array de bytes

    Estou usando o sdk dahua para conectar-me a um DVR. Até então. Estou tendo problemas para obter os bytes retornados de uma câmera. e exportar em formato de imagem. Sou iniciante e não tenho ideia. como. // real-time monitoring method g_lRealHandle = CLIENT_RealPlayEx(g_lLoginHandle, command_options.dvr_channel, NULL, emRealPlayType); //set-callback CLIENT_SetRealDataCallBackEx(g_lRealHandle, &RealDataCallBackEx, NULL, dwFlag) //bytes de retorno da camera void CALLBACK RealDataCallBackEx(LLONG lRealHandle, DWORD dwDataType, BYTE *pBuffer, DWORD dwBufSize, LONG param, LDWORD dwUser) { // if more than one real-time monitoring use same data callback, we can judge by parameter lRealHandle. //NESTA PARTE QUE QUERIA PEGAR OS FRAMES DOS BYTES E SALVAR A IMAGEM fwrite (pBuffer, 1, dwBufSize, file); fflush(file); //original A/V hybrid data //printf("receive real data, param: lRealHandle[%ld], dwDataType[%u], pBuffer[%p], dwBufSize[%u], param[%d], dwUser[%ld] - [%d]\n", lRealHandle, dwDataType, pBuffer, dwBufSize, param, dwUser, bInput); }
  3. BrunoJ

    Duvida sobre o desenvolvimento de um algoritmo.

    Bom dia/tarde/noite. Preciso de completa ajuda em um exercício de c++. Agradeço. Escreva um programa que leia (aleatoriamente 0-100) um vetor A de 10 elementos e escreva todos que estejam entre 15 a 45 deste vetor.
  4. Jaison Mendes

    Segui o exercício corretamente?

    Enunciado do exercício: 1 - Crie uma classe para representar uma pessoa, com os atributos privados de nome, data de nascimento e altura. Crie os métodos públicos necessários para sets e gets e também um método para imprimir todos dados de uma pessoa. Crie um método para calcular a idade da pessoa. O exercício era em java mais eu fiz em C++ pois é a linguagem que estou aprendendo. Segue o código: Pessoa.h #ifndef PESSOA_H_INCLUDED #define PESSOA_H_INCLUDED #include <string> class Pessoa{ private: std::string nome; short dia, mes, ano; float altura; public: void setNome(std::string nome_); std::string getNome(); void setNascimento(short dia_, short mes_, short ano_); std::string getNascimento(); void setAltura(float altura_); float getAltura(); public: short calcularIdade(); public: void exibirDados(); }; #endif // PESSOA_H_INCLUDED Pessoa.cpp #include "Pessoa.h" #include <ctime> #include <string> #include <sstream> #include <iostream> //Getters and Setters void Pessoa::setNome(std::string nome_){ nome=nome_; } std::string Pessoa::getNome(){ return nome; } void Pessoa::setNascimento(short dia_, short mes_, short ano_){ dia=dia_; mes=mes_; ano=ano_; } std::string Pessoa::getNascimento(){ std::ostringstream nascimento; nascimento << dia << "-" << mes << "-" << ano; return nascimento.str(); } void Pessoa::setAltura(float altura_){ altura=altura_; } float Pessoa::getAltura(){ return altura; } //Other methods short Pessoa::calcularIdade(){ struct tm *birth; time_t now; double seconds; double minutes; double hours; int days; int years; time(&now); birth=localtime(&now); birth->tm_year=ano-1900; birth->tm_mon=mes-1; birth->tm_mday=dia; seconds=difftime(now, mktime(birth)); minutes=seconds/60; hours=minutes/60; days=hours/24; years=days/365; return years; } void Pessoa::exibirDados(){ std::cout << "Nome........: " << getNome() << std::endl; std::cout << "Idade.......: " << calcularIdade() << std::endl; std::cout << "Nascimento..: " << getNascimento() << std::endl; std::cout << "Altura......: " << getAltura() << std::endl; } main.cpp #include "Pessoa.h" #include <iostream> int main(void){ Pessoa *P01=new Pessoa; P01->setNome("Boladão do Amor"); P01->setNascimento(20,4,1974); P01->setAltura(1.80); P01->exibirDados(); delete P01; return 0; }
  5. Brucegomes

    Duvida sobre case em C

    Ola! Pessoal boa noite! Gostaria de tirar uma duvida com quem entende bastante de C É possível criar uma variável exclusiva para armazenamento de dados de um case ? exemplo case 1: | Bom queria que quando o usuario escolhesse o case (comandos e muitos printf); |todas as informações do case escolhido fosse armazenada break; |nessa variavel especifica. É possível? case 2: (comandos e muitos printf); break; case 3:
  6. Danilo194

    Preciso de Ajuda - Shift-and

    Pessoal me ajudem não encontrei muita coisa sobre isso.. o exercício é o seguinte, tenho que desenvolver um programa em linguagem C, Java ou C# para a busca em texto utilizando o método SHIFT-AND. DESCRIÇÃO: O programa deverá ler um ARQUIVO TEXTO contendo o texto objeto de pesquisa com todas as letras escritas em minúsculas (texto que será pesquisado), deverá ler do teclado o texto à pesquisar (Padrão) e realizar a busca do Padrão no Texto utilizando o método SHIFT-AND. SAÍDA: O programa deverá pesquisar pelo PADRÃO no TEXTO, utilizando o método SHIFT-AND e converter em MAIÚSCULAS todas as ocorrências do PADRÃO no TEXTO, ou exibir na tela uma mensagem informando que o PADRÃO não foi encontrado no TEXTO, se este for o caso. Alguém pode me ajudar ?
  7. Jeovane Carvalho

    Comparar variáveis dentro de uma lista encadeada com while

    Saudações Senhores (as), estou aqui para tentar uma solução, eu desenvolvi uma projeto de menu em C para um trabalho da faculdade, porém estou com um problema dentro dele: eu preciso comparar 2 variáveis tipo: se o usuário cadastrar uma aluno com uma determinada ela irá ficar armazenada numa lista encadeada, e se ele digitar outra matrícula mas usando o mesmo valor , o programa impede de ele cadastrar, até aí eu conseguir fazer , mas quando o usuário cadastrar outro aluno com outro número de matrícula , na hora de tentar cadastrar a terceira matrícula e suando a mesma segunda matrícula ele deixa fazer o cadastro , pois o certo era impedir e apresentar , MATRÍCULA JÁ FOI CADASTRADA..Exemplo.. Cadastrando matricula nº 1 ok , ele não deixa se você tentar usar novamente , mas ao cadastrar a matrícula nº 2 , se tentar usar ele na terceira gravação o programa deixa , e vi que precisava percorrer , pois no while dando printf ele mostra as matrículas 1 e 2 , e vi quando tento fazer a comparação usando o o while ele compara pelo primeiro da lista e não percorrer para o segundo, segue o código... #include<stdio.h> #include<stdlib.h> #include<locale.h> #include<string.h> #define MAX 3 typedef struct lista{ int matricula; int cod; int NovaMatricula; char aluno[50]; char disciplina1[50]; char disciplina2[50]; char disciplina3[50]; float nota1; float nota2; float nota3; float nota4; float nota5; float nota6; float nota7; float nota8; float nota9; int vazio; struct lista *prox; lista *anterior; lista *inicio; lista *novo; lista *atual; lista *ultimo; lista *aux; }Tlista; Tlista registros[MAX]; void flush_in(){ int ch; while( (ch = fgetc(stdin)) != EOF && ch != '\n' ){} } int verifica_pos( Tlista *dados ) { int cont = 0; Tlista *aux = dados->inicio; while ( aux !=NULL) { cont++; aux = aux->prox; } return(cont); } void inicializa(Tlista *dados){ dados-> inicio = NULL; dados-> ultimo = NULL; dados-> atual = NULL; dados-> aux = NULL; } // AQUI É O CÓDIGO QUE COMPARA A MATRÍCULA// //aqui seria a função que teria que comparar todas as matrículas ou códigos se são iguais...// //FUNÇÃO VERIFICA CÓDIGO int verifica_cod( Tlista *dados, lista *novo){ lista *aux=NULL; printf("\na matricula nova nova %d\n\n", novo->matricula); aux=dados->inicio; if(aux==NULL){ printf("entrou no primero IF %d",novo->matricula); return (1); } dados->atual=dados->inicio; if(novo->matricula==aux->matricula){ while(aux!=NULL){ printf("%d",aux->matricula); aux=aux->prox; } return(0); } printf("\n\n Matricula no FOR: %d\n",dados->atual->matricula); printf("entrou no segundo IF %d", novo->matricula); return (1); }//Final da Função Verifica Código void cadastrar(Tlista *dados, lista *novo){ lista* aux=NULL; if (!novo){ printf("\nNao existe espaco na memoria!"); exit(1); } printf("\n\t\t Digite Nome do Aluno: "); scanf("%s",&novo->aluno); printf("\n\t\t Digite a 1º Disciplina : "); scanf("%s",&novo->disciplina1); flush_in(); printf("\n\t\t Nota do 1º Bimestre: "); scanf("%f",&novo->nota1); fflush(stdin); printf("\n\t\t Nota do 2º Bimestre: "); scanf("%f",&novo->nota2); fflush(stdin); printf("\n\t\t Nota do 3º Bimestre: "); scanf("%f",&novo->nota3); printf("\n\t\t Digite a 2º Disciplina : "); scanf("%s",&novo->disciplina2); fflush(stdin); printf("\n\t\t Nota do 1º Bimestre: "); scanf("%f",&novo->nota4); fflush(stdin); printf("\n\t\t Nota do 2º Bimestre: "); scanf("%f",&novo->nota5); fflush(stdin); printf("\n\t\t Nota do 3º Bimestre: "); scanf("%f",&novo->nota6); printf("\n\t\t Digite a 3º Disciplina : ",setlocale(LC_ALL,"")); scanf("%s",&novo->disciplina3); fflush(stdin); printf("\n\t\t Nota do 1º Bimestre: ",setlocale(LC_ALL,"")); scanf("%f",&novo->nota7); fflush(stdin); printf("\n\t\t Nota do 2º Bimestre: ",setlocale(LC_ALL,"")); scanf("%f",&novo->nota8); fflush(stdin); printf("\n\t\t Nota do 3º Bimestre: ",setlocale(LC_ALL,"")); scanf("%f",&novo->nota9); printf("NOVA %d\n\n", &aux->matricula); printf("\nA matricula e : %d\n\n",novo->matricula); novo->prox=NULL; if(dados->inicio==NULL){ dados->inicio=novo; dados->ultimo=novo; }else{ dados->ultimo->prox=novo; dados->ultimo=novo; } printf("\nMatricula Cadastrada com sucesso !\n\n"); system("pause"); } void listar(Tlista *dados){ Tlista*aux; aux=dados->inicio; if(aux==NULL){ printf("\n Lista Vazia ! \n\n"); }else{ dados->atual=dados->inicio; while(aux!=NULL){ printf("\n\nMatricula %d\n\n", aux->matricula); aux=aux->prox; } } system("pause"); } void consultar(Tlista *dados){ int matbusca,encontrou=0; printf("\n\nDigite a matricula para busca: "); scanf("%d",&matbusca); if (dados->inicio==NULL){ printf("\nLista vazia! Busca nao pode ser processada!\n"); }else{ for (dados->atual=dados->inicio; dados->atual!=NULL;dados->atual=dados->atual->prox){ if (matbusca==dados->atual->matricula){ printf("\n\nMatricula: %d\n",dados->atual->matricula); encontrou=1; break; } if (dados->atual->prox==NULL && encontrou==0) printf("\n\nRegistro nao encontrado!\n\n"); } } system("pause"); } void excluir(Tlista *dados){ lista *anterior ,*atual; int numMatricula,encontrou=0; if(dados->inicio==NULL){ printf("Não existe dados para excluir !\n\n"); system("pause"); }else{ int numMatricula; printf("\nDigite um numero de matricula : ",setlocale(LC_ALL,"")); scanf("%d", &numMatricula); anterior=dados->inicio; atual=dados->inicio; while(atual!=NULL) { if(atual->matricula==numMatricula){ if(atual==dados->inicio){ dados->inicio=dados->inicio->prox; free(atual); break; }else{ if(atual==dados->ultimo){ dados->ultimo=anterior; } //refazendo o encadeamento// anterior->prox=atual->prox; free(atual); break; } }else{ anterior=atual; atual=atual->prox; } } printf("\nMatricula excluida com sucesso !\n\n"); system("pause"); } } int main(){ Tlista inicio,*aux, L; int op=0,posicao,retorno,matricula,NovaMatricula; inicializa(&L); while(op!=6){ system("cls"); printf("--- Digite 1 para cadastrar : "); printf("\n\n--- Digite 2 para listar : "); printf("\n\n--- Digite 3 para consultar : "); printf("\n\n--- Digite 4 para excluir : "); scanf("%d", &op); switch(op) { case 1: posicao=verifica_pos(&L); printf("%d", posicao); if(posicao!=MAX){ lista *novo=NULL; novo=(lista*)malloc(sizeof(lista)); printf("\n\t\t Digite o número da matrícula para o aluno : ",setlocale(LC_ALL,"")); scanf("%d",&novo->matricula); fflush(stdin); retorno = verifica_cod(&L,novo); if ( retorno == 1 ){ cadastrar(&L,novo); }else{ printf("\n\t\tEste número de Matrícula já existe. Tente Outro !\n\n"); printf("\t\t ");system("pause\n\n"); } }else{ printf("\n Voce nao pode realizar mais cadastros !\n\n"); system("pause"); } break; case 2: listar(&L); getchar(); break; case 3: consultar(&L); break; case 4: excluir(&L); break; case '5':printf("\nFIM DE EXECUCAO!"); getchar(); exit(1); default:break; } } } Deixei comentado no código para melhor entendimento... Obrigado !
  8. Olá, Meu professor passou este código em portugol e preciso passar ele para C++, alguém pode me ajudar ? Declare v[100], v2[100],soma[100],multipliacao[100],i,j numerico Para i de 1 ate 100 passo 1 Faca soma <- v1+ v2 Para j de 1 ate 100 passo 1 Faca multiplicacao[j] <- v1[j]+v2[j]
  9. Jeovane Carvalho

    Fazer um for ou while em uma lista encadeada de C++

    Alguém poderia me dar um help, de como fazer um laço de repetição dentro de uma lista encadeada em C /C++, pois consigo normalmente sem lista de encadeamento, mas estou com dificuldades em fazer nessa situação, segue o código. int verifica_pos( void ) { int cont = 0; while ( cont <=2) { if ( registros[cont].vazio == 0 ) return(cont); cont++; } return(-1); }//Final da verifica Posição Por exemplo, neste trecho de código acima, eu chamo uma função que chama esse código e teria que fazer uma varredura em um vetor para ver quantos dados existem na lista encadeada.
  10. Kerlyane Amaral

    Programa para lojista

    Olá, sou nova na comunidade gostaria muito da ajuda de voces para criar isso que está pedindo em um curso de C++ está pedindo e uma atividade que deve ser em C++ mesmo e o seguinte: Por Favor me ajudem nisso ! O programa deve atender as necessidades de um lojista que precisa calcular as parcelas das compras efetuadas.Os dados de entrada são: taxa de juros, valor da comprar e número de parcelas. Não necessariamente nesta ordem.O cálculos devem seguir o sistema de capitalização composto (Juros Compostos), a saída deve mostrar o valor da parcelas e quantidade (ex.: 24x R$150,00).
  11. Saudações senhoras (es), venho por meio desta pedir um help, pois tenho esse código que exibirei abaixo que esta funcionando 99%, mas só esta faltando um porém que ainda não consigo implementar, tipo: Tenho esse código , um menu de nota de alunos, que insere, deleta, imprime e busca por código, até aí esta funcionando de boa, só que, por exemplo se eu cadastrar 2 alunos, um com a matrícula 1 e o outro com a matrícula 2, ele mostra normalmente na tela quando eu peço para listar , mas se eu deletar a matrícula 1 e deixar apenas a matrícula 2 , ele já não lista mais, e pelo que vi e li em vários fóruns é que teria que colocar um ponteiro, ou uma opção recursiva de uma função chamando ela mesma, e gostaria de saber como faço , e se preciso que ao deletar a matrícula 1, este espaço de memória ficará vazio e se tem como realocar a matrícula 2 para o espaço 1 da memória, pois mesmo eu fazendo o laço nessa variável ela não busca a segunda cadastrada, segue o código: A senha de acesso é 1 #include<stdio.h> #include<stdlib.h> #include<locale.h> #include<string.h> #define SENHA 1 #define MAX 3 #ifndef COLORS_H #define COLORS_H #define foreground(color) FORE##color #define background(color) BACK##color #define style(style_) style_ /** Foreground Colors **/ #define FOREBLACK printf("\033[30m") #define FORERED printf("\033[31m") #define FOREGREEN printf("\033[32m") #define FOREYELLOW printf("\033[33m") #define FOREBLUE printf("\033[34m") #define FOREMARGENTA printf("\033[35m") #define FORECYAN printf("\033[36m") #define FOREWHITE printf("\033[37m") #define FORENORMAL_COLOR printf("\033[39m") /** Background Colors **/ #define BACKBLACK printf("\033[40m") #define BACKRED printf("\033[41m") #define BACKGREEN printf("\033[42m") #define BACKYELLOW printf("\033[43m") #define BACKBLUE printf("\033[44m") #define BACKMAGENTA printf("\033[45m") #define BACKCYAN printf("\033[46m") #define BACKWHITE printf("\033[47m") #define BACKNORMAL printf("\033[49m") /** Style **/ #define BRIGHT printf("\033[1m") #define DIM printf("\033[2m") #define NORMAL printf("\033[22m") #define RESETALL printf("\033[0m") #define UNDERLINE printf("\033[4m") #define BLINKSLOW printf("\033[5m") #define BLINKRAPID printf("\033[6m") #define ITALIC printf("\033[3m") #define NEGATIVE printf("\033[7m") #endif /* COLORS_H */ //CONSTRUTOR DE VARIÁVEIS struct cadastro { int matricula; char aluno[50]; char disciplina1[50]; char disciplina2[50]; char disciplina3[50]; float nota1; float nota2; float nota3; float nota4; float nota5; float nota6; float nota7; float nota8; float nota9; int codaux[20]; int vazio; int cod; }; struct cadastro registros[MAX]; void flush_in(){ int ch; while( (ch = fgetc(stdin)) != EOF && ch != '\n' ){} } void gotoxy (int x, int y); //Funçoes que serao usadas void cadastrar(int cod, int pos); //Funçao para consulta void listar( void ); //Funçao para consulta void consultar( void ); //Funçao para exibir relatorio int relatorio( void ); //Função para verificar posição int verifica_pos( void ); //Função para verificar codigo int verifica_cod( int cod ); //Função para verificar posição do codigo int verifica_pos( void ); //Função para excluir cadastro void zerar( void ); //Função para excluir cadastro void excluir( void ); //FUNÇÃO DO MAIN QUE CHAMA TODAS AS FUNÇÕES int main(void){ system ("color 1f"); int op = 0,senha=SENHA,posicao, matricula, retorno; printf("######### SISTEMA DE NOTAS DE ALUNOS: ##############\n\n "); do { printf ("\t\t ----------------------------------\n"); printf ("\n\t\t\t INSIRA A SUA SENHA : "); fflush(stdin); scanf ("%d",&senha); if(senha!=SENHA) { system ("color 1E"); printf("\n\n\t\t\t Senha incorreta. Tente Novamente !\n\n"); printf("\t\t ");system("pause"); system("cls"); } } while(senha!=SENHA); while(op!=5){ system("cls"); printf ("\t\t\t *** MENU DE NOTAS DE ALUNO: ***\n\n ",setlocale(LC_ALL,"")); printf ("\n\n\n\t\t\t DIGITE UMA OPÇÃO ABAIXO: \n\n\n\n ",setlocale(LC_ALL,"")); printf ("\t\t\t -----------------------------\n",setlocale(LC_ALL,"")); printf ("\t\t\t| 1 - Matrícula do Aluno |\n",setlocale(LC_ALL,"")); printf ("\t\t\t| 2 - Listar todos os Alunos |\n",setlocale(LC_ALL,"")); printf ("\t\t\t| 3 - Pesquisar por Matrícula |\n",setlocale(LC_ALL,"")); printf ("\t\t\t| 4 - Excluir Aluno |\n",setlocale(LC_ALL,"")); printf ("\t\t\t| 5 - Sair |\n",setlocale(LC_ALL,"")); printf ("\t\t\t -----------------------------\n",setlocale(LC_ALL,"")); scanf ("%d", &op); switch(op) { case 1: // FUNÇÃO VERIFICA A MATRÍCULA AO CADASTRAR { posicao=verifica_pos(); if ( posicao !=2) { printf("\n\t\t Digite o número da matrícula para o aluno : "); scanf("%d",&matricula); fflush(stdin); retorno = verifica_cod( matricula); if ( retorno == 1 ) { cadastrar( matricula, posicao ); }else{ printf("\n\t\tEste número de Matrícula já existe. Tente Outro !\n\n"); printf("\t\t ");system("pause\n\n"); } }else printf("\n\n\t\t Não é possível realizar mais cadastros !\n\n"); printf("\t\t ");system("pause\n\n"); break; } case 2: // LISTAR { listar(); break; } case 3:// CONSULTAR { consultar(); break; } case 4:// EXCLUIR { excluir(); system ("pause"); break; } // SAIR case 5: { printf("\n\n\t\t Saindo do Sistema - Tchau"); getchar(); printf("\t\t ");return 0; break; } default :// OPÇÃO INVÁLIDA printf("\n\t\t Opcão Inválida\n\n",setlocale(LC_ALL,"")); printf("\t\t ");system("pause\n\n"); break; } } getchar(); }//Final da Função Verifica se a matrícula ja esta sendo usada //FIM DO MAIN // FUNÇAO CADASTRAR void cadastrar( int cod, int pos ) { pos = verifica_pos(); registros[pos].cod = cod; printf("\n\t\t Digite Nome do Aluno: "); scanf("%s",&registros[pos].aluno); printf("\n\t\t Digite a 1º Disciplina : "); scanf("%s",&registros[pos].disciplina1); flush_in(); printf("\n\t\t Nota do 1º Bimestre: "); scanf("%f",&registros[pos].nota1); fflush(stdin); printf("\n\t\t Nota do 2º Bimestre: "); scanf("%f",&registros[pos].nota2); fflush(stdin); printf("\n\t\t Nota do 3º Bimestre: "); scanf("%f",&registros[pos].nota3); printf("\n\t\t Digite a 2º Disciplina : "); scanf("%s",&registros[pos].disciplina2); fflush(stdin); printf("\n\t\t Nota do 1º Bimestre: "); scanf("%f",&registros[pos].nota4); fflush(stdin); printf("\n\t\t Nota do 2º Bimestre: "); scanf("%f",&registros[pos].nota5); fflush(stdin); printf("\n\t\t Nota do 3º Bimestre: "); scanf("%f",&registros[pos].nota6); printf("\n\t\t Digite a 3º Disciplina : ",setlocale(LC_ALL,"")); scanf("%s",&registros[pos].disciplina3); fflush(stdin); printf("\n\t\t Nota do 1º Bimestre: ",setlocale(LC_ALL,"")); scanf("%f",&registros[pos].nota7); fflush(stdin); printf("\n\t\t Nota do 2º Bimestre: ",setlocale(LC_ALL,"")); scanf("%f",&registros[pos].nota8); fflush(stdin); printf("\n\t\t Nota do 3º Bimestre: ",setlocale(LC_ALL,"")); scanf("%f",&registros[pos].nota9); registros[pos].vazio = 1; printf("\n\t\t Cadastro Realizado com Sucesso!\n\n",setlocale(LC_ALL,"")); printf("\t\t ");system("pause"); } //Final da Função Cadastrar // FUNÇAO LISTAR DADOS void listar(void) { int i,cod,posicao,pos,total; setlocale(LC_ALL," "); pos = verifica_pos(); if (cod>MAX) { system("cls"); printf("\nRESULTADO DA BUSCA: \n"); printf("\nForam encontrado (s) o total de :"); for(i=0; i<pos; i++){ total=pos; } printf(" %d Aluno (s) :\n",total); printf("________________________________________________\n\n"); } if (pos>=1) { for (i=0; i<pos; i++ ) { printf("\n\t |Matrícula : %d\n",registros[i].cod); printf("\n\t |Nome do Aluno é: %s\n" ,registros[i].aluno); printf("\n\t |Disciplina : %s\n",registros[i].disciplina1); printf("\n\t |Nota do 1º Bimestre: %.1f\t",registros[i].nota1); printf("\n\t |Nota do 2º Bimestre: %.1f\t",registros[i].nota1); printf("\n\t |Nota do 3º Bimestre: %.1f\n",registros[i].nota3); printf("\n\t |Disciplina : %s\n",registros[i].disciplina2); printf("\n\t |Nota do 1º Bimestre: %.1f\t",registros[i].nota4); printf("\n\t |Nota do 2º Bimestre: %.1f\t",registros[i].nota5); printf("\n\t |Nota do 3º Bimestre: %.1f\n",registros[i].nota6); printf("\n\t |Disciplina : %s\n",registros[i].disciplina3); printf("\n\t |Nota do 1º Bimestre: %.1f\t",registros[i].nota7); printf("\n\t |Nota do 2º Bimestre: %.1f\t",registros[i].nota8); printf("\n\t |Nota do 3º Bimestre: %.1f\n",registros[i].nota9); printf("___________________________________________________\n\n"); } }else{ if (pos<=0) { printf("\n\n\t\t\t Não existe Aluno cadastrado !\n\n"); printf("\t\t ");system("pause"); return; getchar(); } } printf("\t\t ")/system("pause"); }//Final da Função Listar //FUNÇÃO CONSULTAR DADOS void consultar( void ) { int cont = 0, cod,posicao, retorno,codaux; printf("\n\n\t\t\tEntre com o número de Matrícula : ",setlocale(LC_ALL,"")); scanf("%d",&cod); while ( cont <=2) { if (registros[cont].cod==cod) { if (registros[cont].vazio==1) { system("cls"); printf("\nRESULTADO DA BUSCA: \n\n"); printf("_____________________________________________\n\n"); printf("\nMatrícula : %d\n",registros[cont].cod); printf("\nNome do Aluno é: %s\n" ,registros[cont].aluno); printf("\nDisciplina : %s\n",registros[cont].disciplina1); printf("\nNota do 1º Bimestre: %.1f\t",registros[cont].nota1); printf("\nNota do 2º Bimestre: %.1f\t",registros[cont].nota1); printf("\nNota do 3º Bimestre: %.1f\n",registros[cont].nota3); printf("\nDisciplina : %s\n",registros[cont].disciplina2); printf("\nNota do 1º Bimestre: %.1f\t",registros[cont].nota4); printf("\nNota do 2º Bimestre: %.1f\t",registros[cont].nota5); printf("\nNota do 3º Bimestre: %.1f\n",registros[cont].nota6); printf("\nDisciplina : %s\n",registros[cont].disciplina3); printf("\nNota do 1º Bimestre: %.1f\t",registros[cont].nota7); printf("\nNota do 2º Bimestre: %.1f\t",registros[cont].nota8); printf("\nNota do 3º Bimestre: %.1f\n",registros[cont].nota9); printf("\n\n"); system ("pause"); break; } } cont++; } if (registros[cont].vazio==0) { printf("\n\t\t Esta Matrícula não existe. Tente novamente !\n\n",setlocale(LC_ALL,"")); printf("\t\t ")/system("pause"); } } //Final da Função Consultar Dados //FUNÇÃO VERIFICA POSIÇÃO int verifica_pos( void ) { int cont = 0; while ( cont <=MAX) { if ( registros[cont].vazio == 0 ) return(cont); cont++; } return(-1); }//Final da verifica Posição int zerar(int cod) { int cont; for ( cont = 0; cont <= MAX; cont++ ) registros[cont].vazio = 0; } //FUNÇÃO VERIFICA CÓDIGO int verifica_cod( int cod ) { int cont = 0; while ( cont <= MAX ) { if ( registros[cont].cod == cod ) return(0); cont++; } return(1); }//Final da Função Verifica Código //FUNÇÃO EXCLUIR void excluir( void ) { int cod, cont = 0; char resp; printf("\n\t Entre com o código do registro que deseja excluir :",setlocale(LC_ALL,"")); scanf("%d", &cod ); while ( cont <= MAX) { if ( registros[cont].cod == cod ) { // FALTOU if ( registros[cont].vazio == 1 ) { printf("\n\n\nRESULTADO DA BUSCA: \n\n"); printf("\nForam encontrado (os) Aluno (s) : %d\n" ,registros[cont].cod); printf("**********************************************\n\n"); printf("\nMatrícula : %d\n",registros[cont].cod); printf("\nNome do Aluno é: %s\n" ,registros[cont].aluno); printf("\nDisciplina : %s\n",registros[cont].disciplina1); printf("\nNota do 1º Bimestre: %.1f\t",registros[cont].nota1); printf("\nNota do 2º Bimestre: %.1f\t",registros[cont].nota1); printf("\nNota do 3º Bimestre: %.1f\n",registros[cont].nota3); printf("\nDisciplina : %s\n",registros[cont].disciplina2); printf("\nNota do 1º Bimestre: %.1f\t",registros[cont].nota4); printf("\nNota do 2º Bimestre: %.1f\t",registros[cont].nota5); printf("\nNota do 3º Bimestre: %.1f\n",registros[cont].nota6); printf("\nDisciplina : %s\n",registros[cont].disciplina3); printf("\nNota do 1º Bimestre: %.1f\t",registros[cont].nota7); printf("\nNota do 2º Bimestre: %.1f\t",registros[cont].nota8); printf("\nNota do 3º Bimestre: %.1f\n",registros[cont].nota9); getchar(); printf("\nDeseja realmente excluir ? S/N:"); scanf("%c",&resp); if ( ( resp == 'S' ) || ( resp == 's' ) ) { registros[cont].cod=0; registros[cont].aluno[50]=0; registros[cont].disciplina1[50]=0; registros[cont].nota1=0; registros[cont].nota1=0; registros[cont].nota3=0; registros[cont].disciplina2[50]=0; registros[cont].nota4=0; registros[cont].nota5=0; registros[cont].nota6=0; registros[cont].disciplina3[50]=0; registros[cont].nota7=0; registros[cont].nota8=0; registros[cont].nota9=0; registros[cont].vazio=0; printf("\nExclusão feita com sucesso\n\n"); break; } else { if ( ( resp == 'N' ) || ( resp == 'n' ) ) { printf("Exclusão cancelada!\n"); break; } } } } cont++; if ( cont > 2) printf("\n\n\t\t Código não encontrado . Tente Outro !\n"); } printf("\n\t\t ");return;system("pause"); system("cls"); }//Final da Função Excluir Desde já eu agradeço o espaço..
  12. Jeovane Carvalho

    Erro ao imprimir dados armazenados na memória em C

    Olá Senhores , estou aqui para um help dos senhores mais experientes, e estou com um problema em meu código, pois desenvolvi um menu em C, e esta funcionando praticamente em tudo, e só não consegui imprimi todos os dados na tela .. Por exemplo, se eu cadastrar mais de 1 aluno em meu sistema eu consigo visualizar de boa buscando pela matrícula, mas se eu pedi para listar todos os alunos cadastrados, ele só busca o primeiro e os outros ele não retorna, segue abaixo o código.... #include<stdio.h> #include<stdlib.h> #include<locale.h> #include<string.h> struct cadastro { int matricula; char aluno[50]; char disciplina1[50]; char disciplina2[50]; char disciplina3[50]; float nota1; float nota2; float nota3; float nota4; float nota5; float nota6; float nota7; float nota8; float nota9; int codaux[20]; int vazio; int cod; }; struct cadastro registros[50]; void flush_in(){ int ch; while( (ch = fgetc(stdin)) != EOF && ch != '\n' ){} } //Funçoes que serao usadas void cadastrar(int cod, int pos); //Funçao para consulta void listar( void ); //Funçao para consulta void consultar( void ); //Funçao para exibir relatorio int relatorio( void ); //Função para verificar posição int verifica_pos( void ); //Função para verificar codigo int verifica_cod( int cod ); //Função para verificar posição do codigo int verifica_pos( void ); //Função para excluir cadastro void excluir( void ); int main(void){ int op = 0,senha,posicao, matricula, retorno; printf("######### SISTEMA DE NOTAS DE ALUNOS: ##############\n\n "); do { printf(" DIGITE UMA SENHA : "); scanf ("%d",&senha); if(senha!=1) { printf("Senha incorreta. Tente Novamente \n\n"); system("pause"); system("cls"); } } while(senha!=1); while(op!=5){ system("cls"); printf ("\n\n *** MENU DE NOTAS DE ALUNO: ***\n\n ",setlocale(LC_ALL,"")); printf ("| 1 - Matrícula do Aluno |\n",setlocale(LC_ALL,"")); printf (" | 2 - Lista de Alunos |\n",setlocale(LC_ALL,"")); printf (" | 3 - Listar dados do Aluno |\n",setlocale(LC_ALL,"")); printf (" | 4 - Pesquisar por Matrícula |\n",setlocale(LC_ALL,"")); printf (" | 5 - Sair |\n",setlocale(LC_ALL,"")); scanf ("%d", &op); switch(op) { case 1: // CADASTRAR { posicao=verifica_pos(); if ( posicao != -1 ) { printf("\nDigite o número da matrícula para o aluno : "); scanf("%d",&matricula); fflush(stdin); retorno = verifica_cod( matricula); if ( retorno == 1 ) cadastrar( matricula, posicao ); else printf("\nCodigo ja existente\n"); system ("pause"); } else printf("\nNao e possivel realizar mais cadastros!\n"); break; } case 2: // LISTAR { listar(); break; } case 3:// CONSULTAR { consultar(); break; } case 4:// EXCLUIR { excluir(); system ("pause"); break; } // SAIR case 5: { printf("\n Saindo do Sistema - Tchau"); getchar(); return 0; break; } default :// OPÇÃO INVÁLIDA printf("Opcão Inválida",setlocale(LC_ALL,"")); break; } } getchar(); } // FUNÇAO CADASTRAR void cadastrar( int cod, int pos ) { pos = verifica_pos(); registros[pos].cod = cod; printf("\nDigite Nome do Aluno: "); scanf("%s",&registros[pos].aluno); printf("\nDigite a 1º Disciplina : "); scanf("%s",&registros[pos].disciplina1); flush_in(); printf("\nNota do 1º Bimestre: "); scanf("%f",&registros[pos].nota1); fflush(stdin); printf("\nNota do 2º Bimestre: "); scanf("%f",&registros[pos].nota2); fflush(stdin); printf("\nNota do 3º Bimestre: "); scanf("%f",&registros[pos].nota3); printf("\nDigite a 2º Disciplina : "); scanf("%s",&registros[pos].disciplina2); fflush(stdin); printf("\nNota do 1º Bimestre: "); scanf("%f",&registros[pos].nota4); fflush(stdin); printf("\nNota do 2º Bimestre: "); scanf("%f",&registros[pos].nota5); fflush(stdin); printf("\nNota do 3º Bimestre: "); scanf("%f",&registros[pos].nota6); printf("\nDigite a 3º Disciplina : ",setlocale(LC_ALL,"")); scanf("%s",&registros[pos].disciplina3); fflush(stdin); printf("\nNota do 1º Bimestre: ",setlocale(LC_ALL,"")); scanf("%f",&registros[pos].nota7); fflush(stdin); printf("\nNota do 2º Bimestre: ",setlocale(LC_ALL,"")); scanf("%f",&registros[pos].nota8); fflush(stdin); printf("\nNota do 3º Bimestre: ",setlocale(LC_ALL,"")); scanf("%f",&registros[pos].nota9); registros[pos].vazio = 1; printf("\nCadastro Realizado com Sucesso!\n\n",setlocale(LC_ALL,"")); getchar(); system("cls"); } //Final da Função Cadastrar // FUNÇAO LISTAR void listar() { setlocale(LC_ALL," "); int i,j,cod,posicao,pos, retorno; pos = verifica_pos(); for (i=0; i<pos; i++ ) { if (registros[i].vazio==1) { printf("\n\n\nRESULTADO DA BUSCA: \n\n"); printf("\nForam encontrado (os) Aluno (s) : %d\n" ,registros[i].cod); printf("**********************************************\n\n"); printf("\nMatrícula : %d\n",registros[i].cod); printf("\nNome do Aluno é: %s\n" ,registros[i].aluno); printf("\nDisciplina : %s\n",registros[i].disciplina1); printf("\nNota do 1º Bimestre: %.1f\t",registros[i].nota1); printf("\nNota do 2º Bimestre: %.1f\t",registros[i].nota1); printf("\nNota do 3º Bimestre: %.1f\n",registros[i].nota3); printf("\nDisciplina : %s\n",registros[i].disciplina2); printf("\nNota do 1º Bimestre: %.1f\t",registros[i].nota4); printf("\nNota do 2º Bimestre: %.1f\t",registros[i].nota5); printf("\nNota do 3º Bimestre: %.1f\n",registros[i].nota6); printf("\nDisciplina : %s\n",registros[i].disciplina3); printf("\nNota do 1º Bimestre: %.1f\t",registros[i].nota7); printf("\nNota do 2º Bimestre: %.1f\t",registros[i].nota8); printf("\nNota do 3º Bimestre: %.1f\n",registros[i].nota9); printf("\n\n"); printf("**********************************************\n\n"); system("pause"); getchar(); break; } i++; } if (registros[i].vazio==0) { printf("\nCódigo não encontrado\n\n"); system("pause"); system("cls"); return ; } } //FUNÇÃO CONSULTAR void consultar( void ) { int cont = 0, cod,posicao, retorno,codaux; printf("\nEntre com o código: ",setlocale(LC_ALL,"")); scanf("%d",&cod); system("cls"); while ( cont <= 100 ) { if (registros[cont].cod==cod) { if (registros[cont].vazio==1) { printf("\n\n\nRESULTADO DA BUSCA: \n\n"); printf("\nForam encontrado (os) Aluno (s) : %d\n" ,registros[cont].cod); printf("**********************************************\n\n"); printf("\nMatrícula : %d\n",registros[cont].cod); printf("\nNome do Aluno é: %s\n" ,registros[cont].aluno); printf("\nDisciplina : %s\n",registros[cont].disciplina1); printf("\nNota do 1º Bimestre: %.1f\t",registros[cont].nota1); printf("\nNota do 2º Bimestre: %.1f\t",registros[cont].nota1); printf("\nNota do 3º Bimestre: %.1f\n",registros[cont].nota3); printf("\nDisciplina : %s\n",registros[cont].disciplina2); printf("\nNota do 1º Bimestre: %.1f\t",registros[cont].nota4); printf("\nNota do 2º Bimestre: %.1f\t",registros[cont].nota5); printf("\nNota do 3º Bimestre: %.1f\n",registros[cont].nota6); printf("\nDisciplina : %s\n",registros[cont].disciplina3); printf("\nNota do 1º Bimestre: %.1f\t",registros[cont].nota7); printf("\nNota do 2º Bimestre: %.1f\t",registros[cont].nota8); printf("\nNota do 3º Bimestre: %.1f\n",registros[cont].nota9); printf("\n\n"); system ("pause"); system("cls"); break; } } cont++; if (registros[cont].vazio==0) { printf("\nCódigo não encontrado\n\n",setlocale(LC_ALL,"")); system("pause"); system("cls"); return ; } } } //FUNÇÃO VERIFICA POSIÇÃO int verifica_pos( void ) { int cont = 0; while ( cont <= 100 ) { if ( registros[cont].vazio == 0 ) return(cont); cont++; } return(-1); } //FUNÇÃO ZERAR void zerar( void ) { int cont; for ( cont = 0; cont <= 100; cont++ ) registros[cont].vazio = 0; } //FUNÇÃO VERIFICA CODIGO int verifica_cod( int cod ) { int cont = 0; while ( cont <= 100 ) { if ( registros[cont].cod == cod ) return(0); cont++; } return(1); } //FUNÇÃO EXCLUIR void excluir( void ) { int cod, cont = 0; char resp; printf("\nEntre com o código do registro que deseja excluir\n",setlocale(LC_ALL,"")); scanf("%d", &cod ); while ( cont <= 100 ) { if ( registros[cont].cod == cod ) { // FALTOU if ( registros[cont].vazio == 1 ) { printf("\n\n\nRESULTADO DA BUSCA: \n\n"); printf("\nForam encontrado (os) Aluno (s) : %d\n" ,registros[cont].cod); printf("**********************************************\n\n"); printf("\nMatrícula : %d\n",registros[cont].cod); printf("\nNome do Aluno é: %s\n" ,registros[cont].aluno); printf("\nDisciplina : %s\n",registros[cont].disciplina1); printf("\nNota do 1º Bimestre: %.1f\t",registros[cont].nota1); printf("\nNota do 2º Bimestre: %.1f\t",registros[cont].nota1); printf("\nNota do 3º Bimestre: %.1f\n",registros[cont].nota3); printf("\nDisciplina : %s\n",registros[cont].disciplina2); printf("\nNota do 1º Bimestre: %.1f\t",registros[cont].nota4); printf("\nNota do 2º Bimestre: %.1f\t",registros[cont].nota5); printf("\nNota do 3º Bimestre: %.1f\n",registros[cont].nota6); printf("\nDisciplina : %s\n",registros[cont].disciplina3); printf("\nNota do 1º Bimestre: %.1f\t",registros[cont].nota7); printf("\nNota do 2º Bimestre: %.1f\t",registros[cont].nota8); printf("\nNota do 3º Bimestre: %.1f\n",registros[cont].nota9); getchar(); printf("\nDeseja realmente excluir ? S/N:"); scanf("%c",&resp); if ( ( resp == 'S' ) || ( resp == 's' ) ) { registros[cont].vazio=0; printf("\nExclusão feita com sucesso\n\n"); break; } else { if ( ( resp == 'N' ) || ( resp == 'n' ) ) { printf("Exclusão cancelada!\n"); break; } } } } cont++; if ( cont > 100 ) printf("\nCodigo nao encontrado\n"); } system("pause"); system("cls"); } Como eu disse, ele roda de boa só não lista todos os alunos e apenas 0 1º, um #trabalhozinho de faculdade.. Obrigado !
  13. Bem pessoal, eu estou querendo adicionar pontos em um valor inteiro, para explicar melhor vamos ao código: char text[30]; int value = 10000000000; sprintf(text, "O valor ganho foi de: %d", value); cis->print_message(text); Eu queria saber uma forma de retornar o valor com pontos, ficando da seguinte forma: 10.000.000.000 Alguém tem alguma ideia ?
  14. Nathan Vieira Marcelino

    Arvore binaria de palavras em C++

    Entao pessoal, sou novo no forum e preciso de ajuda com o seguinte problema: implementar uma arvore binaria de palavras em c++ (existem alguns quesitos do trabalho mas estes eu acho q posso resolver). Meu problema é colocar uma string como parametro dentro de cada Nó da arvore, tentei transformar tudo em 'const char *' mas nao obtive sucesso. segue o codigo e os erros, se alguem souber como me ajudar desde ja agradeço. #include <iostream> #include <string> #include <fstream> using namespace std; class No { public: No *esq, *dir; const char* no; int frequencia=0; No(const char* no){ this-> no = no; esq = NULL; dir = NULL; } ////////////////////////////////////////////////////////////////// int getNo(int i){ return no[i]; } ////////////////////////////////////////////////////////////////// No* getEsq(){ return esq; } ////////////////////////////////////////////////////////////////// No* getDir(){ return dir; } ////////////////////////////////////////////////////////////////// void setEsq(No* word){ esq = word; } ////////////////////////////////////////////////////////////////// void setDir(No* word){ dir = word; } ////////////////////////////////////////////////////////////////// /* void setFrequencia(){ frequencia+=frequencia; } ////////////////////////////////////////////////////////////////// int getFreq(){ return frequencia; } */ ////////////////////////////////////////////////////////////////// }; class Arvore { private: No* raiz; public: arvore(){ raiz = NULL; } ////////////////////////////////////////////////////////////////// void inserir (const char * word) { if(raiz == NULL) raiz = new No (word); // INSERIR COM ARVORE VAZIA else inserir2(raiz,word); } ////////////////////////////////////////////////////////////////// void inserir2 (No* no, const char* word) { int i=0, end = 1; while(end==1 || i>word.strlen() || i > no-> no.strlen()) { if ((int)word[i] < no->getNo(i)) { if(no->getEsq()==NULL) { No* novo_no = new No(word); no->setEsq(novo_no); }else{ inserir2(no->getEsq(),word); } end=0; // INSERIR A DIREITA OU A ESQUERDA }else if((int)word[i] > no->getNo(i)) { if(no->getDir()==NULL) { No* novo_no = new No(word); no->setDir(novo_no); }else{ inserir2(no->getDir(),word); } end=0; } i++; } /* SE FOR IGUAL SOMA A FREQUENCIA DA PALAVRA */ // setFrequencia(); /* SE FOR IGUAL SOMA A FREQUENCIA DA PALAVRA */ } }; bool escrever (){ ////////////////////////////////////////////////////////////////// string texto; ofstream myfile ("original.txt"); if(myfile.is_open()){ getline(cin,texto); myfile << texto; // ESCREVER TEXTO // myfile.close(); return 0; }else{ return 1; } ////////////////////////////////////////////////////////////////// } ///////////////////////////////////////////////////////////////// bool modificar(){ string texto; fstream arq("original.txt"); ofstream myfile("modificado.txt"); if((arq.is_open()) && (myfile.is_open())){ getline(arq, texto); for (int i = 0; i < texto.length(); ++i) { if (((texto[i]<65)||(texto[i]>122)) || ((texto[i]>90)&&(texto[i]<97))) { texto[i]='\n'; } if((texto[i]>64)&&(texto[i]<91)) { texto[i]+=32; } } cout<< texto <<endl; myfile<< texto; arq.close(); myfile.close(); return 0; }else{ return 1; } } ///////////////////////////////////////////////////////////////// int main() { string palavra; Arvore arv; cout<<escrever()<<endl; cout<<modificar()<<endl; fstream arquivo ("modificado.txt"); const char* temp= getline(arquivo,palavra).c_str() arv.inserir( temp ); /*for (int i = 0; i < 7; ++i) { arv.inserir (getline(arquivo,palavra)); endl; }*/ return 0; } ////////////////////////////////////////////////////////////////// Erros: main.cpp: In member function 'void Arvore::inserir2(No*, const char*)': main.cpp:71:25: error: request for member 'strlen' in 'word', which is of non-class type 'const char*' while(end==1 || i>word.strlen() || i > no-> no.strlen()) ^~~~~~ main.cpp:71:49: error: request for member 'strlen' in 'no->No::no', which is of non-class type 'const char*' while(end==1 || i>word.strlen() || i > no-> no.strlen()) ^~~~~~ main.cpp: In function 'int main()': main.cpp:158:45: error: 'class std::basic_istream<char>' has no member named 'c_str' const char* temp= getline(arquivo,palavra).c_str() ^~~~~
  15. Guilherme Cavalheri

    Código Crivo de Erastóstenes

    Bom Dia Pessoal, gostaria de saber o por que que o código que fiz nao esta dando certo, alguém poderia me ajudar? Desde já agradeço a atenção. double limiteContagem; int i, k; int crivoEratostenes(int arrayCrivo[], int listaPrimos[], int n) { // se n for maior que zero, procure os núemeros primos if (n > 1) { // Colocar todos arrayCrivos como 1 for (i = 2; i < n; i++) { arrayCrivo = 1; } // tirar raiz do n-úplo limiteContagem = sqrt(n); //Pegar os Múltiplos dos números menores que o limiteContagem, e substituir na matriz = 0, para anular os termos e ter somente //os primos. for (i = 2; i < limiteContagem; i + i) if (arrayCrivo) { for (k = i * i; k < n; k = 1 + i) { arrayCrivo[k] = 0; } } } } // Fazer a contagem no array listaPrimos e retornar os números ali existentes for (i = 2; i < n; i++) { listaPrimos = arrayCrivo; } return listaPrimos; } } // caso o "n" for menor que zero, retornará -1 else { return -1; } }
  16. Silva Mateus

    Struct em C

    Olá, tenho dois problemas que são o seguinte: 1 - Quando escolho a opção "1" e entro no cadastro de produtos o programa pula a etapa de cadastro do "nome", isto é , me deixando cadastrar somente o "codigo" e "estoque minimo". Me disseram que o FFLUSH resolveria esse problema, esse é realmente o método correto? 2 - Quando vou na opção "2 - listar" ele não exibe os valores que foram cadastrado, isto é , a tabela é impressa corretamente só que os valores não são correspondentes. #include<stdio.h> #include<strings.h> #include<string.h> #define max = 10; int contador=0 ; //ESTRUTURA DOS DADOS struct produtos{ int codigo; char nome[30]; float precoMedioUnitario; int quantEstoque; int estoqueMinimo; }; struct produtos cadProduto[9]; main(){ menu(); } // PROCEDIMENTO - VOID MENU void menu(){ // VARIAVEL PARA ESCOLHA SWITCH int escolha; // MENU printf("1 - Cadastrar um produto"); printf("\n2 - Listar os produtos cadastrados"); printf("\n3 - Consultar os dados de um produto "); printf("\n4 - Processar uma saida de mercadoria do estoque"); printf("\n5 - Processar uma entrada de mercadoria no estoque"); printf("\n6 - Sair do programa"); //ESCOLHA DE OPERACAO printf("\nOperacao: "); scanf("%d", &escolha); //DESVIO PARA A OPCAO switch(escolha){ case 1: cadastro(); break; case 2: listar(); break; case 3: break; case 4: break; case 5: break; case 6: break; default: printf("Valor Invalido"); } } // FUNCAO CADASTRO DE PRODUTOS void cadastro(){ int resultado; do{ //FORMULARIO DE CADASTRO printf("Codigo do produto: "); scanf("%d", &cadProduto[contador].codigo); printf("\n"); printf("Nome do produto: "); fgets(cadProduto[contador].nome, 30, stdin); printf("\n"); printf("Estoque minimo: "); scanf("%d", &cadProduto[contador].estoqueMinimo); printf("\n"); contador++; printf("Deseja cadastrar mais produtos? Precione 1 - Sim ou 2 - Nao:\n"); scanf("%d", &resultado); while(resultado!=1 && resultado!=2){ printf("\n"); printf("Opcao invalida!"); printf("\n"); printf("Deseja cadastrar mais produtos? Precione 1 - Sim ou 2 - Nao:\n"); scanf("%d", &resultado); } } while(resultado!=2); printf("\nOperacao Concluida com sucesso!\n"); printf("\n"); menu(); } void listar(){ printf("\n"); for(int i=0; i<contador;i++){ printf("%d | %c | %d | %f | %d\n ",cadProduto[contador].codigo, cadProduto[contador].nome, cadProduto[contador].quantEstoque, cadProduto[contador].precoMedioUnitario, cadProduto[contador].estoqueMinimo ); } }
  17. Boa tarde pessoal. Me chamo Jonatas de oliveira preciso da ajuda de vocês! Imaginamos a situação hipotética em que um professor deseja lançar todas as notas de seus alunos em uma planilha. Preciso criar um vetor de tamanho "n" ( NEM EU, NEM O PROFESSOR, SABEMOS QUANTOS ALUNOS SÃO). DEPOIS EXIBIR O VALOR CONTIDO EM CADA ESPAÇO DA MEMORIA DO VETOR EM LISTA. PARA O USUÁRIO SAIR ELE TEM QUE DIGITAR " -1" COMO FAÇO ISSO?
  18. Olá pessoal, há pouco tempo iniciei os estudo em C e me deparei com algúmas dificuldades...Este código fonte que postarei tem o seguinte o objetivo>>> Mostrar um menu que permita a execução de alguns exercicios feitos nas aulas anteriores, separando-os em rotinas. Fazendo uso de comandos do-while e switch-case. O problema ao digitar qualquer número no console além de nao executar os exercicios, somente funciona a "opcao invalida" que deveria somente se tivesse digitado um valor diferente do apresentado da opçoes do console. O código e este abaixo e vou deixar um print da tela...Desde já muito obrigado!! #include <iostream> #include <conio.h> #include <stdio.h> void Exercicio1() { int cont; cont=1; while(cont<=20); { printf("\n Numero %d",cont); cont++; } } void Exercicio2() { int cont, soma; cont=1; soma=0; while(cont<=20); { soma = soma + cont; cont++; } printf("\n Soma= %d",soma); } void Exercicio3() { int cont, termo, inc; termo=1; inc=2; for (cont=1; cont<=20; cont++); { printf("%d ",termo); termo = termo + inc; inc = inc+2; } } void menu() { printf("\n \n Exercicios da Aula 7: "); printf("\n [1] Mostra 1 a 20"); printf("\n [2] Soma 1 ao 20"); printf("\n [3] Serie 1,3,7,...]"); printf("\n [0] Sair \n \n]"); } int main() { char opcao; do{ menu(); opcao = getch(); switch(opcao){ case'1': Exercicio1(); break; case'2': Exercicio2(); break; case'3': Exercicio3(); break; default: printf("\n Opcao Invalida!! "); getch(); } }while (opcao!='0'); }
  19. humandod

    Vaga de emprego c++

    Não encontrei se é permitido ou não postar vagas aqui, mas estou chateado com o cenário de C++ no Brasil, existem poucas pessoas com conhecimento no mesmo. Gostaria de saber se alguem por aqui esta interessado em vaga de desenvolvedor C++, pode ser junior, pleno ou senior. Tendo o básico de conhecimento em c++, sendo esforçado, um pouco autodidata e persistente. É tudo que estamos pedindo por hora. Quem quiser trabalhar com isso e aprender cada vez mais na área; me envia um e-mail para conversarmos! No título coloque: Imasters - C++ Estamos localizados na Zona Leste / Vila Formosa. Email: admin@1ncrivel.com.br
  20. Diego Casarin

    Algoritimo para contar repeticoes de valores em vetores

    Estou com dificuldade em fazer um algoritimo onde segue a seguinte logica: Exemplo: para o vetor digitado V1 = (0,0,0,1,1,0,1,0,1,1,0) obtém-se V2 = (3,2,1,1,1,2,1) enunciado: Escreva um programa que realize a compactação de um vetor V1 de N algarismos 0 e 1 (N <= 40) digitado pelo usuário (onde cada algarismo ocupa uma posição do vetor), de forma que o vetor resultante V2 de N elementos (N <= 40) possua menos elementos do que o vetor original. A regra de compactação é a seguinte: 1. o primeiro elemento do vetor V2 é o número de algarismos zero que o vetor V1 contém, a partir do seu início, até o primeiro algarismo um; 2. o próximo elemento do vetor V2 é o número de algarismos um que o vetor V1 contém, a partir do último zero encontrado, até o próximo algarismo zero; 3. o próximo elemento do vetor V2 é o número de algarismos zero que o vetor V1 contém, a partir do último um encontrado, até o próximo algarismo um; 4. repete-se os passos b e c até o final do vetor V1. como consigo fazer a contagem de qntos zeros tem-se ate o primeiro 1? e assim por adiate
  21. arthurdr

    Ajuda com programa

    Estou fazendo um programa, mas estou trancado em uma parte. O ojetivo desta parte do programa é ver se as letras em que o usuário digita, são iguais as permitidas. Procurei algumas maneiras de fazer isso, mas só achei essa. O problema deste programa é que quando ele vai analisar a cadeia t, ele sempre mostra que a cadeia é invalida, mesmo estando dentro do exigido, abrindo melhor a cadeia t, descobri que o programa sempre diz que a 18º letra é invalida, mas não consegui descobrir o motivo, mesmo ponto letras validas, a 18º ele mostra que é errada. A parte do programa é essa: #include <stdio.h> #include <stdlib.h> #include <string.h> main() { int M, N, i, j, a, b; char p[M], t[N]; int letrasT, letraT, letrasP, letraP; M=5; N=25; do { do { i=0; letraP=0; letrasP=0; printf ("\n Digite a cadeia p: "); scanf ("%s", p); if (M!=strlen(p)) printf ("\n\n !!!TAMANHO DE p INVALIDO!!!\n"); for (i=0; i<M; i++) if ((p!='A') && (p!='C') && (p!='G') && (p!='T')) letrasP=1; else letrasP=0; for (i=0; i<M; i++) if (letrasP==1) letraP=1; if (letraP==1) printf ("\n\n !!!CADEIA DE p INVALIDA!!!\n"); }while (letraP==1); }while (M<strlen(p)); do { do { i=0; letraT=0; letrasT=0; printf ("\n Digite a cadeia t: "); scanf ("%s", t); if (N!=strlen(t)) printf ("\n\n !!!TAMANHO DE t INVALIDO!!!\n"); for (i=0; i<N; i++) if ((t!='A') && (t!='C') && (t!='G') && (t!='T')) letrasT=1; else letrasT=0; for (i=0; i<N; i++) if (letrasT==1) printf ("*%i", letrasT); letraT=1; if (letraT==1) printf ("\n\n !!!CADEIA DE t INVALIDA!!!\n"); }while (letraT==1); }while (N<strlen(t)); printf ("\n%s", p); printf ("\n%s", t); }
  22. Olá, tenho que entregar esse exercício amanha, mais não estou conseguindo. Podem me ajudar por favor. 2. Faça um programa que cadastre 8 funcionários. Para cada funcionário devem ser cadastrados nome e salário. Os dados devem ser armazenados em uma lista simplesmente encadeada e ordenada, de forma decrescente, pelo salário do funcionário. Posteriormente, o programa deve mostrar: a) o nome do funcionário que tem o maior salário (em caso de empate mostrar todos); b) a média salarial de todos os funcionários juntos; c) a quantidade de funcionários com salário superior a um valor fornecido pelo usuário. Caso nenhum funcionário satisfaça essa condição, mostrar mensagem.
  23. mayco.vilefort

    Separar data Data (C++)

    Como separa o DIA, MÊS e ANO -> data: 13081962.
  24. #include <iostream> #include <string.h> #include <sstream> using namespace std; int main(int argc, char *argv[]){ int n, aux; string hexa=""; stringstream hexa_aux; cin >> n; while(n != 0){ aux = n % 16; n/=16; switch (aux){ case 10: hexa+="A"; break; case 11: hexa+="B"; break; case 12: hexa+="C"; break; case 13: hexa+="D"; break; case 14: hexa+="E"; break; case 15: hexa+="F"; break; default: hexa_aux << aux; hexa+=hexa_aux.str(); break; } } for(int i = hexa.length()-1; i>=0; i--){ cout << hexa; } return 0; } estou com problemas em converter um número inteiro para string, quando a entrada é 36, o resultado certo deveria ser 24, mas o valor acaba saindo 244, entre outros valores. O problema é com a conversão?
  25. 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;
×

Informação importante

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