Jump to content

Search the Community

Showing results for tags 'c++'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Bem-vindos ao Portugal-a-Programar
    • Sugestões, Críticas ou Dúvidas relativas ao P@P
    • Acerca do P@P
  • Comunidade a Trabalhar
    • Wiki P@P
    • Apresentação de Projectos de Programação
    • Downloads
  • Revista PROGRAMAR
    • Revista PROGRAMAR
  • Desenvolvimento Geral
    • C
    • C++
    • Java
    • Haskell
    • Pascal
    • Python
    • Bases de Dados
    • Visual Basic Clássico
    • Visual Basic for Applications (VBA)
    • Dispositivos Móveis
    • Outras Linguagens
  • Desenvolvimento Orientado para Web
    • PHP
    • HTML
    • CSS
    • Javascript
    • Outras Linguagens de WebDevelopment
    • Desenvolvimento Web
  • Desenvolvimento .NET
    • C#
    • Visual Basic .NET
    • ASP.NET
    • WPF & SilverLight
  • Software e Sistemas Operativos
    • Software de Produtividade
    • Sistemas Operativos
    • Apresentação de Software
  • Informática
    • Interfaces Visuais
    • Computação Gráfica
    • Algoritmia e Lógica
    • Segurança e Redes
    • Hardware
    • Electrónica
    • Automação Industrial
    • Matemática
    • Dúvidas e Discussão de Programação
    • Notícias de Tecnologia
  • Outras Áreas
    • Dúvidas Gerais
    • Discussão Geral
    • Eventos
    • Anúncios de Emprego
    • Tutoriais
    • Snippets / Armazém de Código
  • Arquivo Morto
    • Projectos Descontinuados
    • System Empires

Blogs

  • Blog dos Moderadores
  • Eventos
  • Notícias de Tecnologia
  • Blog do Staff
  • Revista PROGRAMAR
  • Projectos
  • Wiki

Categories

  • Revista PROGRAMAR
  • Tutoriais
  • Textos Académicos
  • Exercícios Académicos
    • Exercícios c/ Solução
    • Exercícios s/ Solução
  • Bibliotecas e Aplicações
  • Outros

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Found 1,789 results

  1. Boa noite, Estou aqui a tentar guardar um log do chat de um jogo. A função em si funciona corretamente, mas a conversão de uma string para hexadecimal caso tenha acentos não funciona como era suposto. A função funcionaria corretamente se fosse para converter para ANSI, mas estou a tentar guardar em UTF8 (o website em PHP faz UNHEX e devolve a string mantendo os carateres acentuados). A função é esta: std::string string_to_hex(const std::string& input) { static const char* const lut = "0123456789ABCDEF"; size_t len = input.length(); std::string output; output.reserve(2 * len); for (size_t i = 0; i < len; ++i) { const unsigned char c = input[i]; output.push_back(lut[c >> 4]); output.push_back(lut[c & 15]); } return output; } Os ficheiros estão com a codificação definida para UTF8. A mesma função no projeto de teste que fiz (apenas para esta função) devolve o correto em UTF8. Exemplo do projeto de testes: String: áéèàóòãâ Hex: C3A1C3A9C3A8C3A0C3B3C3B2C3A3C3A2 Exemplo do projeto de testes mas com o ficheiro cpp codificado em ANSI: String: áéèàóòãâ Hex: E1E9E8E0F3F2E3E2 Exemplo da mesma string mas no projeto principal (os 3 ficheiros codificados em UTF8): String: áéèàóòãâ Hex: E1E9E8E0F3F2E3E2 Projeto de testes (compilado com gcc8 em FreeBSD): #include <algorithm> #include <stdexcept> #include <string> #include<iostream> using namespace std; std::string string_to_hex(const std::string& input) { static const char* const lut = "0123456789ABCDEF"; size_t len = input.length(); std::string output; output.reserve(2 * len); for (size_t i = 0; i < len; ++i) { const unsigned char c = input[i]; output.push_back(lut[c >> 4]); output.push_back(lut[c & 15]); } return output; } std::string hex_to_string(const std::string& input) { static const char* const lut = "0123456789ABCDEF"; size_t len = input.length(); if (len & 1) throw std::invalid_argument("odd length"); std::string output; output.reserve(len / 2); for (size_t i = 0; i < len; i += 2) { char a = input[i]; const char* p = std::lower_bound(lut, lut + 16, a); if (*p != a) throw std::invalid_argument("not a hex digit"); char b = input[i + 1]; const char* q = std::lower_bound(lut, lut + 16, b); if (*q != b) throw std::invalid_argument("not a hex digit"); output.push_back(((p - lut) << 4) | (q - lut)); } return output; } int main() { std::string input = "áéèàóòãâ"; cout<<string_to_hex(input)<<"\n"; cout<<hex_to_string(string_to_hex(input))<<"\n"; return 0; } Link: http://cpp.sh/37wtx Alguém tem alguma ideia de qual possa ser o problema? Obrigado
  2. Bom, eu estou tentando abrir uma imagem no picture box, porém quero escrever no textbox e abrir pelo nome, sou novo na área de C#, se alguem puder me ajudar, ficarei grato, desde de já muito Obrigado
  3. Brunopro

    Dificuldade em exercicios de C++

    Boa noite Pessoal, estou a iniciar-me em programação e estou numa formação de 50 h em C++, neste momento estou com 30h de formação e o meu formador passou 50 exercícios para irmos fazendo... E não estou a conseguir desenvolver 2 dos exercícios que ele indicou para fazer será que podem me dar uma ajuda? Um comecei a desenvolver mas algo está errado o outro não sei nem por onde começar, pois nem entendo muito bem o enunciado.. Exerc 1 - Crie um programa que permite calcular a média de uma sequência de valores inseridos pelo utilizador. A sequência termina obrigatoriamente com a inserção de um 0 que não deverá contar para a avaliação da média. Feito : #include <stdio.h> #include <stdlib.h> #include <locale.h> #include <iostream> #include <locale> using namespace std; int main() { setlocale(LC_ALL, "Portuguese"); cout << "Cálculo a média de valores inseridos e terminar com 0. \n\n"; int num=0, media; while (num !=0){ cout << "Inserir número: "; cin >> num; media= (num+num)/num; } cout << "A média é " << media; return 0; } Segundo exercicio nem sei por onde começar.. O resultado da divisão inteira de um número inteiro por outro número inteiro pode sempre ser obtido utilizando-se apenas o operador de subtração. Assim, se quisermos calcular (7/2), basta subtrair o dividendo (2) ao divisor (7), sucessivamente, até que o resultado seja menor do que o dividendo. O número de subtrações realizadas corresponde ao quociente inteiro, conforme o exemplo seguinte: 7 - 2 = 5 5 - 2 = 3 3 - 2 = 1 Descreva um programa para o cálculo da divisão de um inteiro pelo outro. Note que se o dividendo for zero, esta é uma operação matematicamente indefinida. Obrigado
  4. gogas15

    vetores em c++

    boa noite . precisva de ajuda para fazer este exercicio : Escreva o código necessário a que a opção iii. do programa crie um vetor com 20 elementos inteiros e coloque nele os divisores de um número inteiro que deve ler. Se o vetor tiver mais posições do que os divisores do número, então as posições que não têm divisores deverão ficar preenchidas com o vaor -1 (ex: se o número tem apenas 6 divisores, há 14 elementos do vetor que vão ficar com o valor -1). se alguem me poder ajudar agradeço muito . boa noite e desculpem o incomodo
  5. Boa noite , sou novo em progrmaçao e gostaria de saber se alguem me explicaria como faço um programa que me calcule a media dos divisores de um numero inteiro . Obrigado E desculpem o incomodo
  6. Boa tarde malta! Estou com um problema bem bobo mas não percebo o que acontece. Na classe Pilha.h tenho dois elementos private e pelo que percebo estes deveriam ser acessiveis pelos metodos da classe. Acontece que o compilador nao identifica esses membros. Alguma sugestão por favor? Obs: Há métodos que ainda não os fiz //Pilha.cpp #pragma once #include <windows.h> struct no { int valor; // elemento no* próximo; // aponta para proximo item abaixo do atual da pilha e proximo é do tipo no }; class pilha { private: no* topo;// apontador tipo no aponta para topo da pilha int n_elems; public: pilha(); ~pilha(); int obterNumElems(); void push(int novo_valor); int pop(); void desenhar(HWND janelaID); }; //Pilha.h pilha::pilha() { n_elems = 0;//contador de elementos da pilha topo = NULL; } pilha::~pilha() { } int obterNumElems() { n_elems++;//elemento private mesmo problema que topo } void push(int novo_valor)//recebe valor a empilhar { no* novo = new no; novo->valor = novo_valor; novo->próximo = topo; //como acessar o private topo aqui??? topo = novo; obterNumElems(); } int pop() { no* valor = topo->; no * ptr = topo; topo = topo->próximo; delete ptr; } void desenhar(HWND janelaID) { }
  7. Boas, Comecei hoje em C++ e deparei-me com o fato de não conseguir inserir acentos nem "ç", etc. Estou a utilizar o Dev-C++ 5.5.1. Gostava que alguém me conseguisse explicar como posso colocar os respetivos caracteres sem obter erros...
  8. Olá, boa noite! Por favor estou a precisar de uma ajuda. Estou com dúvida em como relacionar as classes Ponto e Rectangulo de modo a calcular a area. O resultado esta sempre a dar zero. Quem puder ajudar por favor. Tentei de algumas formas mas estou a ter dificuldades nessa parte da cadeira. Agradeço qq ajuda! #pragma once class Ponto { private: int x, y; // coordenadas do ponto public: Ponto(); // construtor por omissão Ponto(int x0, int y0); //construtor para atribuição void AtribuirXY(int novo_x, int novo_y); // novas coordenadas float ObterDistancia(Ponto p2); // calcula a distancia a um ponto p2 int ObterX() { return x; }; // devolve a coordenada x int ObterY() { return y; } // devolve a coordenada y }; #pragma once #include "Ponto.h" class Rectangulo { private: Ponto top_left, bottom_right; // Cantos do rectângulo public: Rectangulo(Ponto tl, Ponto br); Rectangulo(int x1, int y1, int x2, int y2); bool Contem(Ponto p); // Verifica se o ponto p está contido no rectangulo // corrente bool Contem(Rectangulo r); // Verifica se o rectângulo r está contido no // rectangulo corrente double ObterArea(); }; #include "Rectangulo.h" #include "Ponto.h" #include <stdio.h> Rectangulo::Rectangulo(Ponto tl, Ponto br) { tl.AtribuirXY(top_left.ObterX(), top_left.ObterY()); br.AtribuirXY(bottom_right.ObterX(), bottom_right.ObterY()); } Rectangulo::Rectangulo(int x1, int y1, int x2, int y2) { Ponto(x1,y1); Ponto(x2,y2); } bool Rectangulo::Contem(Ponto p) { return 1; } bool Rectangulo::Contem(Rectangulo r) { return 1; } double Rectangulo::ObterArea() { double area; area = (bottom_right.ObterX() - top_left.ObterX()) * (bottom_right.ObterY() - top_left.ObterY()); return area; } #include <stdio.h> #include "Rectangulo.h" #include "Ponto.h" int main() { printf("Programa que utiliza outra janela para os resultados.\n"); Rectangulo r(242, 177, 892, 377); printf("\nArea do rectangulo: %0.2f\n", r.ObterArea()); }
  9. PauloAguas21

    Trabalho em C++- Ajuda Urgente

    Bom dia ainda sou um jovem inexperiente e por isso peço a vossa ajuda para me ajudar a fazer este projeto. Obrigado! Elaborar um programa que ajude um professor de Matemática na gestão da sua turma de 10 alunos de um curso profissional. O programa deve apresentar o seguinte menu inicial: +----------------------------------+ | 1 - Inserir Dados | | 2 - Consultar Dados | | 3 - Sair | +-------------------------------- -+ Quando o utilizador escolhe a opção 1 aparecerá o quadro seguinte +-----------------------------------------------+ | 1 - Inserir Alunos | | 2 - Inserir Notas dos Módulos | | 3 - Voltar ao Anterior | +---------------------------------------------- -+  A opção 1 irá ler os valores para a matriz alunos (Processo, primeiro e último nome)  A opção 2 permitirá ler as notas dos 3 módulos da disciplina mas pergunta qual o módulo a inserir e irá ler as notas desse módulo. Não deve permitir notas maiores que 20.  A opção 3 fará aparecer o menu principal. Quando o utilizador escolhe a opção 2 aparecerá o seguinte quadro +--------------------------------------------------------+ | 1 - Consultar dados de um Aluno | | 2 - Notas de um módulo | | 3 - Consultar média de um módulo | | 4 – Voltar ao anterior | +--------------------------------------------------------+  Quando se escolhe a opção 1 o programa pergunta qual o no do aluno a consultar e mostra o no do processo e o nome.  A opção 2 pergunta ao utilizador qual o módulo a consultar e mostra a nome do aluno e a nota que obteve ao módulo.  A opção 3 pergunta qual o módulo e calcula a média desse módulo.  A opção 4 faz aparecer o menu principal
  10. fmdsn

    Exercício c++

    Escreva um programa em C++ que solicite ao usuário o ano de casamento, o ano atual e escreva as seguintes mensagens, para os seguintes casos: Anos Mensagem 20 Bodas de Porcelana 25 Bodas de Prata 50 Bodas de Ouro 75 Bodas de Diamante Outro valor Bodas Não classificada Alguem pode me ajudar a resolver esse programa por favor
  11. fmdsn

    Exercício c++

    Escreva um programa em C++ que solicite ao usuário a sua idade e imprima na tela o valor a ser pago para o Plano de Saúde em parcelas fixas. Faixa Etária Valor a ser Pago: De 0 até 12 R$ 30,00 De 13 até 19 R$ 60,00 De 20 até 45 R$ 120,00 De 46 até 59 R$ 150,00 Outra idade R$ 200,00 Alguém pode me ajuda
  12. boa tarde senhores, estou terminando um curso de c++, mas não se engane, ainda não tenho muito embasamento para falar a respeito do mesmo, porem caros senhores estou com vontade de aprender a desenvolver softwares, mas neste caso estou querendo ser auto-didata, poderiam me dar dicas de onde começar e em quais lugares procurar conhecimento? agradeço a atenção, e por favor se for comentar besteira, não comenta, apenas cenas que agreguem.
  13. gheorghe100

    preciso de um programa para a escola.

    Pretende-se que construa um programa que permita fazer a gestão de reservas de uma sala de espetáculos com registo do nome do evento, data, hora, duração e nome de cliente. 1) Deverá incluir: a) O programa deverá ser estruturado usando programação modular, sempre que esta for aplicável (funções e procedimentos); b) Comentários e parâmetros; c) Pelo menos um ficheiro de texto; d) Um controlo que verifique se os ficheiros já existem no disco e mensagem em caso de erro; e) Permita a inserção, consulta e alteração dos dados dos ficheiros; f) Contenha um sistema de menus que permita a navegação por todo o projeto; g) Permita pesquisar e consultar os dados do ficheiro por um campo (por exemplo por data) . h) Possibilite a visualização no monitor do último registo.
  14. Boa tarde, Estou programando um rpg em c++ no visual studio. Para a ação do personagem atacar um inimigo fiz o seguindo método: void atacar(Inimigo *i, int g); quando uso o método passo o array de inimigos, e no .cpp coloquei um for passando pelo array, tudo isso funcionou, o ataque funciona! Porém aparece que tem erro nessa linha do .h: Error C2061 syntax error: identifier 'Inimigo' Gostaria de entregar o trabalho funcional e sem erros, é claro, podem me ajudar?
  15. Raquel Leal

    Guardar disciplinas e calcular médias

    Preciso de criar um programa mas estou com dificuldades em faze lo!! O programa é o seguinte, Crie um programa em c++ que mantenha as suas notas nos vários módulos das diferentes disciplinas com as seguintes características: - Peça a utilizador o nome de 5 disciplinas e quantos módulos tem cada disciplina e a respectiva classificação de cada módulo; - Guarde a informação num ficheiro (texto ou binário); - Crie uma função que calcule a média de cada disciplina (tendo em conta o número de módulos) e a média total do curso com os dados fornecidos; - Escreva no ecrã de saída uma tabela com as disciplinas, classificações e respectivas médias, no fim da tabela deverá aparecer um nome, numero e curso e a respectiva média. Agradecia toda a ajuda possível porque eu nunca fui muito boa a programar e este programa esta a dar cabe de mim!! Fico a aguardar as vossas ajudas, obrigada!
  16. caio_leme

    CONTROLE DE ESTOQUE

    alguém pode me ajudar fazer esse código não estou conseguindo e é para entregar hoje Obrigado. http://www-di.inf.puc-rio.br/~bfeijo//prog2/FRIDAYs_Class_3_Ponteiros.pdf 2.Uma loja que comercializa peças de automóvel possui as seguintes informações de cada peça: código e classificação da peça. As peças são classificadas de acordo com a tabela abaixo que não deverá ser lida: Classificação Quantidade mínima em estoque Quantidade máxima em estoque 1 100 120 2 150 180 3 200 250 4 250 300 Faça um programa para processar as 100 peças comercializadas. Para cada peça, o programa deverá ler suas informações e exibir o seu código, a quantidade mínima e a quantidade máxima em estoque. Faça as seguintes funções: ✓ função classe ( ) → recebe como parâmetros a classificação da peça e guarda as quantidades mínima e máxima em estoque nas variáveis cujos endereços são fornecidos na chamada da função. ✓ função leitura ( ) → obtenção dos dados de uma peça. A função irá guardar os dados nas variáveis cujos endereços são fornecidos na chamada da função.
  17. Raquel Leal

    AJUDA

    Preciso de criar um programa mas estou com dificuldades em faze lo!! O programa é o seguinte, Crie um programa em c++ que mantenha as suas notas nos vários módulos das diferentes disciplinas com as seguintes características: - Peça a utilizador o nome de 5 disciplinas e quantos módulos tem cada disciplina e a respectiva classificação de cada módulo; - Guarde a informação num ficheiro (texto ou binário); - Crie uma função que calcule a média de cada disciplina (tendo em conta o número de módulos) e a média total do curso com os dados fornecidos; - Escreva no ecrã de saída uma tabela com as disciplinas, classificações e respectivas médias, no fim da tabela deverá aparecer um nome, numero e curso e a respectiva média. Agradecia toda a ajuda possível porque eu nunca fui muito boa a programar e este programa esta a dar cabe de mim!! Fico a aguardar as vossas ajudas, obrigada!
  18. Hedson

    Algoritmo de Cadastro e Busca

    Pessoal, saudações.... estou estudando C++ na faculdade e estou com muitos problemas pra conseguir executar um exercício que o professor me passou e que vale 20 % da minha nota... me ajudem, vejam só... eu tenho esse código que desenvolvi na aula e ele me falou que tenho que adaptar ele pra fazer funcionar como um emulador de player de música... desde já agradeço a atenção e dedicação de cada um que me ajudar #include<stdio.h> #include<stdlib.h> /*Com base no seu algoritmo em linguagem C, desenvolva um código que emule as características de um player de músicas sendo executado em modo texto, via prompt de comando. 1. Deve-se criar uma playlist das músicas utilizando uma lista encadeada. A lista encadeada poderá ser simples ou dupla, circular ou não circular. Fica a critério do aluno decidir. 2. Deve-se armazenar o nome de cada música, do artista/banda e a duração da faixa. Para o armazenamento utilize uma estrutura heterogênea de dados. 3. Para inserção dos dados, você pode criar uma leitura dos dados através de um menu na tela ou já deixá-los armazenados em um arquivo texto no seu computador e só carregar este arquivo ao executar o programa. Ou ambas soluções. Decida também como você irá implementar a inserção (no início, no fim ou no meio da lista encadeada); 4. Deve existir um menu na tela. Este menu deve permitir a inserção de novas músicas (caso optado pela inserção manual de dados), deve ter a opção de listar todas as músicas da playlist (listagem de uma lista encadeada) na tela e encerrar o programa; */ int menu(); void InserirInicio(int num); void InserirFim(int num); void InserirMeio(int num, int posicao); int Remover(int num); void Listar(); struct ElementoDaLista_Simples { int dado; struct ElementoDaLista_Simples *prox; } *Head; int main() { int op, num, pos, c; Head = NULL; while (1) { op = menu(); switch (op) { case 1: printf("Digite o numero desejado: "); scanf_s("%d", &num); while ((c = getchar()) != '\n' && c != EOF) {} // sempre limpe o buffer do teclado. InserirInicio(num); break; case 2: printf("Digite o numero desejado: "); scanf_s("%d", &num); while ((c = getchar()) != '\n' && c != EOF) {} // sempre limpe o buffer do teclado. InserirFim(num); break; case 3: printf("Digite o numero desejado: "); scanf_s("%d", &num); while ((c = getchar()) != '\n' && c != EOF) {} // sempre limpe o buffer do teclado. printf("Digite a posicao que deseja inserir: "); scanf_s("%d", &pos); while ((c = getchar()) != '\n' && c != EOF) {} // sempre limpe o buffer do teclado. InserirMeio(num, pos); break; case 4: int res; printf("Digite o numero a ser removido: "); scanf_s("%d", &num); while ((c = getchar()) != '\n' && c != EOF) {} // sempre limpe o buffer do teclado. res = Remover(num); if (res == 1) printf("Numero removido."); else printf("Numero nao encontrado."); break; case 5: Listar(); break; case 6: return 0; default: printf("Invalido\n"); } } return 0; } int menu() { int op, c; system("Cls"); printf("1.Inserir no inicio da lista encadeada simples\n"); printf("2.Inserir no fim da lista encadeada simples\n"); printf("3.Inserir no meio da lista encadeada simples\n"); printf("4.Remover da lista encadeada simples\n"); printf("5.Listar a lista encadeada simples\n"); printf("6.Sair\n"); printf("Digite sua escolha: "); scanf_s("%d", &op); while ((c = getchar()) != '\n' && c != EOF) {} // sempre limpe o buffer do teclado. system("Cls"); return op; } void InserirInicio(int num) { ElementoDaLista_Simples *NovoElemento; NovoElemento = (struct ElementoDaLista_Simples *)malloc(sizeof(struct ElementoDaLista_Simples)); NovoElemento->dado = num; if (Head == NULL) { Head = NovoElemento; Head->prox = NULL; } else { NovoElemento->prox = Head; Head = NovoElemento; } } void InserirFim(int num) { ElementoDaLista_Simples *NovoElemento; NovoElemento = (struct ElementoDaLista_Simples *)malloc(sizeof(struct ElementoDaLista_Simples)); ElementoDaLista_Simples *ElementoVarredura; ElementoVarredura = (struct ElementoDaLista_Simples *)malloc(sizeof(struct ElementoDaLista_Simples)); NovoElemento->dado = num; if (Head == NULL) { Head = NovoElemento; Head->prox = NULL; } else { ElementoVarredura = Head; while (ElementoVarredura->prox != NULL) ElementoVarredura = ElementoVarredura->prox; ElementoVarredura->prox = NovoElemento; NovoElemento->prox = NULL; } } void InserirMeio(int num, int posicao) { ElementoDaLista_Simples *NovoElemento; NovoElemento = (struct ElementoDaLista_Simples *)malloc(sizeof(struct ElementoDaLista_Simples)); ElementoDaLista_Simples *ElementoVarredura; ElementoVarredura = (struct ElementoDaLista_Simples *)malloc(sizeof(struct ElementoDaLista_Simples)); ElementoDaLista_Simples *ElementoAuxiliar; ElementoAuxiliar = (struct ElementoDaLista_Simples *)malloc(sizeof(struct ElementoDaLista_Simples)); NovoElemento->dado = num; if (posicao == 0) { Head = NovoElemento; Head->prox = NULL; } else { ElementoVarredura = Head; for (int i = 0; i < posicao - 1; i++) ElementoVarredura = ElementoVarredura->prox; ElementoAuxiliar = ElementoVarredura->prox; ElementoVarredura->prox = NovoElemento; NovoElemento->prox = ElementoAuxiliar; } } int Remover(int num) { ElementoDaLista_Simples *ElementoVarredura; ElementoVarredura = (struct ElementoDaLista_Simples *)malloc(sizeof(struct ElementoDaLista_Simples)); ElementoDaLista_Simples *Anterior; Anterior = (struct ElementoDaLista_Simples *)malloc(sizeof(struct ElementoDaLista_Simples)); ElementoVarredura = Head; while (ElementoVarredura != NULL) { if (ElementoVarredura->dado == num) { if (ElementoVarredura == Head) { Head = ElementoVarredura->prox; free(ElementoVarredura); return 1; } else { Anterior->prox = ElementoVarredura->prox ; free(ElementoVarredura); return 1; } } else { Anterior = ElementoVarredura; ElementoVarredura = ElementoVarredura->prox; } } return 0; } void Listar() { ElementoDaLista_Simples *ElementoVarredura; ElementoVarredura = (struct ElementoDaLista_Simples *)malloc(sizeof(struct ElementoDaLista_Simples)); ElementoVarredura = Head; if (ElementoVarredura == NULL) { return; } while (ElementoVarredura != NULL) { printf("%d ", ElementoVarredura->dado); ElementoVarredura = ElementoVarredura->prox; } printf("\n"); system("pause"); return; }
  19. Ola Malta! Sou nova na programação em POO e estou com um problema ha dias e não consigo resolver. Tenho um projecto da faculdade em POO e tanto o Codeblocks quanto o VS Code não reconhecem a classe que criei. Testei programas feitos pelo professor e também ocorre o mesmo erro. Será que alguém poderia ajudar-me sff? //DEFINIÇÃO MAIN() #include "M.h" #include "M.cpp" #include<stdio.h> int main() { int n,m,k,p; Matriz mat_a,mat_b,mat_c; printf("Introduza as dimensoes da matriz A",n,m); scanf("%d %d",&n,&m); printf("Introduza as dimensoes da matriz B",k,p); scanf("%d %d",&k,&p); //construção de objetos do tipo Matriz m_a=Matriz(n,m); m_b=Matriz(k,p); m_a.Leitura(); m_a.Leitura(); m_c=m_a; //possibilidade de somar if(mat_a.PodeSomar(&mat_b)) { mat_a += mat_b; printf("A matriz da soma [A] + [B] = \n"); mat_a.Escrita(); } else printf("Não é possível somar essas duas matrizes"); //possibilidade de multiplicar if(mat_c.PodeMultiplicar(&mat_b)) { mat_c *= mat_b; printf("O produto de [A] * [B] = \n"); mat_c.Escrita(); } else printf("Não é possível multiplicar essas duas matrizes"); } /**************************************************************************************************************************/ //DEFINIÇÃO DO FICHEIRO DA CLASSE.cpp #pragma once #include "M.h" #include <stdio.h> #define M_H_INCLUDED #ifndef M_H Matriz :: Matriz(int nLinhas, int nColunas) { Iniciar(nLinhas,nColunas); } Matriz::Matriz() { Iniciar(0,0); } Matriz::~Matriz() { Apagar(); } #endif /**************************************************************************************************************************/ //DEFINIÇÃO CLASSE MATRIZ COM AS OPERAÇÕES EM M_A E M_B #pragma once #include "M.cpp" #include "M.h" #define M_H_INCLUDED #ifndef M_H class Matriz{ private: int **matriz; int linhas; int colunas; void Apagar(); void Iniciar(int nLinhas, int nColunas); public: Matriz(); Matriz(int nLinhas,int NColunas); ~Matriz(); bool PodeMultiplicar(const Matriz*pm); bool PodeSomar(const Matriz*pm); const Matriz& operator =(const Matriz& m1); const Matriz& operator +=(const Matriz& m1); const Matriz& operator *=(const Matriz& m1); void Leitura(); void Escrita(); }; #endif O erro que ocorre é como se a Classe Matriz não representasse um tipo. Como se não tivesse definida então não há reconhecimento dos objectos criados. Tentei outros fóruns e um colega indicou-me este. Caso alguém possa ajudar-me agradeço imensamente.
  20. 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!
  21. NPires

    Help a um NOOB

    Boas noites a todos. Antes do mais queria dar os meu parabens pela optima informação existente neste forum. A minha questão é a seguinte: Tenho a necessidade de criar um soft em linux para leitura de matriculas com uma camara IP e com o apoio de uma base de dados MySql entre outros requisitos. O que já tenho ou já fiz: - Já criei a DB e um portal para consulta e introdução de dados. - Já tenho parte ( muito pouco ) do codigo em C++ para a ligação à CAM - ambos os testes a correr em Linux O que me falta: - fazer o stream de video passar pelo OCR (openCV) e fazer o reconhecimento de crateres - comparar o output com os valores da DB e mostra uma MSGBOX em caso de valor TRUE Gostava que me podessem ajudar. Volto a chamar à atenção que não sei programar em C++ e o que já fiz foi em QT Designer com apoio de alguns livros, videos de youtube, google e com alguns exemplos de download de outros programadores. Um muito obrigado Nuno Pires
  22. RuiCorreia

    Não consigo adiconar o nome na struct

    //NÃO ESTOU A CONSEGUIR O NOME À STRUCT , ALGUEM ME CONSEGUE AJUDAR? typedef struct Pessoa { int id_pessoa; char nome[100]; int idade; float peso; }PESSOA; //FUNÇÃO PARA PEDIR OS DADOS DA PESSOA PESSOA DadosPessoa(int nrpessoas) { PESSOA *pessoa = (PESSOA *)malloc(sizeof(struct Pessoa)); printf("\nID? "); scanf_s(" %d", &pessoa->id_pessoa); //printf("Nome? "); //scanf_s(" %s", pessoa->nome); //NÃO ESTÁ A ADICIONAR NA ESTRUTURA O NOME printf("Idade? "); scanf_s(" %d", &pessoa->idade); printf("Peso? "); scanf_s(" %f", &pessoa->peso); printf("-------------||------------||--------------\n"); return *pessoa; } void AdicionarPessoa(PESSOA *pessoa, int nrpessoas) { for (int i = 0; i < nrpessoas; i++) { *(pessoa + i) = DadosPessoa(nrpessoas); } } void MostrarPessoa(PESSOA *pessoa, int nrpessoas) { if (nrpessoas == 0) { printf("\nNao existe nenhuma pessoa inserida"); } else { int nrdapessoa; printf("\nID'S EXISTENTES: \n"); for (int i = 0; i < nrpessoas; i++) { printf("ID: %d |", (pessoa + i)->id_pessoa); } printf("\n-------------||------------||--------------"); printf("\nQual e o ID que deseja consultar?\n"); scanf_s("%d", &nrdapessoa); for (int i = 0; i < nrpessoas; i++) { if ((pessoa + i)->id_pessoa == nrdapessoa) { printf("ID: %d\n", (pessoa + i)->id_pessoa); //printf("NOME: %s \n", (pessoa + i)->nome); // NÃO ESTÁ A INSERIR LOGO NÃO MOSTRA printf("IDADE: %d anos\n", (pessoa + i)->idade); printf("PESO: %.2f Kg", (pessoa + i)->peso); } } } } void EditarPeso(PESSOA *pessoa,int nrpessoas){ //NÃO SEI SE É O MODO CORRETO , NEM SEI SE ASSIM FUNCIONA /* int nrdapessoa; float novopeso; printf("\nID'S EXISTENTES: \n"); for (int i = 0; i < nrpessoas; i++) { printf("ID: %d |", (pessoa + i)->id_pessoa); } printf("\nQual e o ID que deseja consultar?\n"); scanf_s("%d", &nrdapessoa); printf("Qual é o novo peso?"); scanf_s("%f", &novopeso); for (int i = 0; i < nrpessoas; i++) { if ((pessoa + i)->id_pessoa == nrdapessoa) { novopeso == (pessoa + i)->peso; } } */ } char Menu() { char opcao; do { printf("\n-------------||------------||--------------"); printf("\n1 - Adicionar Pessoa"); printf("\n2 - Editar Pessoa"); printf("\n3 - Apagar Pessoa"); printf("\n4 - Mostrar Pessoa"); printf("\n0 - Sair"); printf("\nOpcao?-> "); scanf_s(" %c", &opcao); printf("-------------||------------||--------------"); } while (opcao <'0' || opcao >'4'); return opcao; } int main() { PESSOA *pessoa = (PESSOA *)malloc(sizeof(struct Pessoa)); int nrpessoas=0; char opcao; do { opcao = Menu(); switch (opcao) { case '1': printf("\nNumero de pessoas? "); scanf_s("%d", &nrpessoas); printf("-------------||------------||--------------"); AdicionarPessoa(pessoa, nrpessoas); break; case '2': //EditarPeso(pessoa, nrpessoas); break; case '3': break; case '4': MostrarPessoa(pessoa, nrpessoas); break; } } while (opcao != '0'); return 0; }
  23. Boa tarde, estou a fazer um trabalho para a escola, que é para desenvolver um "site" escolar, onde crie unidades curriculares, cursos e o seu respetivo plano de estudo, criação de salas, e marcação de exames. Mas, O meu problema é o seguinte, tenho de escolher um dia e uma sala e ver a disponibilidade dessa sala durante o dia. Como faço isso? E também quero saber como procuro uma determinada palavra/string num documneto de texto através do dev c++ ??? Agradeço a vossa ajuda...
  24. NPires

    Como comparar value com BD MySQL

    Boas noites Gostava de vos colocar uma questão: Alguem sabe como posso comparar um valor de uma txtBox contra uma base de dados em mysql? txtBox(valor teste) -> comparar com uma base de dados -> if true -> msgBox information (valor txtBox ja existe ) obrigado NP
  25. Metalhead

    Ficheiros - Ignorar Linhas

    Boa tarde, Existe alguma forma específica de ignorar linhas num ficheiro usando o getline?
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.