1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

exercicio em c problema

Discussão em 'Programação' iniciada por pedrodocoves, 3 de Dezembro de 2018. (Respostas: 4; Visualizações: 151)

  1. Alguem me consegue dizer o que está mal neste código

    #include<stdio.h>
    output(){
    int i;
    for (i=0;i<44;i++){
    printf("*");
    }
    printf("\n");
    printf("MUSEU ESCOLAR - Registo anual de visitas\n");
    for (i=0;i<44;i++){
    printf("*");
    }
    printf("\n\n");
    printf("Escolha uma opção:\n");
    printf("1--Visualizar o total de visitas registadas por trimestre.\n");
    printf("2--Visualizar o total de visitas registadas num ano.\n");
    printf("3--Visualizar a média trimestral.\n");
    printf("4--Consultar o número de visitas registadas num trimestre (por cada mês)indicado pelo utilizador.\n");
    printf("5--Visualizar o menor valor registado e em que mês e trimestre se registou.\n");
    printf("6--Sair\n");

    }
    menu1(){
    int soma1,soma2,soma3,soma4,vist[4][3];
    soma1=vist[0][0]+vist[0][1]+vist[0][2];
    soma2=vist[1][0]+vist[1][1]+vist[1][2];
    soma3=vist[3][0]+vist[3][1]+vist[3][2];
    soma4=vist[4][0]+vist[4][1]+vist[4][2];
    printf("O numero de visitantes no primeiro trimestre foi de %d",soma1);
    printf("O numero de visitantes no segundo trimestre foi de %d",soma3);
    printf("O numero de visitantes no terceiro trimestre foi de %d",soma3);
    printf("O numero de visitantes no quarto trimestre foi de %d",soma4);
    }
    menu2(){
    int soma1,soma2,soma3,soma4,total,vist[4][3];
    soma1=vist[0][0]+vist[0][1]+vist[0][2];
    soma2=vist[1][0]+vist[1][1]+vist[1][2];
    soma3=vist[3][0]+vist[3][1]+vist[3][2];
    soma4=vist[4][0]+vist[4][1]+vist[4][2];
    total=soma1+soma2+soma3+soma4;
    printf("O numero de visitantes nesse ano foi de %d",total);
    }
    menu3(){
    int soma1,soma2,soma3,soma4,total,vist[4][3],media;
    soma1=vist[0][0]+vist[0][1]+vist[0][2];
    soma2=vist[1][0]+vist[1][1]+vist[1][2];
    soma3=vist[3][0]+vist[3][1]+vist[3][2];
    soma4=vist[4][0]+vist[4][1]+vist[4][2];
    total=soma1+soma2+soma3+soma4;
    media=total/4;
    printf("A média trimestral é: %d ",media);
    }
    menu4(){
    int m,vist[4][3];
    printf("Insira o mês que pretende consultar o numero de vistitantes");
    scanf("%d",&m);
    switch(m){
    case 1:printf("O numero de Visitas nesse mês foi de: %d",vist[0][0]);
    break;
    case 2:printf("O numero de Visitas nesse mês foi de: %d",vist[0][1]);
    break;
    case 3:printf("O numero de Visitas nesse mês foi de: %d",vist[0][2]);
    break;
    case 4:printf("O numero de Visitas nesse mês foi de: %d",vist[1][0]);
    break;
    case 5:printf("O numero de Visitas nesse mês foi de: %d",vist[1][1]);
    break;
    case 6:printf("O numero de Visitas nesse mês foi de: %d",vist[1][2]);
    break;
    case 7:printf("O numero de Visitas nesse mês foi de: %d",vist[2][0]);
    break;
    case 8:printf("O numero de Visitas nesse mês foi de: %d",vist[2][1]);
    break;
    case 9:printf("O numero de Visitas nesse mês foi de: %d",vist[2][2]);
    break;
    case 10:printf("O numero de Visitas nesse mês foi de: %d",vist[3][0]);
    break;
    case 11:printf("O numero de Visitas nesse mês foi de: %d",vist[3][1]);
    break;
    case 12:printf("O numero de Visitas nesse mês foi de: %d",vist[3][2]);
    break;
    }
    }
    menu5(){

    }

    main(){
    int vist[4][3],i,t,op;
    for(i=0;i<4;i++){
    for(t=0;t<3;i++){
    printf ("Insira o numero de visitas no mes %d: ",i+1);
    scanf("%d",vist[t]);
    }}
    output();
    scanf("%d",op);
    switch(op){
    case 1: menu1();
    break;
    case 2: menu2();
    break;
    case 3: menu3();
    break;
    case 4: menu4();
    break;
    case 5: menu5();
    break;
    case 6: break;
    }
    }
     
    Última edição: 3 de Dezembro de 2018
  2. Slash

    Slash Power Member

    Repara nos índices do array vist que estás a usar ao fazer as somas para as variáveis some3 e soma4. Não sei se há mais mas assim de repente vi isto.
     
  3. ja reparei agora num erro tmb
    nao tinha & no scanf
    mas mesmo assim o programa só me pede para cinco meses e nao 12
     
  4. robbenslb

    robbenslb Power Member

    Estás a incrementar o i em vez do t no último loop for na tua função main().
     
  5. filipedaniel

    filipedaniel Power Member

    Coloca o código dentro das tags code. Isto assim é ilegível. :rcarton:
     

Partilhar esta Página