Ordem da Desordem

Seja bem-vindo. Smile
Registre-se ou faça Login para ter acesso completo ao fórum.

Participe do fórum, é rápido e fácil

Ordem da Desordem

Seja bem-vindo. Smile
Registre-se ou faça Login para ter acesso completo ao fórum.

Ordem da Desordem

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Ordem da Desordem

OdD > VSQS


2 participantes

    Problema em C

    avatar
    Convidado
    Convidado


    Problema em C Empty Problema em C

    Mensagem por Convidado 2010-09-17, 11:20 pm

    Alguem da um help nao sei oque ta errado nessa merda Sad.
    Tenho que faze um programa que recebe 10 votos e dizer quem ganhou,tem 3 candidatos

    Código:


    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>


    int main(){
        int serra=0,dilma=0,marina=0,g,c;  \* as variaveis serra, dilma e marina atribui valor 0 que funciona de contador de votos.
                                              A var g server pra pegar o numero do voto.E o c e o contador  qntas vezes vai se repetir  oque ta no for     


     for(c=0;c<10;c++){
            printf("Digite o numero candidato\n");
            scanf("%i",&g);                          \*aki começa o for e pede pro usuario digiter um numero se for 13 soma 1 na dilma se for 45 no serra e assim vai
                   
                    if(g==13)
            {
                    dilma++;
            }else
                  {
                        if(g==45)
                        { 
                                serra++;
                        }
                        else
                        {       
                              if(g==30)
                              {
                                  marina++;
                              }
                        }
                        } 
             
                if((dilma>serra) && (dilma>marina))  \*aqui começa outro if que nao esta dentro do for que serve pra ver quem ganho a eleiçao
                  {
                            printf("Dilma ganhou");
                  }
                  else
                  {   
                        if((serra>marina) && (serra>dilma))
                        {
                            printf("Serra Ganhou");
                        } 
                        else
                        {             
                            if((marina>serra) && (marina>dilma))
                            {
                            printf("Marina ganhou");}
                            }
                        }
                      }
    system("pause");
    }
     

    Dei uma explica no que os negocio faz, A o problema e que vc digita os votos e ele diz quem ganho direto sem fica repetindo.Como faz para nao aparecer "Pressione qualquer tecla para continuar".O clrscr(); nao funciona aqui oO

    Código:

    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>


    int main(){
        int serra=0,dilma=0,marina=0,g,c;
         
            for(c=0;c<10;c++){
            printf("Digite o nome candidato\n");
            scanf("%i",&g);
            system("cls");     
                    if(g==13)
            {
                    dilma++;
            }
                 
                        if(g==45)
                        { 
                                serra++;
                        }
                       
                             
                              if(g==30)
                              {
                                  marina++;
                              }
                          }
                                     
                  if((dilma>serra) && (dilma>marina))
                  {
                            printf("Dilma ganhou\n");
                  }
                 
                        if((serra>marina) && (serra>dilma))
                        {
                            printf("Serra Ganhou\n");
                        }     
                                 
                            if((marina>serra) && (marina>dilma))
                            {
                            printf("Marina ganhou\n");}
                            }

    Fiz assim tirei os else e o system pause,funciona mas nao printa o valor dpp q digita o voto 10x Sad.


    Última edição por AnyThing.~~ em 2010-09-18, 4:45 pm, editado 4 vez(es)
    avatar
    Convidado
    Convidado


    Problema em C Empty Re: Problema em C

    Mensagem por Convidado 2010-09-17, 11:23 pm

    c = 1 e depois c = 10? Cadâ a parte de c < 10?
    avatar
    Convidado
    Convidado


    Problema em C Empty Re: Problema em C

    Mensagem por Convidado 2010-09-17, 11:34 pm

    Axel Almar escreveu:c = 1 e depois c = 10? Cadâ a parte de c < 10?

    cara ja mudei ai ja tentei de td continua dando errado

    eu ja dexei

    for(c=0;c<10;c++)
    for(c=0;c=<10;c++)
    for(c=1;c<10;c++)
    avatar
    Convidado
    Convidado


    Problema em C Empty Re: Problema em C

    Mensagem por Convidado 2010-09-17, 11:41 pm

    Ah, achei outro erro, é "%d" para int, não "%i" no scanf.
    avatar
    Convidado
    Convidado


    Problema em C Empty Re: Problema em C

    Mensagem por Convidado 2010-09-18, 1:39 am

    Axel Almar escreveu:Ah, achei outro erro, é "%d" para int, não "%i" no scanf.


    i ou d tanto faz,diferença que d so mostra decimal.Nao influencia em nd
    avatar
    Convidado
    Convidado


    Problema em C Empty Re: Problema em C

    Mensagem por Convidado 2010-09-18, 2:01 am

    Ueh, me ensinaram que só podia por d em int.

    Bah, nem lembro mais, só tive vendo calculo esse último ano, esqueci tudo de prog. .-.

    No mais, o que o programa acusa de errado?
    avatar
    Convidado
    Convidado


    Problema em C Empty Re: Problema em C

    Mensagem por Convidado 2010-09-18, 5:41 am

    Problema em C 12842089788011

    Não estou com problemas, juro.
    avatar
    Convidado
    Convidado


    Problema em C Empty Re: Problema em C

    Mensagem por Convidado 2010-09-18, 6:31 am

    Nem sei, só vou aprender C este ano.
    avatar
    Convidado
    Convidado


    Problema em C Empty Re: Problema em C

    Mensagem por Convidado 2010-09-18, 7:15 am

    Programação é uma merda.
    avatar
    Convidado
    Convidado


    Problema em C Empty Re: Problema em C

    Mensagem por Convidado 2010-09-18, 7:28 am

    Aoshi sharpmind escreveu:Programação é uma merda.


    .|.
    avatar
    Convidado
    Convidado


    Problema em C Empty Re: Problema em C

    Mensagem por Convidado 2010-09-18, 9:42 am

    Também não sei, acabei de baixar uma video-aula de C e vou aprender esse ano também.
    Flame Alchemist
    Flame Alchemist
    God of Procrastination
    God of Procrastination


    MBTI : ENTP
    Mensagens : 2550
    Data de inscrição : 22/08/2009
    Idade : 34

    Problema em C Empty Re: Problema em C

    Mensagem por Flame Alchemist 2010-09-18, 10:39 am

    erm... Cade o retorno?
    Tipo, sao 10 votos?
    Tem que fazer a verificação DEPOIS de coletar os 10 votos
    Coloque mais uma variável 'CONTAGEM'
    Coloque um if else
    'if contagem!= 10
    {
    goto INICIO
    }
    else
    {
    if contagem==10
    {
    goto ETAPA2
    }
    '
    Ai no final de cada scan, depois de vc ter dado valor de input, vc coloca "contagem = contagem + 1"
    e no começo ja determine que o valor de contagem é = 0

    EDIT:

    Agora que vi o for D:

    EDIT2:

    Cade as chaves do FOR?


     

    _________________________  ▲▼ _________________________

     
    antes tarde duke nukem
    Nightmare Elf
    Nightmare Elf
    Admin OdD
    Admin OdD


    MBTI : INTJ
    Mensagens : 5728
    Data de inscrição : 22/08/2009

    Problema em C Empty Re: Problema em C

    Mensagem por Nightmare Elf 2010-09-18, 11:16 am

    não use GOTO


    sério


    NÃO USE GOTO


    1- faltou o retorno como o flame disse, mas pelo fato de ter o system pause, talvez n precise, sei la


    2- comente com codigos a cada bloco de codigo o que vc esta fazendo. do tipo, após um for, coloque /* FOR PARA PEGAR OS VOTOS */

    3-só depois de pegar os votos q vc roda akeles ifs. nao vi direito, mas eles estao dentro do for, nao?


    4- use o notepad++


     

    _________________________  ▲▼ _________________________

     
    Membro da panela dos que tinham dragões antes disso ser legal
    Problema em C OEEUwProblema em C 6sl9l



    OdD 1: Ascensão 22/08/2009 - 20/07/2011
    OdD 2: Queda 20/07/2011 - 22/03/2014
    OdD 3: Atendendo a pedidos - 22/03/2014+
    avatar
    Convidado
    Convidado


    Problema em C Empty Re: Problema em C

    Mensagem por Convidado 2010-09-18, 1:15 pm

    Lol, usar goto pra um programa desses é foda hein.
    Mas então, dá pra entender nada, tá todo errado o programa. Deixa os experts ai escreverem um bom.
    avatar
    Convidado
    Convidado


    Problema em C Empty Re: Problema em C

    Mensagem por Convidado 2010-09-18, 1:55 pm

    Nightmare Elf escreveu:não use GOTO


    sério


    NÃO USE GOTO


    1- faltou o retorno como o flame disse, mas pelo fato de ter o system pause, talvez n precise, sei la


    2- comente com codigos a cada bloco de codigo o que vc esta fazendo. do tipo, após um for, coloque /* FOR PARA PEGAR OS VOTOS */

    3-só depois de pegar os votos q vc roda akeles ifs. nao vi direito, mas eles estao dentro do for, nao?


    4- use o notepad++


    sim os 3 primeiros if estao dentro do for
    avatar
    Convidado
    Convidado


    Problema em C Empty Re: Problema em C

    Mensagem por Convidado 2010-09-18, 3:14 pm

    Onde vocês tão vendo GOTO aí?

    E nem precisa de retorno, nem tem função aí.

    Tenta reduzir essa quantidade else, normalmente é mais sensato você fazer um if para cada candidato.

    E para não aparecer "Pressione qualquer tecla para continuar", aí eu nem sei. Neutral
    Nightmare Elf
    Nightmare Elf
    Admin OdD
    Admin OdD


    MBTI : INTJ
    Mensagens : 5728
    Data de inscrição : 22/08/2009

    Problema em C Empty Re: Problema em C

    Mensagem por Nightmare Elf 2010-09-18, 3:50 pm

    Axel Almar escreveu:Onde vocês tão vendo GOTO aí?

    E nem precisa de retorno, nem tem função aí.

    Tenta reduzir essa quantidade else, normalmente é mais sensato você fazer um if para cada candidato.

    E para não aparecer "Pressione qualquer tecla para continuar", aí eu nem sei. Neutral

    go to foi o que o flame falou


    e como assim não tem função?

    int main (void)


     

    _________________________  ▲▼ _________________________

     
    Membro da panela dos que tinham dragões antes disso ser legal
    Problema em C OEEUwProblema em C 6sl9l



    OdD 1: Ascensão 22/08/2009 - 20/07/2011
    OdD 2: Queda 20/07/2011 - 22/03/2014
    OdD 3: Atendendo a pedidos - 22/03/2014+
    avatar
    Convidado
    Convidado


    Problema em C Empty Re: Problema em C

    Mensagem por Convidado 2010-09-18, 6:11 pm

    Lawl, main não precisa de retorno.

    Se bem que eu usava uma IDE, então não precisava botar return 0.

    Não sei como funciona em compiladores, mas acredito que também não precise.
    avatar
    Convidado
    Convidado


    Problema em C Empty Re: Problema em C

    Mensagem por Convidado 2010-09-18, 10:22 pm

    Olá!

    Faz tempo que não venho aqui, mas acabei de dar de cara em um tópico interessante. Very Happy

    Eu estou aprendendo C em "Algorítmos e programação" na faculdade, eu posso até fazer o programa pra você, pois preciso treinar, só não faço hoje porque ainda não expurguei o churras de ontem do meu curso na facul =P, sem ofensas, isso aí parece fácil(e é), mas posso te deixar uma dica, se quiser que o "pressione uma..." suma, use o comando system("pause>>null") da biblioteca "stdlib.h", como eu já disse, amanhã te deixo o algorítmo pronto, já que vou estar em casa mesmo e estarei atolado de coisas para estudar e isso significa o domingo e o feriado roubados pela engenharia. Razz

    Há, um edit.


    Nesse caso, procure usar

    system("pause>>null");
    return 0;


    no fim do programa, antes do último "}".
    Flame Alchemist
    Flame Alchemist
    God of Procrastination
    God of Procrastination


    MBTI : ENTP
    Mensagens : 2550
    Data de inscrição : 22/08/2009
    Idade : 34

    Problema em C Empty Re: Problema em C

    Mensagem por Flame Alchemist 2010-09-19, 9:52 am

    poxa, GOTO é algum tabu? Laughing

    Quando falo retorno, quis dizer contagem.
    E CADE A ABERTURA DAS CHAVES DO FOR?

    Abraços.


     

    _________________________  ▲▼ _________________________

     
    antes tarde duke nukem
    avatar
    Convidado
    Convidado


    Problema em C Empty Re: Problema em C

    Mensagem por Convidado 2010-09-19, 1:30 pm

    Código:
    #include <stdio.h>
    #include <stdlib.h>

    int main()
    {
      int dilma=0, serra=0, marina=0, c;
      char n;
     
      for(c=0; c<10; c++)           
                      {
                      printf("\nDigite o numero do candidato:\n");
                      printf("\n(1)Serra");
                      printf("\n(2)Dilma");
                      printf("\n(3)Marina\n");
                      fflush(stdin); //comando geralmente usado antes de switch com char, para "limpar" o teclado.
                      scanf("%c", &n);
                      switch(n)
                                {
                                case '1': serra=serra+1;
                                break;
                                case '2': dilma=dilma+1;
                                break;
                                case '3': marina=marina+1;
                                break;
                                default: printf("\nDigite um número válido.\n"); //Default usado para executar algo caso seja lido qualquer coisa fora do esperado.
                                c=c-1; //Caso o usuário tenha digitado algum valor inválido, essa linha impede que o FOR adicione "mais um" a variável contadora "c".       
                                }
                      }
     if ((serra>dilma) && (serra>marina)) //Aqui começa uma série de if's para determinar o resultado.
      {
        printf("\nCandidato:  Votos:\n");
        printf("\nSerra          %d", serra);
        printf("\nDilma          %d", dilma);
        printf("\nMarina        %d", marina);
        printf("\n\nSerra venceu.");
      }
     else if ((serra>dilma) && (serra==marina))
            {
            printf("\nCandidato:  Votos:\n");
            printf("\nSerra          %d", serra);
            printf("\nDilma          %d", dilma);
            printf("\nMarina        %d", marina);
            printf("\n\nHouve um empate entre Serra e Marina.");
            }
          else if ((dilma>serra) && (dilma>marina))
                {
                  printf("\nCandidato:  Votos:\n");
                  printf("\nSerra          %d", serra);
                  printf("\nDilma          %d", dilma);
                  printf("\nMarina        %d", marina);
                  printf("\n\nDilma ganhou.");
                }
              else if ((dilma>serra) && (dilma==marina))
                      {
                      printf("\nCandidato:  Votos:\n");
                      printf("\nSerra          %d", serra);
                      printf("\nDilma          %d", dilma);
                      printf("\nMarina        %d", marina);
                      printf("\n\nHouve um empate entre Dilma e Marina.");
                      }
                    else if ((marina>serra) && (marina>dilma))
                          {
                            printf("\nCandidato:  Votos:\n");
                            printf("\nSerra          %d", serra);
                            printf("\nDilma          %d", dilma);
                            printf("\nMarina        %d", marina);
                            printf("\n\nMarina ganhou.");
                          }             
                        else if (serra==dilma)
                                {
                                printf("\nCandidato:  Votos:\n");
                                printf("\nSerra          %d", serra);
                                printf("\nDilma          %d", dilma);
                                printf("\nMarina        %d", marina);
                                printf("\n\nHouve um empate entre Serra e Dilma."); 
                                }
                                 
     system("pause>>null");
     return 0; 
    }


    Bom cara, acho que já está pronto, qualquer dúvida é só perguntar, e se alguem viu algum erro ,avise, mas o programa está pronto, com validações, comentários e etc.
    avatar
    Convidado
    Convidado


    Problema em C Empty Re: Problema em C

    Mensagem por Convidado 2010-09-19, 6:31 pm

    Nerf escreveu:
    Código:
    #include <stdio.h>
    #include <stdlib.h>

    int main()
    {
      int dilma=0, serra=0, marina=0, c;
      char n;
     
      for(c=0; c<10; c++)           
                      {
                      printf("\nDigite o numero do candidato:\n");
                      printf("\n(1)Serra");
                      printf("\n(2)Dilma");
                      printf("\n(3)Marina\n");
                      fflush(stdin); //comando geralmente usado antes de switch com char, para "limpar" o teclado.
                      scanf("%c", &n);
                      switch(n)
                                {
                                case '1': serra=serra+1;
                                break;
                                case '2': dilma=dilma+1;
                                break;
                                case '3': marina=marina+1;
                                break;
                                default: printf("\nDigite um número válido.\n"); //Default usado para executar algo caso seja lido qualquer coisa fora do esperado.
                                c=c-1; //Caso o usuário tenha digitado algum valor inválido, essa linha impede que o FOR adicione "mais um" a variável contadora "c".       
                                }
                      }
     if ((serra>dilma) && (serra>marina)) //Aqui começa uma série de if's para determinar o resultado.
      {
        printf("\nCandidato:  Votos:\n");
        printf("\nSerra          %d", serra);
        printf("\nDilma          %d", dilma);
        printf("\nMarina        %d", marina);
        printf("\n\nSerra venceu.");
      }
     else if ((serra>dilma) && (serra==marina))
            {
            printf("\nCandidato:  Votos:\n");
            printf("\nSerra          %d", serra);
            printf("\nDilma          %d", dilma);
            printf("\nMarina        %d", marina);
            printf("\n\nHouve um empate entre Serra e Marina.");
            }
          else if ((dilma>serra) && (dilma>marina))
                {
                  printf("\nCandidato:  Votos:\n");
                  printf("\nSerra          %d", serra);
                  printf("\nDilma          %d", dilma);
                  printf("\nMarina        %d", marina);
                  printf("\n\nDilma ganhou.");
                }
              else if ((dilma>serra) && (dilma==marina))
                      {
                      printf("\nCandidato:  Votos:\n");
                      printf("\nSerra          %d", serra);
                      printf("\nDilma          %d", dilma);
                      printf("\nMarina        %d", marina);
                      printf("\n\nHouve um empate entre Dilma e Marina.");
                      }
                    else if ((marina>serra) && (marina>dilma))
                          {
                            printf("\nCandidato:  Votos:\n");
                            printf("\nSerra          %d", serra);
                            printf("\nDilma          %d", dilma);
                            printf("\nMarina        %d", marina);
                            printf("\n\nMarina ganhou.");
                          }             
                        else if (serra==dilma)
                                {
                                printf("\nCandidato:  Votos:\n");
                                printf("\nSerra          %d", serra);
                                printf("\nDilma          %d", dilma);
                                printf("\nMarina        %d", marina);
                                printf("\n\nHouve um empate entre Serra e Dilma."); 
                                }
                                 
     system("pause>>null");
     return 0; 
    }


    Bom cara, acho que já está pronto, qualquer dúvida é só perguntar, e se alguem viu algum erro ,avise, mas o programa está pronto, com validações, comentários e etc.


    EU ainda nao aprendi usa o switch :/ vlw s2
    avatar
    Convidado
    Convidado


    Problema em C Empty Re: Problema em C

    Mensagem por Convidado 2010-09-20, 4:29 pm

    Caramba... só os garotos de programa nesse fórum.

    Nem manjo C, se fosse algo orientado a objeto eu até ajudava.
    avatar
    Convidado
    Convidado


    Problema em C Empty Re: Problema em C

    Mensagem por Convidado 2010-09-20, 6:49 pm

    Já que o pessoal aqui é afiado em C, venho humildemente pedir Socorro.

    meu problema é uma árvore.
    De tamanho indefinido e quantidade de filhos indefinidos.
    A questão é: preciso imprimir alinhado no CMD.

    pois é...
    gotoxy...
    uma biblioteca para fazer as caixinhas e as "linhas" que conectam filho com pai.

    A estrutura eu fiz tranquilo.
    Porem no momento da impressão fico com um nó na cabeça pois não faço idéia como vou tratar números que colidem por causa do gotoxy...

    Alguem ai tem uma idéia?
    avatar
    Convidado
    Convidado


    Problema em C Empty Re: Problema em C

    Mensagem por Convidado 2010-09-21, 4:44 pm

    Tem que colocar o

    Código:

    if((Tenente do Lula>Mr. Burns) && (Tenente do Lula>marina))  \*aqui começa outro if que nao esta dentro do for que serve pra ver quem ganho a eleiçao
                  {
                            printf("Tenente do Lula ganhou");
                  }
                  else
                  { 
                        if((Mr. Burns>marina) && (Mr. Burns>Tenente do Lula))
                        {
                            printf("Mr. Burns Ganhou");
                        }
                        else
                        {           
                            if((marina>Mr. Burns) && (marina>Tenente do Lula))
                            {
                            printf("Marina ganhou");}
                            }
                        }
                      }
    system("pause");

    Fora do FOR

    avatar
    Convidado
    Convidado


    Problema em C Empty Re: Problema em C

    Mensagem por Convidado 2010-09-21, 10:55 pm

    /\Por quê?

    O programa rodou perfeitinho. tongue
    avatar
    Convidado
    Convidado


    Problema em C Empty Re: Problema em C

    Mensagem por Convidado 2010-09-22, 1:27 pm

    O seu código tá certo, mas pro código do criador do tópico ficar certo, basta fazer isso que eu disse.

    Conteúdo patrocinado


    Problema em C Empty Re: Problema em C

    Mensagem por Conteúdo patrocinado


      Data/hora atual: 2024-05-02, 6:53 am