
PedroCunha
Membros-
Total de itens
282 -
Registro em
-
Última visita
Tudo que PedroCunha postou
-
Ótimos tutoriais amigo. Logo vou me inscrever no seu canal. Att., Pedro
-
Procure na internet sobre manipulação de arquivos em C (ou C++ se for o seu caso). Att., Pedro
-
Mostre algum código que você tenha feito para que possamos lhe ajudar. Att. Pedro
-
Sei que não Dan e peço desculpas se te ofendi de alguma forma, é que como lhe disse, esse foi um caso especial, por isso a resolução do código. Outro caso em que faço os códigos é quando a pessoa que pediu não volta mais ao fórum, aí fico entediado e resolvo os exercícios.
-
Seja bem-vindo amigo! Qualquer dúvida é só perguntar. Tenho certeza que você irá ser bem recebido aqui no Fórum.
-
Sim. O temp é uma variável como qualquer outra. A razão de eu usar ele é que quando chego nessa parte do código: if (Numeros[i] > Numeros[i+1]) { int temp = Numeros[i]; Numeros[i] = Numeros[i+1]; Numeros[i+1] = temp; } Se eu não tivesse igualado o temp ao valor de Numeros eu perderia o valor de Numeros pois logo embaixo, eu igualo Numeros à Numeros[i+1] . Se eu não fizer isso, não vou ter o valor de Numeros armazenado, logo não vou poder comparar ele com o valor de Numeros[i+1] e ordenar o vetor. Entedeu?:D Att., Pedro
-
Obrigado pela defesa Ewerton. Continue tentando aprender. Só uma dica: veja se a grade do seu curso não está muito pesada para você, porque caso esteja, pode afetar seu desempenho. Att., Pedro
-
Aqui está um exemplo de como ordenar vetores: #include <iostream> using namespace std; int main() { int Numeros[4]; int a = 0; while (a < 4) { cin >> Numeros[a]; a++; } for (int j = 0; j < 3; j++) { for (int i = 0; i < 3; i++) { if (Numeros[i] > Numeros[i+1]) { int temp = Numeros[i]; Numeros[i] = Numeros[i+1]; Numeros[i+1] = temp; } } } cout << "\n\n"; for (int b = 0; b < 4; b++) { cout << Numeros[b] << endl; } return 0; } Analise a lógica e caso tenha qualquer dúvida, basta perguntar. Att., Pedro
-
Exercício nº 3 em C: #include <stdio.h> #include <stdlib.h> int Media_de_cada_aluno[5]; int Notas_das_Provas[2]; void Pergunta_Notas_e_Mostra_Media_de_Cada_Aluno(int Notas_das_Provas[2]) { int i; for (i = 0; i < 5; i++) { Notas_das_Provas[0] = 0; Notas_das_Provas[1] = 0; printf("Quais foram as notas do aluno %d\n", i+1); scanf("%d", Notas_das_Provas); fflush(stdin); scanf("%d", &Notas_das_Provas[1]); Media_de_cada_aluno[i] = (Notas_das_Provas[0] + Notas_das_Provas[1])/2; } } void Mostra_Aprovados_e_Reprovados(int Media_de_cada_aluno[5]) { int i; int Alunos_Aprovados = 0; for (i = 0; i < 5; i++) { if (Media_de_cada_aluno[i] >= 6) { Alunos_Aprovados++; } } printf("O numero de alunos aprovados foi %d\n", Alunos_Aprovados); } int main() { Pergunta_Notas_e_Mostra_Media_de_Cada_Aluno(Notas_das_Provas); Mostra_Aprovados_e_Reprovados(Media_de_cada_aluno); return 0; } Att., Pedro
-
ATENÇÃO Edit no primeiro código para correção de bugs na lógica. Att., Pedro
-
Eu sei que é C++. Eu sempre deixo claro isso. E quanto a fazer os códigos, fiz porque ele me pediu em PM e explicou os motivos e não porque quero dar tudo pronto; Att., Pedro
-
Eu usaria um for. Da seguinte forma: int i; for (i = 0; i < 10; i++) { Vetor3[i] = Vetor1[i] * Vetor2[i]; } Deve funcionar. Aviso que não testei. Att., Pedro
-
É um prazer ajudar os iniciantes, :D
-
Olá Ewerton. Aqui estão os exercícios (estão em C++, pois não sei C. Porém basta você observar a lógica e fazer as mudanças necessárias). 1º - VOLTA MAIS RÁPIDA E VOLTA MAIS LENTA #include <iostream> using namespace std; int Voltas[30]; int Horas[30], Minutos[30], Segundos[30]; int Volta_Mais_Rapida; int Volta_Mais_Lenta; int Horas_Volta_Mais_Rapida, Minutos_Volta_Mais_Rapida, Segundos_Volta_Mais_Rapida; int Horas_Volta_Mais_Lenta, Minutos_Volta_Mais_Lenta, Segundos_Volta_Mais_Lenta; void Perguntar_Tempo_de_Cada_Volta(int, int, int); void Mostrar_Tempo_Cada_Volta(int, int); void Perguntar_Tempo_de_Cada_Volta(int Horas[30], int Minutos[30], int Segundos[30]) { cout << "(Primeiro número de horas, depois minutos e por fim segundos)" << endl; cout << "Digite o tempo da volta nº 1" << endl; cin >> Horas[0] >> Minutos[0] >> Segundos[0]; Horas_Volta_Mais_Rapida = Horas[0]; Minutos_Volta_Mais_Rapida = Minutos[0]; Segundos_Volta_Mais_Rapida = Segundos[0]; Horas_Volta_Mais_Lenta = Horas[0]; Minutos_Volta_Mais_Lenta = Minutos[0]; Segundos_Volta_Mais_Lenta = Segundos[0]; for (int i = 1; i < 5; i++) { cout << "Digite o tempo da volta nº " << i+1 << endl; cin >> Horas[i] >> Minutos[i] >> Segundos[i]; cout << "\n"; if (Segundos[i] > 60) { Minutos[i] += Segundos[i]/60; Segundos[i] = Segundos[i] % 60; } if (Minutos[i] > 60) { Horas[i] += Minutos[i]/60; Minutos[i] = Minutos[i] % 60; } if (Horas[i] < Horas_Volta_Mais_Rapida) { Horas_Volta_Mais_Rapida = Horas[i]; Minutos_Volta_Mais_Rapida = Minutos[i]; Segundos_Volta_Mais_Rapida = Segundos[i]; } else if (Horas[i] > Horas_Volta_Mais_Rapida && Minutos[i] > Minutos_Volta_Mais_Rapida && Segundos[i] > Segundos_Volta_Mais_Rapida || Horas[i] == Horas_Volta_Mais_Rapida && Minutos[i] > Minutos_Volta_Mais_Rapida && Segundos[i] == Segundos_Volta_Mais_Rapida || Horas[i] == Horas_Volta_Mais_Rapida && Minutos[i] == Minutos_Volta_Mais_Rapida && Segundos[i] > Segundos_Volta_Mais_Rapida || Horas[i] > Horas_Volta_Mais_Rapida && Minutos[i] == Minutos_Volta_Mais_Rapida && Segundos[i] == Segundos_Volta_Mais_Rapida || Horas[i] > Horas_Volta_Mais_Rapida && Minutos[i] > Minutos_Volta_Mais_Rapida && Segundos[i] == Segundos_Volta_Mais_Rapida || Horas[i] > Horas_Volta_Mais_Rapida && Minutos[i] == Minutos_Volta_Mais_Rapida && Segundos[i] > Segundos_Volta_Mais_Rapida) { cout << "Certo" << endl; Horas_Volta_Mais_Lenta = Horas[i]; Minutos_Volta_Mais_Lenta = Minutos[i]; Segundos_Volta_Mais_Lenta = Segundos[i]; } else if (Horas[i] == Horas_Volta_Mais_Rapida && Minutos[i] < Minutos_Volta_Mais_Rapida ) { Horas_Volta_Mais_Rapida = Horas[i]; Minutos_Volta_Mais_Rapida = Minutos[i]; Segundos_Volta_Mais_Rapida = Segundos[i]; } else if (Horas[i] == Horas_Volta_Mais_Rapida && Minutos[i] == Minutos_Volta_Mais_Rapida && Segundos[i] < Segundos_Volta_Mais_Rapida) { Horas_Volta_Mais_Rapida = Horas[i]; Minutos_Volta_Mais_Rapida = Minutos[i]; Segundos_Volta_Mais_Rapida = Segundos[i]; } cout << Horas_Volta_Mais_Rapida << " " << Minutos_Volta_Mais_Rapida << " " << Segundos_Volta_Mais_Rapida << endl; cout << Horas_Volta_Mais_Lenta << " " << Minutos_Volta_Mais_Lenta << " " << Segundos_Volta_Mais_Lenta << endl; cin.sync(); } } void Mostrar_Tempo_Cada_Volta(int Volta_Mais_Rapida, int Volta_Mais_Lenta) { cout << "------------------VOLTA MAIS RÁPIDA-------------------" << endl; cout << "\n"; cout << Horas_Volta_Mais_Rapida << "h" << Minutos_Volta_Mais_Rapida << "min" << Segundos_Volta_Mais_Rapida << "seg" << endl; cout <<"\n"; cout << "------------------VOLTA MAIS RÁPIDA-------------------" << endl; cout << "\n"; cout << "------------------VOLTA MAIS LENTA-------------------" << endl; cout << "\n"; cout << Horas_Volta_Mais_Lenta << "h" << Minutos_Volta_Mais_Lenta << "min" << Segundos_Volta_Mais_Lenta << "seg" << endl; cout <<"\n"; cout << "------------------VOLTA MAIS LENTA-------------------" << endl; cout << "\n"; } int main() { setlocale(LC_ALL, "Portuguese"); Perguntar_Tempo_de_Cada_Volta(Horas, Minutos, Segundos); Mostrar_Tempo_Cada_Volta(Volta_Mais_Rapida, Volta_Mais_Lenta); cin.get(); return 0; } 2º - MÚLTIPLOS DE 10 e 3 #include <iostream> using namespace std; void Perguntar_Numeros_e_Determinar_Multiplos_de_3_e_10(int, int, int); int Numero; int Multiplos_de_10 = 0; int Multiplos_de_3 = 0; int Multiplos_de_10_e_3 = 0; int Numeros_Multiplos_de_10[50]; int Numeros_Multiplos_de_3[50]; int Numeros_Multiplos_de_10_e_3[50]; void Perguntar_Numeros_e_Determinar_Multiplos_de_3_e_10(int Numero, int Multiplos_de_10, int Multiplos_de_3) { while (Numero != 17) { cout << "Digite um número(17 para sair): " << endl; cin >> Numero; if (Numero % 10 == 0 && Numero % 3 == 0) { Numeros_Multiplos_de_10_e_3[Multiplos_de_10_e_3] = Numero; Numeros_Multiplos_de_3[Multiplos_de_3] = Numero; Numeros_Multiplos_de_10[Multiplos_de_10] = Numero; Multiplos_de_10++; Multiplos_de_3++; Multiplos_de_10_e_3++; } else if (Numero % 10 == 0 && Numero % 3 != 0) { Numeros_Multiplos_de_10[Multiplos_de_10] = Numero; Multiplos_de_10++; } else if (Numero % 3 == 0 && Numero % 10 != 0) { Numeros_Multiplos_de_3[Multiplos_de_3] = Numero; Multiplos_de_3++; } } cout << "\n\nDentre os números digitados, " << Multiplos_de_10 << " (é)são múltiplos de 10 e " << Multiplos_de_3 << " (é)são múltiplos de 3 e " << Multiplos_de_10_e_3 << " é(são) múltiplos de 10 e 3 ao mesmo tempo. " << endl << endl; cout << "Os múltiplos de 3 são:" << endl; for (int m = 0; m < Multiplos_de_3; m++) { cout << Numeros_Multiplos_de_3[m] << " "; } cout << endl << endl; cout << "Os múltiplos de 10 são:" << endl; for (int n = 0; n < Multiplos_de_10; n++) { cout << Numeros_Multiplos_de_10[n] << " "; } cout << endl << endl; cout << "Os múltiplos de 10 e 3 ao mesmo tempo são:" << endl; for (int o = 0; o < Multiplos_de_10_e_3; o++) { cout << Numeros_Multiplos_de_10_e_3[o] << " "; } cout << endl << endl; cin.get(); } int main() { setlocale(LC_ALL, "Portuguese"); Perguntar_Numeros_e_Determinar_Multiplos_de_3_e_10(Numero, Multiplos_de_10, Multiplos_de_3); return 0; } Att., Pedro
-
:D. Você usa o DevC++? Se for, o que acontece é que ele usa uma versão antiga do MinGW. Att., Pedro
-
Ótima iniciativa Thiago, :D. Att., Pedro
-
:D. Esse é o caminho Rocco! Att., Pedro
-
Ótima iniciativa Rocco! Isso é parte de muitos trabalhos de faculdade, :D. Att., Pedro
-
[#C] Ajude-me a converter esse progama [Obs: Tem que sacar muito de &q
pergunta respondeu ao Progamador - Joao de PedroCunha em C, C++
Se você conseguiu fazer o 1º programa, você consegue fazer o 2º. -
Dan, você pode ajudar ele a resolver esse exercício? Você sabe mais de C do que eu. Att., Pedro
-
Olha Thiago, você me pegou agora. C realmente não é meu forte, então não entendo muito bem sobre como escrever em arquivos em C, principalmente usando binários. Então o que posso fazer é te dar dicas de lógica. Na função de leitura, você provavelmente está passando algum parâmetro errado ou está se esquecendo de abrir e fechar o arquivo antes, ou passar o ponteiro para o início do arquivo, para ele poder ler todo o conteúdo. Na função de gravar, é provável que seja a mesma coisa. Sinto muito não poder ajudar mais; se fosse em C++, seus problemas estariam resolvidos, :(. Mas tenho certeza que logo logo algum expert em C aqui do fórum vem te ajudar. Qualquer dúvida referente à lógica fique a vontade para me perguntar e também para usar o código que te passei de base. Att., Pedro
-
Entendi. Olha, para deletar um nome, é um pouco complicado. O que eu fiz quando precisei fazer isso, e você pode ver neste link aqui PROGRAMA PARA CADASTRO foi criar um novo arquivo toda vez que eu queria alterar alguma coisa no arquivo antigo. Da seguinte forma: para o arquivo novo, usando um if (ou strcmp no seu caso) eu passava tudo do arquivo velho, menos o que seria deletado. E após fazer isso, renomeava o arquivo novo com o nome do arquivo velho e deletava o arquivo velho. Acho que deve funcionar para você. Dê uma olhada no link que postei e veja se entende a lógica do programa. É um programa de cadastro completo, e vai te ajudar muito. Qualquer dúvida, é só perguntar. A dica da ordenação funcionou? Att., Pedro
-
Sim. Provavelmente foi alguma mudança que você fez. Abra duas "abas" diferentes e coloque em uma o código antigo, funcional e na outra, coloque o novo código e compare os dois. Caso não dê certo, tente mudar o formato do arquivo para .txt, invés de .bin. Particularmente, acho mais fácil de manipular. Att., Pedro
-
Obrigado pelo ajuda. No momento estou meio ocupado, mas logo que puder te aviso, :D. Att., Pedro
-
Não procurei extensivamente sobre como instalar, mas já tentei sim. Mas como não uso muito de suas funções - colorir o texto, por exemplo - não vi necessidade de procurar muito sobre o assunto. E quando preciso colorir, normalmente uso a biblioteca do windows. Porém, acho que a sua opção é melhor, pois penso que a conio2.h não seja dependente do sistema operacional. Att., Pedro