Ir ao conteúdo
  • Cadastre-se

Flávio Pedroza

Membro Pleno
  • Posts

    2.074
  • Cadastrado em

  • Última visita

Tudo que Flávio Pedroza postou

  1. essa variável "ok" tem que ser uma variável de classe, publica ou privada. Se for privada, use uma função para ler o valor. class MainWindow : public QMainWindow { private: bool ok; public: bool IsOk() {return ok;} }; MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("localhost"); db.setDatabaseName("nomedadb"); db.setUserName("user"); db.setPassword("senha"); ok = db.open(); }
  2. Seria assim? public static void soma(ref int[] s, int[] v1, int[] v2) // Soma os dois valores { Console.WriteLine("------ SOMA -----"); for (int i = 0; i < 10; i++) { s[i] = v1[i] + v2[i]; Console.WriteLine(v1[i] + " + " + v2[i] + " = " + s1[i]); } Console.ReadKey(); } (...) //soma(ref s, v2); soma(ref s, v1, v2);
  3. Testei seu código em um compilador online e funcionou normal: sh: 1: color: not found Cada espectador de um cinema respondeu a um questionário no qual constava sua idade e a sua opinião em relação ao filme: ÓTIMO – 3, BOM – 2, 1-REGULAR. Faça um algoritmo que receba a idade e a opinião de 8 espectadores e que calcule e mostre: · A quantidade de pessoas que respondeu ÓTIMO; · A quantidade de pessoas que respondeu BOM; · A quantidade de pessoas que respondeu REGULAR; · A média das idades das pessoas que responderam ÓTIMO; · A média das idades das pessoas que responderam BOM; · A média das idades das pessoas que responderam REGULAR; sh: 1: pause: not found sh: 1: CLS: not found Digite a idade do entrevistado: 11 Digite a resposta do entrevistado (ÓTIMO – 3, BOM – 2, REGULAR - 1): 1 Digite a idade do entrevistado: 11 Digite a resposta do entrevistado (ÓTIMO – 3, BOM – 2, REGULAR - 1): 2 Digite a idade do entrevistado: 11 Digite a resposta do entrevistado (ÓTIMO – 3, BOM – 2, REGULAR - 1): 3 Digite a idade do entrevistado: 11 Digite a resposta do entrevistado (ÓTIMO – 3, BOM – 2, REGULAR - 1): 1 Digite a idade do entrevistado: 11 Digite a resposta do entrevistado (ÓTIMO – 3, BOM – 2, REGULAR - 1): 2 Digite a idade do entrevistado: 11 Digite a resposta do entrevistado (ÓTIMO – 3, BOM – 2, REGULAR - 1): 3 Digite a idade do entrevistado: 11 Digite a resposta do entrevistado (ÓTIMO – 3, BOM – 2, REGULAR - 1): 1 Digite a idade do entrevistado: 11 Digite a resposta do entrevistado (ÓTIMO – 3, BOM – 2, REGULAR - 1): 2 O número total de pessoas que responderam 'ÓTIMO' é: 2 O número total de pessoas que responderam 'BOM' é: 3 O número total de pessoas que responderam 'REGULAR' é: 3 A média das idades das pessoas que responderam 'ÓTIMO' é: 11 A média das idades das pessoas que responderam 'BOM' é: 11 sh: 1: pause: not found A média das idades das pessoas que responderam 'REGULAR' é: 11 O único problema que vejo é no caso de ninguém avaliar regular, ótimo ou bom, pois daria divisão por zero.
  4. Não encontrei erro. Tem um exemplo do problema que ocorre?
  5. As dimensões do QLABEL (358x238 ) estão menores do que as da imagem (360x240). Tente igualar.
  6. Quais valores você testou e qual resultado espera?
  7. #include <iostream> #include <sstream> using namespace std; double a = 5.75; double b = 1.25; ostringstream r; string s; int main() { r << "(" << a << "," << b << ")"; s = r.str(); cout<<s; return 0; }
  8. #include <stdio.h> #include <float.h> #include <math.h> int main (){ int N, i; float maiorx = 0, menorx = DBL_MAX, maiory = 0, menory = DBL_MAX, r, cx, cy; scanf("%d", &N); float x[100], y[100]; while(N!=0){ for(i = 0; i < N;i ++){ scanf("%f %f", &x[i], &y[i]); if (x[i] > maiorx) maiorx = x[i]; if (x[i] < menorx) menorx = x[i]; if (y[i] > maiory) maiory = y[i]; if (y[i] < menory) menory = y[i]; } cx = (maiorx + menorx) / 2; cy = (maiory + menory) / 2; r = sqrt((maiorx - cx) * (maiorx - cx) + (maiory - cy) * (maiory - cy)); printf("%.2f %.2f %.2f\n", cx, cy, r); scanf("%d", &N); } return 0; }
  9. Melhor que os produtos fiquem armazenados em um vetor: std:vector <Produtos> produtos; produtos.reserve(100);//opcional Acrescente essa linha: p.diferencial = int.Parse(Lidos[15]); produtos.push_back(p);//acrescentar essa linha você então ordena os produtos pelo código do produto class Produtos { public int pedido, serie, terminal, filial, produtos, calc, caixa, data, hora, diferencial; public double quantidade, quebra; public string estorno, devolucao, nulo, tipo bool operator() (Produtos p1, produtos p2) { return (p1.produtos<p2.produtos);}//acrescentar para ordenar os produtos pele cogido do produtos } std::sort(produtos.begin(), produtos.end()); //depois do while Então, varra o vector e vá somando os valores. Cada vez que o código do produto mudar você zera o contador int codigo = -1; int soma; for (std::vector<Produtos>::iterator it=produtos.begin(); it!=produtos.end(); ++it) { if (codigo != it.produtos) //o codigo do produto mudou { cout << "Produto" << codigo << ":" << soma; soma = 0; codigo = it.produtos; } soma += it.quantidade; } Isto é só uma ideia, não testei e pode ter alguns erros, mas o principio é esse. Veja se consegue implementar.
  10. "o grupo deverá selecionar três ou mais estruturas de dados" quais são as estruturas?
  11. #include <limits.h> int main() { int i, escolha = 10; int menos = INT_MAX, mais = 0; //mais = paciente.peso[i]; //menos = paciente.peso[i]; if(paciente.peso[i] > mais){ resultado.maisObeso = i; mais = paciente.peso[i]; } if(paciente.peso[i] < menos){ resultado.menosObeso = i; menos = paciente.peso[i]; }
  12. Tá lá no meus post string nome; getline(cin, ag.nome);
  13. Não recomendo misturar "c" e "c++". Se está programando em c++, não use scanf ou char[]. Use cin e string. Também não use as bibliotecas do "c". template <typename TIPO, int MAX> struct Agenda{ TIPO ID[MAX]={}, CPF[MAX]={}, Cel[MAX]={}, CNPJ[MAX]={},Empresa[MAX]={}, Tcomercial[MAX]={}; string nome; int quantidade; }; cout<<"NOME: "; getline(cin, ag.nome); cout<<ag.nome;
  14. veja se isto ajuda: http://geekycircle.blogspot.com/2014/03/adding-icon-to-dev-c-program.html#.XZea1oPwYdU
  15. Basta incluir esse fragmento de código no ".h" da biblioteca.
  16. Veja se é isso que queria: int main(){ int n1=0, n2=0 , rmdc = 0, rmod = 0, rpot = 0; char fim[] = "OOO"; char op[4]; while(1){ printf("Entre operação: "); scanf("%s",op); if (strcmp(op, fim) == 0) return 0; printf("Entre n1:"); scanf("%d",&n1); printf("Entre n2:"); scanf("%d",&n2); if (strcmp(op, "MDC") == 0) { rmdc = MDC(n1,n2); printf("MDC(%d,%d) = %d\n",n1,n2,rmdc); } else if (strcmp(op, "MOD") == 0) { rmod = MOD(n1,n2); printf("MOD(%d,%d) = %d\n",n1,n2,rmod); } else if (strcmp(op, "POT") == 0) { rpot = POT(n1,n2); printf("POT(%d,%d) = %d\n",n1,n2,rpot); } } }
  17. Não está certo. Para calcular a média você soma os elementos e divide pela quantidade de elementos: case 2: media = 0 for(it = numeros.begin(); it != numeros.end(), it++) { media += *it; } media = media / numeros.size(); cout << "A media é: " << media << enl; cout << "Pressione enter para continuar" << endl; cin.get(); break;
  18. Acredito que a forma abaixo esteja mais próxima do pedido no exercício. #include <vector> #include <iostream> using namespace std; int main(){ int x; string continuar; vector<int> numeros; numeros.size(); do{ cout << "Digite um numero: "; cin >> x; numeros.push_back(x); cout << "Deseja continuar? (s/n)"; cin >> continuar; }while(continuar == "s"); cout << "Saiu" << endl; int opcao; int soma; vector<int>::iterator it; do { cout << "Escolha a opção" << endl; cout <<"1: Imprimir o somatório de seus elementos" << endl; cout <<"2: Imprimir a média de seus elementos" << endl; cout <<"3: Imprimir a média e o somatório" << endl; cout <<"4: Substituir por zero todos os valores negativos e imprimir a média" << endl; cout <<"5: Substituir por zero todos os valores repetidos e imprimir a média e o somatório" << endl; cout<<"6: mostrar o vetor ordenado" << endl; cout <<"0: Sair da aplicação" << endl; cin >> opcao; cin.ignore(); switch (opcao) { case 1: // SOMA soma = 0; for (it = numeros.begin(); it != numeros.end(); it++) { soma += *it; } cout << "A soma é: " << soma << endl; cout << "Pressione enter para continuar" << endl; cin.get(); break; case 2: break; case 3: break; case 4: break; case 5: break; case 6: break; case 0: break; } } while (opcao != 0); cout << "Tchau!"; return 0; } Veja se consegue fazer o resto (média, ordenar, etc.).
  19. Não, são coisas completamente diferentes. switch/case é equivalente a condicionais if/else.
  20. sizeof retornar variável do tipo unsigned long, ou std::size_t em c++. São tipos de variáveis positivas que vão de zero até um valor máximo, nunca negativas. Quando você compara com números negativos, dá erro, pois o compilador vai transformar o número negativo no tipo sem sinal, ficando um número positivo com valor alto. Rode o exemplo abaixo para entender melhor. #include <iostream> using namespace std; int main() { int a = -1; //variável com sinal unsigned long b = 0;// variável sem sinal int c= 0;//variável com sinal if (a < b) cout << "a eh menor que b" << endl; //comparando signed com unsigned - erro! else cout << "erro???" << endl; if (a < c) cout << "a eh menor que c" << endl; //comparando signed com signed - ok! else cout << "erro???" << endl; //o que acontece quando transformo um tipo negativo em unsigned? cout << (unsigned long)a; return 0; } Em resumo, não compare números negativos com varáveis unsigned.
  21. Recursividade tem execução mais lenta é ocupa mais memória - não tem como evitar. Se isso é um problema, use laços então.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!