Pesquisar na Comunidade
Mostrando resultados para as tags ''c e c++''.
Encontrado 2 registros
-
Estou tendo as seguintes dificuldades nesse algorítimo: 1 - na limpeza do buffer de memoria com o wile - na primeira pergunta com scanf ele traz uma sujeira do wiler antes de gerar a pergunta 2 - no for if, em vez do programa verificar cada item de cada um dos 5 apostadores, ele pega logo o primeiro apostador e pontua todos os outros com a pontuação desse apostador, logo é erro no laço 3 - ao final estou tendo dificuldade com o printf_s pois ao usar o %f ele não esta criando as duas casas decimais adequadas, pegando todas as casas decimais fica assim 100.00000000.2 segue abaixo o código agradeço o apoio para analise /* ("**************************************\n"); ("*Exercicio 2 *\n"); ("*Aluno: Antonio Maria Feitosa Souza *\n"); ("*RU: 2445802 *\n"); ("*Logica de Programação e Algoritimo *\n"); ("*Programa: Bolão *\n"); ("**************************************\n\n"); */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <locale.h> #include <conio.h> int main(void) { setlocale(LC_ALL, "Portuguese"); // Usando padrão portugues, acentos e virgulas // INICIANDO AS VARIAVEIS int ap11 = 0, ap12 = 0, ap21 = 0, ap22 = 0, ap31 = 0, ap32 = 0, ap41 = 0, ap42 = 0, ap51 = 0, ap52 = 0, r1 = 0, r2 = 0, pont1, pont2, pont3, pont4, pont5, pausa; char apost1[15], apost2[15], apost3[15], apost4[15], apost5[15], c; float valor1 = 0, valor2 = 0, valor3 = 0, valor4 = 0, valor5 = 0; // ENTRADA DE DADOS DOS APOSTADORES E DAS APOSTAS // APOSTADOR 1 printf("Digite o nome do primeiro apostador:\n"); gets_s(apost1); printf("Digite o placar dowhile ((c = getchar()) != '\n' && c != EOF) {} Time1: \n"); scanf_s("%d", &ap11); printf("Digite o placar do Time2: \n"); scanf_s("%d", &ap12); while ((c = getchar()) != '\n' && c != EOF) {} printf("Digite o valor da aposta : R$ "); scanf_s("%f", &valor1); while ((c = getchar()) != '\n' && c != EOF) {} // APOSTADOR 2 printf("Digite o nome do segundo apostador:\n"); gets_s(apost2); printf("Digite o placar do Time1: \n"); scanf_s("%d", &ap21); while ((c = getchar()) != '\n' && c != EOF) {} printf("Digite o placar do Time2: \n"); scanf_s("%d", &ap22); while ((c = getchar()) != '\n' && c != EOF) {} printf("Digite o valor da aposta : R$ "); scanf_s("%f", &valor2); while ((c = getchar()) != '\n' && c != EOF) {} // APOSTADOR 3 printf("Digite o nome do terceiro apostador:\n"); gets_s(apost3); printf("Digite o placar do Time1: \n"); scanf_s("%d", &ap31); while ((c = getchar()) != '\n' && c != EOF) {} printf("Digite o placar do Time2: \n"); scanf_s("%d", &ap32); while ((c = getchar()) != '\n' && c != EOF) {} printf("Digite o valor da aposta : R$ "); scanf_s("%f", &valor3); while ((c = getchar()) != '\n' && c != EOF) {} // APOSTADOR 4 printf("Digite o nome do quarto apostador:\n"); gets_s(apost4); printf("Digite o placar do Time1: \n"); scanf_s("%d", &ap41); while ((c = getchar()) != '\n' && c != EOF) {} printf("Digite o placar do Time2: \n"); scanf_s("%d", &ap42); while ((c = getchar()) != '\n' && c != EOF) {} printf("Digite o valor da aposta : R$ "); scanf_s("%f", &valor4); while ((c = getchar()) != '\n' && c != EOF) {} // APOSTADOR 5 printf("Digite o nome do quinto apostador:\n"); gets_s(apost5); printf("Digite o placar do Time1: \n"); scanf_s("%d", &ap51); while ((c = getchar()) != '\n' && c != EOF) {} printf("Digite o placar do Time2: \n"); scanf_s("%d", &ap52); while ((c = getchar()) != '\n' && c != EOF) {} printf("Digite o valor da aposta : R$ "); scanf_s("%f", &valor5); while ((c = getchar()) != '\n' && c != EOF) {} system("cls"); // LIMPANDO A TELA printf("Iniciando o Bolão \n"); printf("Informe o placar do Time1: \n"); scanf_s("%d", &r1); while ((c = getchar()) != '\n' && c != EOF) {} printf("Informe o placar do Timew2: \n"); scanf_s("%d", &r2); while ((c = getchar()) != '\n' && c != EOF) {} // Iniciando o processamento dos dados informados // VENCEDOR É O PRIMEIRO TIME for (int i = r1; i > r2; i--) { // NÃO ACERTOU O VENCEDOR E NEM O NUMERO DE GOLS DOS TIMES if (i < r2 &&((r1 != ap11 && r2 != ap12) || (r1 != ap21 && r2 != ap22) || (r1 != ap31 && r2 != ap32) || (r1 != ap41 && r2 != ap42) || (r1 != ap51 && r2 != ap52))) { pont1 = 0; pont2 = 0; pont3 = 0; pont4 = 0; pont5 = 0; } else { // NÃO ACERTOU O VENCEDOR if (i < r2 && ((i != ap11 && r2 == ap12) || (i != ap21 && r2 == ap22) || (i != ap31 && r2 == ap32) || (i != ap41 && r2 == ap42) || (i != ap51 && r2 == ap52))) { pont1 = 5; pont2 = 5; pont3 = 5; pont4 = 5; pont5 = 5; } else { // NÃO ACERTOU O VENCEDOR MAIS ACERTOU O NUMERO DE GOLS DO PRIMEIRO TIME. if (i < r1 && ((r1 == ap11 && r2 != ap12) || (r1 != ap21 && r2 == ap22) || (r1 != ap31 && r2 == ap32) || (r1 != ap41 && r2 == ap42) || (r1 != ap51 && r2 == ap52))) { pont1 = 5; pont2 = 5; pont3 = 5; pont4 = 5; pont5 = 5; } else { // ACERTOU O VENCEDOR MAIS NÃO ACERTOU O NUMERO DE GOLS DOS TIMES if ((r1 != ap11 && r2 != ap12) || (r1 != ap21 && r2 != ap22) || (r1 != ap31 && r2 != ap32) || (r1 != ap41 && r2 != ap42) || (r1 != ap51 && r2 != ap52)) { pont1 = 10; pont2 = 10; pont3 = 10; pont4 = 10; pont5 = 10; } // ACERTOU O VENCEDOR E APENAS O PLACAR DO 2 TIME if ((r1 == ap11 && r2 != ap12) || (r1 == ap21 && r2 != ap22) || (r1 == ap31 && r2 != ap32) || (r1 == ap41 && r2 != ap42) || (r1 == ap51 && r2 != ap52)) { pont1 = 15; pont2 = 15; pont3 = 15; pont4 = 15; pont5 = 15; } else { // ACERTOU O 1 VENCEDOR E O PLACAR DOS DOIS TIMES if ((r1 == ap11 && r2 == ap12) || (r1 == ap21 && r2 == ap22) || (r1 == ap31 && r2 == ap32) || (r1 == ap41 && r2 == ap42) || (r1 == ap51 && r2 == ap52)) { pont1 = 20; pont2 = 20; pont3 = 20; pont4 = 20; pont5 = 20; } } } } } } // VENCEDOR É O 2 TIME for (int i = r2; i > r1; i--) { // NÃO ACERTOU O VENCEDOR E NEM O NUMERO DE GOLS DOS TIMES if (i < r1 && ((r1 != ap11 && r2 != ap12) || (r1 != ap21 && r2 != ap22) || (r1 != ap31 && r2 != ap32) || (r1 != ap41 && r2 != ap42) || (r1 != ap51 && r2 != ap52))) { pont1 = 0; pont2 = 0; pont3 = 0; pont4 = 0; pont5 = 0; } else { // NÃO ACERTOU O VENCEDOR if (i < r1 && ((i != ap12 && r2 == ap11) || (i != ap22 && r2 == ap21) || (i != ap32 && r2 == ap31) || (i != ap42 && r2 == ap41) || (i != ap52 && r2 == ap51))) { pont1 = 5; pont2 = 5; pont3 = 5; pont4 = 5; pont5 = 5; } else { // NÃO ACERTOU O VENCEDOR MAIS ACERTOU O NUMERO DE GOLS DO PRIMEIRO TIME. if (i < r1 && ((r1 == ap11 && r2 != ap12) || (r1 != ap21 && r2 == ap22) || (r1 != ap31 && r2 == ap32) || (r1 != ap41 && r2 == ap42) || (r1 != ap51 && r2 == ap52))) { pont1 = 5; pont2 = 5; pont3 = 5; pont4 = 5; pont5 = 5; } else { // ACERTOU O VENCEDOR MAIS NÃO ACERTOU O NUMERO DE GOLS DOS TIMES if ((r1 != ap11 && r2 != ap12) || (r1 != ap21 && r2 != ap22) || (r1 != ap31 && r2 != ap32) || (r1 != ap41 && r2 != ap42) || (r1 != ap51 && r2 != ap52)) { pont1 = 10; pont2 = 10; pont3 = 10; pont4 = 10; pont5 = 10; } // ACERTOU O VENCEDOR E APENAS O PLACAR DO PRIMEIRO TIME TIME if ((r1 == ap11 && r2 != ap12) || (r1 == ap21 && r2 != ap22) || (r1 == ap31 && r2 != ap32) || (r1 == ap41 && r2 != ap42) || (r1 == ap51 && r2 != ap52)) { pont1 = 15; pont2 = 15; pont3 = 15; pont4 = 15; pont5 = 15; } else { // ACERTOU O 1 VENCEDOR E O PLACAR DOS DOIS TIMES if ((r1 == ap11 && r2 == ap12) || (r1 == ap21 && r2 == ap22) || (r1 == ap31 && r2 == ap32) || (r1 == ap41 && r2 == ap42) || (r1 == ap51 && r2 == ap52)) { pont1 = 20; pont2 = 20; pont3 = 20; pont4 = 20; pont5 = 20; } } } } } } // IMPRIMINDO OS RESULTADOS printf("Primeiro apostador:%s * ", apost1); printf("Valor da Aposto:%f.2 * ", valor1); printf("Pontos obtidos:%d * \n\n ", pont1); printf("Segundo apostador:%s * ", apost2); printf("Valor da Aposto:%f.2 * ", valor2); printf("Pontos obtidos:%d * \n\n ", pont2); printf("Terceiro apostador:%s * ", apost3); printf("Valor da Aposto:%f.2 * ", valor3); printf("Pontos obtidos:%d * \n\n ", pont3); printf("Quarto apostador:%s * ", apost4); printf("Valor da Aposto:%f.2 * ", valor4); printf("Pontos obtidos:%d * \n\n ", pont4); printf("Quinto apostador:%s * ", apost5); printf("Valor da Aposto:%f.2 * ", valor5); printf("Pontos obtidos:%d * \n\n ", pont5); scanf_s("%d", &pausa); system("pauser"); return 0; }
-
Estou tendo as seguintes dificuldades nesse algorítimo: 1 - na limpeza do buffer de memoria com o wile - na primeira pergunta com scanf ele traz uma sujeira do wiler antes de gerar a pergunta 2 - no for if, em vez do programa verificar cada item de cada um dos 5 apostadores, ele pega logo o primeiro apostador e pontua todos os outros com a pontuação desse apostador, logo é erro no laço 3 - ao final estou tendo dificuldade com o printf_s pois ao usar o %f ele não esta criando as duas casas decimais adequadas, pegando todas as casas decimais fica assim 100.00000000.2 segue abaixo o código agradeço o apoio para analise /* ("**************************************\n"); ("*Exercicio 2 *\n"); ("*Aluno: Antonio Maria Feitosa Souza *\n"); ("*RU: 2445802 *\n"); ("*Logica de Programação e Algoritimo *\n"); ("*Programa: Bolão *\n"); ("**************************************\n\n"); */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <locale.h> #include <conio.h> int main(void) { setlocale(LC_ALL, "Portuguese"); // Usando padrão portugues, acentos e virgulas // INICIANDO AS VARIAVEIS int ap11 = 0, ap12 = 0, ap21 = 0, ap22 = 0, ap31 = 0, ap32 = 0, ap41 = 0, ap42 = 0, ap51 = 0, ap52 = 0, r1 = 0, r2 = 0, pont1, pont2, pont3, pont4, pont5, pausa; char apost1[15], apost2[15], apost3[15], apost4[15], apost5[15], c; float valor1 = 0, valor2 = 0, valor3 = 0, valor4 = 0, valor5 = 0; // ENTRADA DE DADOS DOS APOSTADORES E DAS APOSTAS // APOSTADOR 1 printf("Digite o nome do primeiro apostador:\n"); gets_s(apost1); printf("Digite o placar dowhile ((c = getchar()) != '\n' && c != EOF) {} Time1: \n"); scanf_s("%d", &ap11); printf("Digite o placar do Time2: \n"); scanf_s("%d", &ap12); while ((c = getchar()) != '\n' && c != EOF) {} printf("Digite o valor da aposta : R$ "); scanf_s("%f", &valor1); while ((c = getchar()) != '\n' && c != EOF) {} // APOSTADOR 2 printf("Digite o nome do segundo apostador:\n"); gets_s(apost2); printf("Digite o placar do Time1: \n"); scanf_s("%d", &ap21); while ((c = getchar()) != '\n' && c != EOF) {} printf("Digite o placar do Time2: \n"); scanf_s("%d", &ap22); while ((c = getchar()) != '\n' && c != EOF) {} printf("Digite o valor da aposta : R$ "); scanf_s("%f", &valor2); while ((c = getchar()) != '\n' && c != EOF) {} // APOSTADOR 3 printf("Digite o nome do terceiro apostador:\n"); gets_s(apost3); printf("Digite o placar do Time1: \n"); scanf_s("%d", &ap31); while ((c = getchar()) != '\n' && c != EOF) {} printf("Digite o placar do Time2: \n"); scanf_s("%d", &ap32); while ((c = getchar()) != '\n' && c != EOF) {} printf("Digite o valor da aposta : R$ "); scanf_s("%f", &valor3); while ((c = getchar()) != '\n' && c != EOF) {} // APOSTADOR 4 printf("Digite o nome do quarto apostador:\n"); gets_s(apost4); printf("Digite o placar do Time1: \n"); scanf_s("%d", &ap41); while ((c = getchar()) != '\n' && c != EOF) {} printf("Digite o placar do Time2: \n"); scanf_s("%d", &ap42); while ((c = getchar()) != '\n' && c != EOF) {} printf("Digite o valor da aposta : R$ "); scanf_s("%f", &valor4); while ((c = getchar()) != '\n' && c != EOF) {} // APOSTADOR 5 printf("Digite o nome do quinto apostador:\n"); gets_s(apost5); printf("Digite o placar do Time1: \n"); scanf_s("%d", &ap51); while ((c = getchar()) != '\n' && c != EOF) {} printf("Digite o placar do Time2: \n"); scanf_s("%d", &ap52); while ((c = getchar()) != '\n' && c != EOF) {} printf("Digite o valor da aposta : R$ "); scanf_s("%f", &valor5); while ((c = getchar()) != '\n' && c != EOF) {} system("cls"); // LIMPANDO A TELA printf("Iniciando o Bolão \n"); printf("Informe o placar do Time1: \n"); scanf_s("%d", &r1); while ((c = getchar()) != '\n' && c != EOF) {} printf("Informe o placar do Timew2: \n"); scanf_s("%d", &r2); while ((c = getchar()) != '\n' && c != EOF) {} // Iniciando o processamento dos dados informados // VENCEDOR É O PRIMEIRO TIME for (int i = r1; i > r2; i--) { // NÃO ACERTOU O VENCEDOR E NEM O NUMERO DE GOLS DOS TIMES if (i < r2 &&((r1 != ap11 && r2 != ap12) || (r1 != ap21 && r2 != ap22) || (r1 != ap31 && r2 != ap32) || (r1 != ap41 && r2 != ap42) || (r1 != ap51 && r2 != ap52))) { pont1 = 0; pont2 = 0; pont3 = 0; pont4 = 0; pont5 = 0; } else { // NÃO ACERTOU O VENCEDOR if (i < r2 && ((i != ap11 && r2 == ap12) || (i != ap21 && r2 == ap22) || (i != ap31 && r2 == ap32) || (i != ap41 && r2 == ap42) || (i != ap51 && r2 == ap52))) { pont1 = 5; pont2 = 5; pont3 = 5; pont4 = 5; pont5 = 5; } else { // NÃO ACERTOU O VENCEDOR MAIS ACERTOU O NUMERO DE GOLS DO PRIMEIRO TIME. if (i < r1 && ((r1 == ap11 && r2 != ap12) || (r1 != ap21 && r2 == ap22) || (r1 != ap31 && r2 == ap32) || (r1 != ap41 && r2 == ap42) || (r1 != ap51 && r2 == ap52))) { pont1 = 5; pont2 = 5; pont3 = 5; pont4 = 5; pont5 = 5; } else { // ACERTOU O VENCEDOR MAIS NÃO ACERTOU O NUMERO DE GOLS DOS TIMES if ((r1 != ap11 && r2 != ap12) || (r1 != ap21 && r2 != ap22) || (r1 != ap31 && r2 != ap32) || (r1 != ap41 && r2 != ap42) || (r1 != ap51 && r2 != ap52)) { pont1 = 10; pont2 = 10; pont3 = 10; pont4 = 10; pont5 = 10; } // ACERTOU O VENCEDOR E APENAS O PLACAR DO 2 TIME if ((r1 == ap11 && r2 != ap12) || (r1 == ap21 && r2 != ap22) || (r1 == ap31 && r2 != ap32) || (r1 == ap41 && r2 != ap42) || (r1 == ap51 && r2 != ap52)) { pont1 = 15; pont2 = 15; pont3 = 15; pont4 = 15; pont5 = 15; } else { // ACERTOU O 1 VENCEDOR E O PLACAR DOS DOIS TIMES if ((r1 == ap11 && r2 == ap12) || (r1 == ap21 && r2 == ap22) || (r1 == ap31 && r2 == ap32) || (r1 == ap41 && r2 == ap42) || (r1 == ap51 && r2 == ap52)) { pont1 = 20; pont2 = 20; pont3 = 20; pont4 = 20; pont5 = 20; } } } } } } // VENCEDOR É O 2 TIME for (int i = r2; i > r1; i--) { // NÃO ACERTOU O VENCEDOR E NEM O NUMERO DE GOLS DOS TIMES if (i < r1 && ((r1 != ap11 && r2 != ap12) || (r1 != ap21 && r2 != ap22) || (r1 != ap31 && r2 != ap32) || (r1 != ap41 && r2 != ap42) || (r1 != ap51 && r2 != ap52))) { pont1 = 0; pont2 = 0; pont3 = 0; pont4 = 0; pont5 = 0; } else { // NÃO ACERTOU O VENCEDOR if (i < r1 && ((i != ap12 && r2 == ap11) || (i != ap22 && r2 == ap21) || (i != ap32 && r2 == ap31) || (i != ap42 && r2 == ap41) || (i != ap52 && r2 == ap51))) { pont1 = 5; pont2 = 5; pont3 = 5; pont4 = 5; pont5 = 5; } else { // NÃO ACERTOU O VENCEDOR MAIS ACERTOU O NUMERO DE GOLS DO PRIMEIRO TIME. if (i < r1 && ((r1 == ap11 && r2 != ap12) || (r1 != ap21 && r2 == ap22) || (r1 != ap31 && r2 == ap32) || (r1 != ap41 && r2 == ap42) || (r1 != ap51 && r2 == ap52))) { pont1 = 5; pont2 = 5; pont3 = 5; pont4 = 5; pont5 = 5; } else { // ACERTOU O VENCEDOR MAIS NÃO ACERTOU O NUMERO DE GOLS DOS TIMES if ((r1 != ap11 && r2 != ap12) || (r1 != ap21 && r2 != ap22) || (r1 != ap31 && r2 != ap32) || (r1 != ap41 && r2 != ap42) || (r1 != ap51 && r2 != ap52)) { pont1 = 10; pont2 = 10; pont3 = 10; pont4 = 10; pont5 = 10; } // ACERTOU O VENCEDOR E APENAS O PLACAR DO PRIMEIRO TIME TIME if ((r1 == ap11 && r2 != ap12) || (r1 == ap21 && r2 != ap22) || (r1 == ap31 && r2 != ap32) || (r1 == ap41 && r2 != ap42) || (r1 == ap51 && r2 != ap52)) { pont1 = 15; pont2 = 15; pont3 = 15; pont4 = 15; pont5 = 15; } else { // ACERTOU O 1 VENCEDOR E O PLACAR DOS DOIS TIMES if ((r1 == ap11 && r2 == ap12) || (r1 == ap21 && r2 == ap22) || (r1 == ap31 && r2 == ap32) || (r1 == ap41 && r2 == ap42) || (r1 == ap51 && r2 == ap52)) { pont1 = 20; pont2 = 20; pont3 = 20; pont4 = 20; pont5 = 20; } } } } } } // IMPRIMINDO OS RESULTADOS printf("Primeiro apostador:%s * ", apost1); printf("Valor da Aposto:%f.2 * ", valor1); printf("Pontos obtidos:%d * \n\n ", pont1); printf("Segundo apostador:%s * ", apost2); printf("Valor da Aposto:%f.2 * ", valor2); printf("Pontos obtidos:%d * \n\n ", pont2); printf("Terceiro apostador:%s * ", apost3); printf("Valor da Aposto:%f.2 * ", valor3); printf("Pontos obtidos:%d * \n\n ", pont3); printf("Quarto apostador:%s * ", apost4); printf("Valor da Aposto:%f.2 * ", valor4); printf("Pontos obtidos:%d * \n\n ", pont4); printf("Quinto apostador:%s * ", apost5); printf("Valor da Aposto:%f.2 * ", valor5); printf("Pontos obtidos:%d * \n\n ", pont5); scanf_s("%d", &pausa); system("pauser"); return 0; }