Jump to content
Fórum Script Brasil
  • 0

Ajuda p/ iniciante


Question

Olá gente, estou com dificuldades de passar meu programa de português estruturado, para C, pois é a primeira vez que começamos a usar C.

Estou com o seguinte erro para passar esta parte do port. estruturado.

#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <math.h>

void main(void)
     
     int cont = 0
     int jogos [12]
     int aposta [12]
     int x, m, n, p, pontos;

ESTES ERROS:

8 expected init-declarator before "int"

8 expected `,' or `;' before "int"

Link to post
Share on other sites

5 answers to this question

Recommended Posts

  • 0

em c, as instrucoes são separadas por ponto e virgula. você tem q por um ";" no final de cada instrucao:

int cont = 0;
int jogos [12];
int aposta [12];
int x, m, n, p, pontos;[/code]

e tb, não sei qual compilador você usa, mas normalmente o main() é declarado como int. se ele não aceitar o seu main() como void, mude pra int.

Link to post
Share on other sites
  • 0

Eu estou usando o Dev-C++

Estou tentando converter do português estruturado p/ o C, somente com apostilas, estou com muitas dificuldades, quando vou compilar dá muitos erros, logo em seguida irei postar o código.

#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <math.h>
 int main()
{
     int cont = 0;
     int jogos [12];
     int aposta [12];
     int x, m, n, p, pontos;
     
     void gotoxy(int x, int y)
{
   SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),(COORD){x-1,y-1});
}  

main(void)
{
          gotoxy(2,10)
          printf ("Acrescente os valores para a aposta:")
          gotoxy(3,10)
          printf ("BRA                   x               PRK")
          gotoxy(4,10)
          printf ("CIV                   x               POR")
          gotoxy(5,10)
          printf ("BRA                   x               CIV")
          gotoxy(6,10)
          printf ("POR                   x               PRK")
          gotoxy(7,10)
          printf ("PRK                   x               CIV")
          gotoxy(8,10)
          printf ("POR                   x               BRA")
          gotoxy(10,10)
          printf ("Legenda:")
          gotoxy(11,12)
          printf ("BRA: Brasil")
          gotoxy(12,12)
          printf ("CIV: Costa do Marfim")
          gotoxy(13,12)
          printf ("POR: Portugal")
          gotoxy(14,12)
          printf ("PRK: Coreia do Norte")
          m=0
          x=1
          for (x=1; x<=12; x++)
          if (x=1)
          gotoxy(3,15)
          scanf ("%f, &n)
          aposta [x]=n
          m=m+1

muitos erros até aqui, este programa é pra simular um bolão dos grupos da COPA.

Edited by Ceemer
Link to post
Share on other sites
  • 0
ngm pode me dar umas dicas ai?

mano você bateu o recorde. num faz nem uma hora e dez desdo ultimo post e você já ta upando o tópico. ainda por cima num domingo a tarde.

as pessoas não ficam acessando o forum a cada minuto, tem q ter paciencia e se ficar upando tópico, alem de levar alert, você corre o risco de irritar os usuarios e eles desistirem de te responder.

então, tenha sempre calma, beleza?? se alguém sober te ajudar, logo alguém responde.

mas quanto ao seu codigo, faltou o ponto e virgula em praticamente todas as linhas, como eu disse, você tem q por um ";" no final de cada isntrucao.

e tem ainda mtos erros. faltou fechar uma aspa no scanf(), e faltou abrir as chaves no for e no if.

exemplo:

if ([condicao])
{
    [ponha aqui dentro o q você quer q ocorra caso a condicao for verdadeira]
}[/code] veja q seu if e seu for ficaram sem chaves. a tb o gotoxy não pode estar definido dentro do main(), ponha a definicao antes de abri-lo. e se você define o array com 12 posicoes, o range é de 0 a 11, e você fez o for de 1 a 12. e você declarou o n como int, mas ta lendo com "%f". "%f" é so pra float, pra int use "%d". tb no if, você ta comparando o x com 1 usando o "=". mas em c, "=" significa atribuicao. comparacao de igualdade seria "==":
[code]if (x == 1)

e pra terminar, faltou fechar o main() com um "}", mas não sei se isso foi so na hora de postar aqui.

bom, foram esses os erros q consegui achar. mas so olhei a sintaxe, não procurei erro de logica, tb porque nem sei o q você quer fazer.

mas tenta corrigir esses erros ai e qualquer coisa poste.

EDITADO:

percebi agora tb q você ta abrindo o main() dentro de outro main(). da uma olhada ai, um programa não pode ter dois main(). menos ainda se um ta dentro do outro.

Edited by kuroi
Link to post
Share on other sites
  • 0

#include<stdio.h>
#include<conio.h>
#include<windows.h>
#include<conio2.h>

void gotoxy(int x, int y)
{
   SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),(COORD){x-1,y-1});
}  

main(void)
{
  int jogo[12];
  int aposta[12];
  int x, m, n, p, pontos;
  {
    clrscr();
    gotoxy(2,10);
    printf("Acrescente os valores para a aposta:");
    gotoxy(3,10);
    printf("BRA     X     PRK");
    gotoxy(4,10);
    printf("CIV     X     POR");
    gotoxy(5,10);
    printf("BRA     X     CIV");
    gotoxy(6,10);
    printf("POR     X     PRK");
    gotoxy(7,10);
    printf("PRK     X     CIV");
    gotoxy(8,10);
    printf("POR     X     BRA");
    gotoxy(10,10);
    printf("Legenda:");
    gotoxy(11,12);
    printf("BRA: Brasil");
    gotoxy(12,12);
    printf("CIV: Costa do Marfim");
    gotoxy(13,12);
    printf("POR: Portugal");
    gotoxy(14,12);
    printf("PRK: Coreia do Norte");
    m=0;
    x=1;
    for (x=1; x<=12; x++)
    {
        if (x==1)
        {
            gotoxy(3,15);
            scanf("%d", &n);
            aposta[x]=n;
        }
        else 
        {
            if (x%2!=0)
            {
                gotoxy(3+m,15);
                scanf("%d", &n);
                aposta[x]=n;
            }
            else
            {
                gotoxy(3+m,21); 
                scanf("%d", &n);
                aposta[x]=n;
                m=m+1;
            }
        }
    }
    clrscr();
    gotoxy(2,10);
    printf("Acrescente os valores reais dos jogos:");
    gotoxy(3,10);
    printf("BRA     X     PRK");
    gotoxy(4,10);
    printf("CIV     X     POR");
    gotoxy(5,10);
    printf("BRA     X     CIV");
    gotoxy(6,10);
    printf("POR     X     PRK");
    gotoxy(7,10);
    printf("PRK     X     CIV");
    gotoxy(8,10);
    printf("POR     X     BRA");
    gotoxy(10,10);
    printf("Legenda:");
    gotoxy(11,12);
    printf("BRA: Brasil");
    gotoxy(12,12);
    printf("CIV: Costa do Marfim");
    gotoxy(13,12);
    printf("POR: Portugal");
    gotoxy(14,12);
    printf("PRK: Coreia do Norte");
    m=0;
    x=1;
    for (x=1; x<=12; x++)
    {
        if (x==1)
        {
            gotoxy(3,15);
            scanf("%d", &n);
            jogo[x]=n;
        }
        else 
        {
            if (x%2!=0)
            {
                gotoxy(3+m,15);
                scanf("%d", &n);
                jogo[x]=n;
            }
            else
            {
                gotoxy(3+m,21); 
                scanf("%d", &n);
                jogo[x]=n;
                m=m+1;
            }
        }
    }
    pontos=0;
    x=1;
    p=0;
    for (x=1; x<=12; x++)
    {
        if (x==1)
        {
            if (aposta[x]==jogo[x]) && (aposta[x+1]==jogo[x+1])
            {
                p=10;
                pontos=pontos+p;
            }
            else
            {
                if ((aposta[x]>aposta[x+1]) && (jogo[x]>jogo[x+1])) || ((aposta[x]<aposta[x+1]) && (jogo[x]<jogo[x+1]))
                {
                    if (aposta[x]==jogo[x]) || (aposta[x+1]==jogo[x+1])
                    {
                        p=7;
                        pontos=pontos+p;
                    }
                    else
                    {
                        p=5;
                        pontos=pontos+p;
                    }
                }
                else
                {
                    if (aposta[x]==aposta[x+1]) && (jogo[x]==jogo[x+1])
                    {
                        p=5;
                        pontos=pontos+p;
                    }
                    else
                    {
                        if (aposta[x]==jogo[x]) || (aposta[x+1]==jogo[x+1])
                        {
                            p=3;
                            pontos=pontos+p;
                        }
                        else
                        {
                            p=0;
                            pontos=pontos+p;
                        }
                    }
                }
            }
        }
        else
        {
            if (x%2!=0)
            {
                if (aposta[x]==jogo[x]) && (aposta[x+1]==jogo[x+1])
                {
                    p=10;
                    pontos=pontos+p;
                }
                else
                {
                    if ((aposta[x]>aposta[x+1]) && (jogo[x]>jogo[x+1])) || ((aposta[x]<aposta[x+1]) && (jogo[x]<jogo[x+1]))
                    {
                        if (aposta[x]==jogo[x]) || (aposta[x+1]==jogo[x+1])
                        {
                            p=7;
                            pontos=pontos+p;
                        }
                        else
                        {
                            p=5;
                            pontos=pontos+p;
                        }
                    }
                    else
                    {
                        if (aposta[x]==aposta[x+1]) && (jogo[x]==jogo[x+1])
                        {
                            p=5;
                            pontos=pontos+p;
                        }
                        else
                        {
                            if (aposta[x]==jogo[x]) || (aposta[x+1]==jogo[x+1])
                            {
                                p=3;
                                pontos=pontos+p;
                            }
                            else
                            {
                                p=0;
                                pontos=pontos+p;
                            }
                        }
                    }
                }
            }
        }
    }
    clrscr();
    if (pontos==0)
    {
        gotoxy(3,10);
        printf("Voce não obteve pontuacao (zero pontos)");
    }
    else
    {
        gotoxy(3,10);
        printf("Voce obteve uma pontuacao de %d pontos", pontos);
    }
    }
    getch();
}

amigo pode analisar meu programa e me dizer o porque dos erros, desde já grato.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      149405
    • Total Posts
      645894
×
×
  • Create New...