Ir ao conteúdo
  • Cadastre-se

João Friatzsa

Membro Júnior
  • Posts

    11
  • Cadastrado em

  • Última visita

Reputação

11
  1. @devair1010 Não consegui entender o uso dessas variáveis, pra que elas servem? Ah, e posso usar vetor sim.
  2. Sem problema nenhum, talvez só não fique na tela toda da TV devido à resolução, mas tirando isso dá tranquilo.
  3. Estou fazendo um exercício que lê três nomes e os organiza em ordem alfabética, no primeiro algoritmo que fiz, recebia um erro incomum de else sem um if prévio, então resolvi começar o algoritmo do zero. Consegui rodar, porém agora o programa não exibe o primeiro nome, no segundo ele exibe alguns caracteres estranhos e só exibe o terceiro corretamente. O que pode ser isso? Meu código: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <locale.h> int main() { setlocale(LC_ALL,""); char nome1[30]; char nome2[30]; char nome3[30]; char P[30]; char S[30]; char T[30]; printf("Fale o primeiro nome: "); fgets(nome1, 30, stdin); printf("Fale o segundo nome: "); fgets(nome2, 30, stdin); printf("Fale o terceiro nome: "); fgets(nome3, 30, stdin); int pr = 0; int se = 0; int te = 0; if(strcmp(nome1, nome2) > 0 && strcmp(nome1, nome3) > 0) { strcpy(P, nome1); pr++; } else { if(strcmp(nome1, nome2) < 0 && strcmp(nome1, nome3) > 0 || strcmp(nome1, nome2) > 0 && strcmp(nome1, nome3) < 0) { strcpy(S, nome1); se++; } else { if(strcmp(nome1, nome2) < 0 && strcmp(nome1, nome3) < 0) { strcpy(T, nome1); te++; } else { if(pr == 0 && strcmp(nome2, nome3) > 0) { strcpy(P, nome2); pr++; } else { if(pr > 0 && strcmp(nome2, nome3) > 0) { strcpy(S, nome2); se++; } else { if(strcmp(nome2, nome1) < 0 && strcmp(nome2, nome3) < 0) { strcpy(T, nome2); te++; } else { if(pr == 0) { strcpy(P, nome3); pr++; } else { if(se == 0) { strcpy(S, nome3); se++; } else { if(te == 0) { strcpy(T, nome3); te++; } } } } } } } } } printf("Os nomes em ordem alfabética\n\n%s\n%s\n%s", P, S, T); return 0; }
  4. @iHollyZinhO @devair1010 Ah sim, não sabia disso, valeu.
  5. Estou fazendo programas-teste e quando tento compilar aparece o erro "error: invalid operands to binary % (have 'float' and 'int')" e nunca vi isso acontecer antes. Segue o código: #include <stdio.h> #include <stdlib.h> #include <locale.h> int main() { setlocale(LC_ALL,""); int i; float x; printf("Número: "); scanf("%d", &i); if (i % 2 == 0) { i = i; } else { i = i - 1; } x = i / 2; if (x % 2 == 0) { printf("%.2f", x); } return 0; }
  6. @devair1010 Cara, muito obrigado! Funcionou, até tinha tentado usar o fflush(stdin) mas antes do scanf da "escolha". Mas agora foi, valeuzão mesmo!
  7. @jbiribi Talvez seja a referência do tipo da variável que você tá dando pra inserir o valor da senha, que deveria ser: printf("Insira a senha numérica: "); scanf("%d", &senha);
  8. @devair1010 Então eu realmente não sei, de qualquer jeito vou torcer pra rodar quando for mostrar pro professor, mas de qualquer jeito, obrigado!
  9. @devair1010 Já tentei diversas vezes, mas sempre que eu tento, eu seleciono "1" pra dar input nas notas de Matemática e quando coloco a décima nota, o programa pula todas as outras partes e já termina com uns valores absurdos nas outras variáveis.
  10. Estava fazendo um algoritmo que meu professor pediu usando o DevC++, compilei e rodei o código tranquilamente, mas quando eu tento rodar o mesmo exato código pelo Code::Blocks ou compilo ele manualmente com o gcc pelo command prompt do Windows, o código age estranho e fica cheio de bug, alguém sabe o que pode estar acontecendo? O exercício é: "Receber as notas de 10 alunos de uma sala de aula nas respectivas matérias: matemática, português e física. Exibir na tela a nota de cada aluno em cada matéria, após isso calcular e apresentar a média das notas em cada matéria". Se alguém puder ajudar a ver se tem algo errado no meu código, segue o mesmo: #include <stdio.h> #include <stdlib.h> #include <locale.h> int main() { setlocale(LC_ALL,""); int mat[9]; int port[9]; int fiz[9]; int mediaM = 0, mediaP = 0, mediaF = 0; int escolha; int c, cx; for (cx = 0; cx <= 2; cx++) //loop para a escolha das três matérias { printf("Escolha a matéria que deseja informar as notas: \n"); printf("[1] - Matemática\n"); printf("[2] - Português\n"); printf("[3] - Física\n"); printf("=============="); printf("\n"); scanf("%d", &escolha); switch (escolha) { case 1: if(mediaM > 0) { printf("Já deu as notas dessa matéria, escolha outra!\n"); cx--; printf("\n"); } else { printf("Dê as notas: \n"); for(c = 0; c <= 9; c++) { scanf("%d", &mat[c]); } for(c = 0; c <= 9; c++) { mediaM = (mediaM + mat[c]); } mediaM = mediaM/10; } break; case 2: if(mediaP > 0) { printf("Já deu as notas dessa matéria, escolha outra!\n"); cx--; printf("\n"); } else { printf("Dê as notas: \n"); for(c = 0; c <= 9; c++) { scanf("%d", &port[c]); } for(c = 0; c <= 9; c++) { mediaP = (mediaP + port[c]); } mediaP = mediaP/10; } break; case 3: if(mediaF > 0) { printf("Já deu as notas dessa matéria, escolha outra!\n"); cx--; printf("\n"); } else { printf("Dê as notas: \n"); for(c = 0; c <= 9; c++) { scanf("%d", &fiz[c]); } for(c = 0; c <= 9; c++) { mediaF = (mediaF + fiz[c]); } mediaF = mediaF/10; } break; } } for(c = 0; c <= 9; c++) { printf("Nota do aluno %d em Matemática: %d\n", (c+1), mat[c]); } printf("\n"); for(c = 0; c <= 9; c++) { printf("Nota do aluno %d em Português: %d\n", (c+1), port[c]); } printf("\n"); for(c = 0; c <= 9; c++) { printf("Nota do aluno %d em Física: %d\n", (c+1), fiz[c]); } printf("\n"); printf("Média das matérias\n"); printf("Matemática: %d\n", mediaM); printf("Português: %d\n", mediaP); printf("Física: %d\n", mediaF); return 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

×
×
  • Criar novo...