Ir para conteúdo
Fórum Script Brasil

Douglas L Costta

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Posts postados por Douglas L Costta

  1. Preciso de ajuda para executar um código em C++. Não estou conseguindo encontrar onde estou errando. se alguém puder ajudar...

    Desde já agradeço!

    === C Ó D I G O ===

    #include <iostream>
    #include <cstring>
    #include <fstream>
    #include <cmath>
    #include<stdlib.h>
    /*1- America do Sul
    2- America Central
    3- America do Norte
    4- Africa
    5- Europa
    6- Asia
    7- Oceania*/

    using namespace std;


    int main(){
        int i=0,j,k;
        char Linha[100];
        FILE *arquivo;
        arquivo = std::fopen("temperaturas.txt", "r");
        int contador[8],ativado;
        float soma[9],media[9],soma_desvio[9];

        for(j=0;j<=8;j++){contador[j]=0;soma[j]=0;soma_desvio[j]=0;};

    //Apresente todas as temperaturas do arquivo na tela de saída.
        while (!feof(arquivo))
      {
    // Lê uma linha (inclusive com o '\n')
           fgets(Linha, 100, arquivo);  // o 'fgets' lê até 99 caracteres ou até o '\n'

           printf("Linha %d : %s",i,Linha);

                if(strcmp (Linha, "America do Sul\n")==0){ativado=1;continue;} //indicador de passagem
                if(strcmp (Linha, "America Central\n")==0){ativado=2;continue;} //indicador de passagem
                if(strcmp (Linha, "America do Norte\n")==0){ativado=3;continue;} //indicador de passagem
                if(strcmp (Linha, "Africa\n")==0){ativado=4;continue;} //indicador de passagem
                if(strcmp (Linha, "Europa\n")==0){ativado=5;continue;} //indicador de passagem
                if(strcmp (Linha, "Asia\n")==0){ativado=6;continue;} //indicador de passagem
                if(strcmp (Linha, "Oceania\n")==0){ativado=7;continue;} //indicador de passagem
                if(strcmp (Linha, "##########\n")==0){continue;} //continue interrompe o laço atual e começa com o proximo i


            //calcula a media
                contador[ativado]++;
                soma[ativado]=soma[ativado]+ (atoi(Linha)); //stoi transforma de string para int


          i++;
      }

      rewind(arquivo);//volta ao começo do arquivo
      media[1]=soma[1]/contador[1];
      media[2]=soma[2]/contador[2];
      media[3]=soma[3]/contador[3];
      media[4]=soma[4]/contador[4];
      media[5]=soma[5]/contador[5];
      media[6]=soma[6]/contador[6];
      media[7]=soma[7]/contador[7];
      //media geral
      media[8]=(soma[7]+soma[6]+soma[5]+soma[4]+soma[3]+soma[2]+soma[1])/(contador[1]+contador[2]+contador[3]+contador[4]+contador[5]+contador[6]+contador[7]);


    i=0;
        while (!feof(arquivo))
      {
    // Lê uma linha (inclusive com o '\n')
           fgets(Linha, 100, arquivo);  // o 'fgets' lê até 99 caracteres ou até o '\n'

           printf("Linha %d : %s",i,Linha);

                if(strcmp (Linha, "America do Sul\n")==0){ativado=1;continue;} //indicador de passagem
                if(strcmp (Linha, "America Central\n")==0){ativado=2;continue;} //indicador de passagem
                if(strcmp (Linha, "America do Norte\n")==0){ativado=3;continue;} //indicador de passagem
                if(strcmp (Linha, "Africa\n")==0){ativado=4;continue;} //indicador de passagem
                if(strcmp (Linha, "Europa\n")==0){ativado=5;continue;} //indicador de passagem
                if(strcmp (Linha, "Asia\n")==0){ativado=6;continue;} //indicador de passagem
                if(strcmp (Linha, "Oceania\n")==0){ativado=7;continue;} //indicador de passagem
                if(strcmp (Linha, "##########\n")==0){continue;} //indicador de passagem

                //calcula desvio padrão
                soma_desvio[ativado]=soma_desvio[ativado]+((atoi(Linha)-media[ativado])*(atoi(Linha)-media[ativado]));
                soma_desvio[8]=soma_desvio[8]+(((atoi(Linha)-media[8])*(atoi(Linha)-media[8])));


          i++;
      }
    cout<<"\nMedia  "<<media[1];
    cout<<"\nMedia  "<<media[2];
    cout<<"\nMedia  "<<media[3];
    cout<<"\nMedia  "<<media[4];
    cout<<"\nMedia  "<<media[5];
    cout<<"\nMedia  "<<media[6];
    cout<<"\nMedia  "<<media[7];
    cout<<"\nMedia Geral "<<media[8];

    cout<<"\nDesvio  "<<sqrt(soma_desvio[1]/contador[1]) ;
    cout<<"\nDesvio  "<<sqrt(soma_desvio[2]/contador[2]) ;
    cout<<"\nDesvio  "<<sqrt(soma_desvio[3]/contador[3]) ;
    cout<<"\nDesvio  "<<sqrt(soma_desvio[4]/contador[4]) ;
    cout<<"\nDesvio  "<<sqrt(soma_desvio[5]/contador[5]) ;
    cout<<"\nDesvio  "<<sqrt(soma_desvio[6]/contador[6]) ;
    cout<<"\nDesvio  "<<sqrt(soma_desvio[7]/contador[7]) ;
    cout<<"\nDesvio Geral "<<sqrt(soma_desvio[8]/i) ;
    // Exiba a média e o desvio padrão de todas as temperaturas medidas

    // Apresente a média e o desvio padrão de cada continente.

    arquivo.close();
    return(0);
    }

×
×
  • Criar Novo...