
Flávio Pedroza
Membro Pleno-
Posts
2.145 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que Flávio Pedroza postou
-
C# System.NullReferenceException: 'Referência de objeto não definida para uma instâ
Flávio Pedroza respondeu ao tópico de Angelo de Souza Neto em C/C#/C++
this.interfoneTableAdapter.Conferir(txtRamal.Text).ToString() Não o string, objeto é que null se this.interfoneTableAdapter.Conferir(txtRamal.Text) == NULL, e você chamar .ToString() vai gerar um exceção e a execução do programa vai pular para o catch. -
teste = exclui->proximo-1; teste->proximo = exclui->proximo; Não entendi muito bem o que você quis fazer neste trecho? Porque subtrai 1 do ponteiro?
-
C# System.NullReferenceException: 'Referência de objeto não definida para uma instâ
Flávio Pedroza respondeu ao tópico de Angelo de Souza Neto em C/C#/C++
"Quando a busca encontra algo, o código não da erro, mas quando é o retorno é null" Ora, se o retorno do metodo "Conferir(txtRamal.Text)" for null, é natural que der erro "System.NullReferenceException" quando você chama o método toString. você pode tratar esse caso no catch e mostrar uma messagem do tipo "Ramal Inexistente". Ou com if private void btEnviar_Click(object sender, EventArgs e) { try { resp = this.interfoneTableAdapter.Conferir(txtRamal.Text).ToString(); if (!String.IsNullOrEmpty(resp)) { MessageBox.Show("Este interfone já foi reportado por " + resp, "Aviso"); } else { ... } } catch (System.NullReferenceException ex) { MessageBox.Show("Este interfone não existe", "Erro"); } -
Preciso trocar de placa-mãe, preciso formatar o hd?
Flávio Pedroza respondeu ao tópico de Yuri.fernS em Placas-mãe
Acredito que sim. Ja troquei de placas com chipset diferentes (h61 para h110 - troquei até o processador) e mantive o mesmo sistema operacional. Conseguir dar boot e fazer o backup e posteriormente formatei. -
Preciso trocar de placa-mãe, preciso formatar o hd?
Flávio Pedroza respondeu ao tópico de Yuri.fernS em Placas-mãe
Não necessariamente, mas talvez o sistema fique instável. Caso perceba problemas de estabilidade, faça backup dos arquivos e formate. -
Nas duas tem aux->prox != NULL, mas acho que entendi. Veja se consegue entender pelo exemplo abaixo, com 3 nós. A condição é verificada antes de executar o que tem dentro do laço. Como pode ver, o laço com aux != NULL tem uma iteração a mais. Nós: No1 No1->prox = No2; No2->prox = No3; No3->prox=NULL; Inicio aux = No1 No. Interação | Verificar condição (aux->prox != NULL) | Executa imprima aux->valor? 1 | Falso | Sim, faça aux = No2 2 | Falso | Sim, faça aux = No3 3 | Verdadeiro (aux->prox = NULL) | NÃO Fim do laço Inicio aux = No1 No. Interação | Verificar condição (aux != NULL) | Executa imprima aux->valor? 1 | Falso | Sim, faça aux = No2 2 | Falso | Sim, faça aux = No3 3 | Falso | Sim, faça aux = NULL 4 | Verdadeiro (aux == NULL) | NÃO Fim do laço
-
Mostra um exemplo de código que dá erro.
-
A alocação permanece na memória até a próxima re-inicialização do sistema. Chamar free em uma variável que não foi previamente alocada na memória com malloc, calloc, etc. dará erro.
-
Não percebi diferença entre os dois trechos de código, me parecem exatamente iguais.
-
void addAluno(){ string nomeT; string codigo; vector<Aluno*> v_aluno; vector<Turma*> v_turma; (...) void addTurma(){ string nomeT; string codigo; vector<Aluno*> v_aluno; vector<Turma*> v_turma Esses vetores que você declarou são locais, só existem dentro do método. Após o fim do método, eles são deletados da memória. Bote eles como membros da class. você inclusive faz isso com o v_turma, mas declara novamente dentro do método, o que está errado. OBS.: Lembre-se que C++ não tem garbage collection ok? Para cada "new" você tem que chamar o "delete" correspondente, caso contrário você enche a memória.
-
float area_total(cilindro *c){ float at =0; //at = area_base(&c); //at += area_lateral(&c); at = area_base(c); at += area_lateral(c); return at; } //float (*p[4])(float r, float a) = {area_base,area_lateral,volume,area_total}; float (*p[4])(cilindro *c) = {area_base,area_lateral,volume,area_total}; printf("Digite o raio e a altura:\n"); scanf("%f%f", &raio, &alt); iniciar(&c,raio,alt); printf("Escolha uma operação de 0 a 3:\n"); scanf("%d", &e); resp = (*p[e])(&c); printf("%f", resp); system("pause"); return 0; } Encontrei estes erros no seu código.
-
#include <string.h> ... // NovoElemento->nome[TAMANHO] = v_nome; strcpy(NovoElemento->nome, v_nome); //NovoElemento->artista[TAMANHO] = v_artista; strcpy(NovoElemento->artista, v_artista); ... //printf("Nome da música: %c\n", ElementoVarredura->nome); printf("Nome da música: %s\n", ElementoVarredura->nome); //printf("Artista: %c\n", ElementoVarredura->artista); printf("Artista: %s\n", ElementoVarredura->artista); Achei esses erros no seu código.
-
C digitar sucessivamente valores positivos
Flávio Pedroza respondeu ao tópico de Galileu Rodrigues em C/C#/C++
#include<stdio.h> #include <stdlib.h> #include<math.h> /*Declaraçoes da função*/ float media (int n, float *vnotas); int main (void) { float vnotas[10]; float media_notas; int i; float numero =0; i = 0; while ((numero >= 0) && (i < 10)) { printf("Digite os valores das notas: "); scanf("%f", &numero); if (numero >= 0) { vnotas[i] = numero; i++; } } media_notas = media (i, vnotas); printf ( "\nMedia = %.1f \n", media_notas); system("pause"); return 0; } /* Função para cálculo da média */ float media (int n, float *vnotas) { int i; float m = 0, soma = 0; /* Somatorio das notas*/ for (i = 0; i < n; i++) soma = soma + vnotas[i]; /*dividindo para realizar a media*/ m = soma / n; return m; } -
C digitar sucessivamente valores positivos
Flávio Pedroza respondeu ao tópico de Galileu Rodrigues em C/C#/C++
i = 0; while ((numero >= 0) && (i < 10)) { printf("Digite os valores das notas: "); scanf("%f", &numero); if (numero >= 0) { vnotas[i]) = numero; i++; } } media_notas = media(i,vnotas); -
#include <stdio.h> #include <stdlib.h> int main(void) { char baseDadosMusicasTitulos[10][30] = {"Ring of fire", "Hurt", "Brianstorm", "Do me a favour", "Turn it again", "I walk the line", "Wet sand", "Aint no grave", "Riders in the sky", "The man comes around"}; int baseDadosMusicasCodificadas[10][40] = {{10,24,33,78,54,92,10,29,36,96,2,66,87,54,-1}, {57,33,20,2,99,87,120,33,69,87,41,1,97,41,23,127,17,-1}, {74,11,20,36,87,62,36,96,77,42,36,38,77,21,22,9,77,8,-1}, {1,22,74,56,98,125,37,32,75,99,2,3,40,-1}, {95,43,55,7,91,63,53,10,24,44,81,6,-1}, {87,64,28,33,40,41,94,72,63,104,99,115,33,-1}, {5,65,95,21,30,14,107,51,50,67,111,121,34,72,91,55,-1}, {64,63,22,78,18,99,21,123,4,95,9,42,32,14,17,52,-1}, {7,66,12,20,87,119,32,44,89,21,3,89,16,4,58,1,1,57,10,21,-1}, {17,10,13,1,7,23,36,54,124,100,32,20,27,89,66,32,-1}}; int NA,vet[10],i,j, k, vetm[10], count = 0; for (int i=0; i < 10; i++) { printf("Musica: %d.%s\n",i+1, baseDadosMusicasTitulos[i]); } printf("Digite o tamanho da amostra da musica:"); scanf("%d",&NA); for(i=0; i<NA; i++){ printf("Digite os numeros da amostra da musica:"); scanf("%d",&vet[i]); } for(i=0; i<10; i++){ for(j=0; j<30; j++){ count = 0; for(k=0; k<NA; k++){ if (vet[k] == baseDadosMusicasCodificadas[i][k+j]) { count++; } else break; } if (count == NA) break; //achou a musica } if (count == NA) break; } //if (vetm[10] == baseDadosMusicasCodificadas[10][40] && baseDadosMusicasTitulos[10][30]){ if (count == NA) printf("A musica econtrada e : %s" , baseDadosMusicasTitulos[i]); else printf("A musica nao foi encontrada"); return 0; }
-
C# Exercício em c# usando for, while e if else
Flávio Pedroza respondeu ao tópico de ronaldo201597 em C/C#/C++
Eu usuaria break também, mas caso não queira, uma alternativa: do { Console.Write("Digite um numero: "); num = Convert.ToInt32(Console.ReadLine()); if (num != 0) { if (num > 0) { quant_positivo++; } else if (num < 0) { quant_negativo++; } soma_geral = soma_geral + num; cont++; } } while ((num != 0) && (cont < 5)); Console.WriteLine("Media: {0}", (soma_geral / cont)); Console.WriteLine("Quantidade numeros positivos: {0}", quant_positivo); Console.WriteLine("Quantidade numeros negativos: {0}", quant_negativo); Console.WriteLine("Porcentagem negativos: {0}%", (quant_negativo / cont) * 100); Console.WriteLine("Porcentagem positivos: {0}%", (quant_positivo / cont) * 100); return cont; } } } -
C Problemas em C , armazenar varios valores diferentes e fazer a media aritimetica
Flávio Pedroza respondeu ao tópico de Noct64 em C/C#/C++
while(1){ vsal=salario; printf("Digite o salario:\n"); scanf("%f",&salario); soma+=salario;//soma=salario+vsal; aux+=salario; -
C Problemas em C , armazenar varios valores diferentes e fazer a media aritimetica
Flávio Pedroza respondeu ao tópico de Noct64 em C/C#/C++
soma+=salario; -
C Problemas em C , armazenar varios valores diferentes e fazer a media aritimetica
Flávio Pedroza respondeu ao tópico de Noct64 em C/C#/C++
Use as variáveis cont, cont1, cont2 e cont3 que você já declarou. Para cada faixa você incrementa uma diferente. Elas contam quantos funcionários tem em cada faixa salarial. ex.: if(salario<=1751.81) { inss=salario*0.08; printf("%.2f\n",inss); cont++; } else if(salario>=1751.82 && salario<=2919.72) { inss=salario*0.09; printf("%.2f\n",inss); cont1++; } etc. -
C Problemas em C , armazenar varios valores diferentes e fazer a media aritimetica
Flávio Pedroza respondeu ao tópico de Noct64 em C/C#/C++
você pode então não armazenar as informações digitadas, apenas os resultados: O programa abaixo lê os salários e soma até o usuário digitar um salário com valor menor ou igual a zero; #include <stdio.h> struct cadastrofuncionario { float salario,inss,bcalculo,aliquota,deducao,ir; int dependentes; }; cadastrofuncionario funcionario; float soma_salarios; int main() { do { printf ("Entre o salario:"); scanf ("%f", &funcionario.salario); fflush(stdin); if (funcionario.salario <=0) break; soma_salarios += funcionario.salario; } while (1); //calcule e mostre a media aqui } -
C Problemas em C , armazenar varios valores diferentes e fazer a media aritimetica
Flávio Pedroza respondeu ao tópico de Noct64 em C/C#/C++
O exemplo abaixo lê 5 salarios e soma o total na variável auxiliar soma_salarios. No final é só dividir por 5 para ter a média. Para o resto (média dependentes, IR, etc.) o princípio é o mesmo. #include <stdio.h> struct cadastrofuncionario { float salario,inss,bcalculo,aliquota,deducao,ir; int dependentes; }; cadastrofuncionario funcionarios[5]; float soma_salarios; int main() { for (int i=0; i < 5; i++) { printf ("Entre o salario:"); scanf ("%f", &funcionarios[i].salario); fflush(stdin); soma_salarios += funcionarios[i].salario; } //calcule e mostre a media aqui } -
C Problemas em C , armazenar varios valores diferentes e fazer a media aritimetica
Flávio Pedroza respondeu ao tópico de Noct64 em C/C#/C++
Fica mais fácil se você usar um estrutura e um array desta estrutura. struct cadastrofuncionario { float salario,inss,bcalculo,aliquota,deducao,ir; int dependentes; }; cadastrofuncionario funcionarios[30]; Coloquei 30, mas pode ser maior/menor. Depois de cadastrados todos os funcionários, você faz pode calcular as médias e outros parâmetros. -
C++ Armazenamento de dois dados diferentes em uma mesma variável
Flávio Pedroza respondeu ao tópico de Hiago Martins em C/C#/C++
Pode usar struct? struct tempumid { float temp; float umidade; }; tempumid a; -
Nobreak para PC, razão: Evitar desligamentos forçados
Flávio Pedroza respondeu ao tópico de Thalles Vieira Rodrigues em Fontes e energia
Acredito que o único problema de desligamento brusco e em relação aos dados do HD. Por exemplo, se ele desligar enquanto estiver atualizando o sistema operacional, pode corrompê-lo e ser necessário reeinstalar. Acho que não prejudica os componentes físicos. Obviamente, se a queda vier acompanhada de surtos de energia, antes ou depois, isso sim acarreta problemas. Por essa razão, recomendo usar um protetor de surtos Por fim, geralmente esses no-break mais baratinhos, até R$ 300, NÃO são compatíveis com sua fonte, que tem PFC ATIVO, pois eles não geram uma onda igual a da rede elérica. -
Primeiramente, contador tem que começar em zero e NÃO em um: int contador = 0; Continuando, quando você usa o fgets, tudo que é entrado faz parte da variável cmd01, inclusive o ENTER que você digita. Uma solução é suar scanf: printf("ht-C0mmand >> "); fflush(stdin); scanf("%s", cmd01); Porém, se quiser continuar usando o fgets, tem que remover o último caractere: printf("ht-C0mmand >> "); fflush(stdin); fgets(cmd01, 60, stdin); fgets[strlen(fgets) - 1] = '\0'; //remove o enter ('\n') Além disso, você tem que marca o fim da string SC: while(cmd01[contador] != '\0'){ //Aqui separar a string renomearDir e guarda na variavel SC SC[contador]=cmd01[contador]; contador++; } SC[contador]='\0';
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