Ir para conteúdo
Fórum Script Brasil

Digaummax

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Posts postados por Digaummax

  1. Boa noite!

    Estou com um problema em uma atividade da faculdade, não consigo gerar o numero certo no programa de acordo com o txt. Ou seja o numero que você digita não bate com o txt gerado.

    Vou postar o codigo abaixo.

    #include<iostream>

    #include<time.h>

    #include<fstream>

    #include<math.h>

    #include <iomanip>

    using namespace std;

    // 2 >>>FUNÇÃO DESCOBRE SE DIA é DOMINGO<<<<<<

    int diasemana ( int dia, int mes, int ano) {

    time_t hora;

    struct tm *phora;

    time(&hora);

    phora=localtime(&hora);

    phora->tm_year = ano - 1900;

    phora->tm_mon = mes - 1;

    phora->tm_mday = dia;

    mktime(phora);

    return phora->tm_wday;

    }

    int main()

    {

    int Mes, Ano, QtdDia,DiasUteis,hora, *phora,aux,aux2,testarmes,domingo,diasmes,diaa,i,data,quantidade,j; // excluir var diaa,testarmes

    char S[50],D[10],ch;

    float valor;

    // 1 SOLICITAR DADOS DE ENTRADA

    srand(time(0));

    cout<<" Programa Gerador ";

    do{

    cout<<"\n Digite o Mes: ";

    cin>>Mes;}

    while(!(Mes>=1 && Mes<=12));

    do{

    cout<<"\n Digite o Ano: ";

    cin>>Ano;}

    while(Ano<=2010);

    do{

    cout<<"\n Digite a Quantidade de PRODUTOS VENDIDOS em um dia: ";

    cin>>QtdDia;}

    while(!(QtdDia>=25 && QtdDia<=50));

    diaa=1;

    domingo=0;

    DiasUteis=0;

    if(Mes <=7)

    {

    if (Mes % 2 == 0)

    diasmes=30;

    else

    diasmes=31;

    if (Mes == 2)

    diasmes=28;

    if (Mes == 8)

    diasmes=31;

    }

    else

    {

    if (Mes % 2 == 0)

    diasmes=31;

    else

    diasmes=30;

    }

    for (aux2=1;aux2<=diasmes;aux2++)

    {

    aux=diasemana(aux2, Mes,Ano);

    cout<<"\n Codigo : "<<aux;

    cout<<"\n Dia: "<<diaa;

    if(aux==0)

    domingo++;

    diaa++;

    }

    DiasUteis=diasmes - domingo;

    cout<<"\n Esse mes tem: "<<DiasUteis<<" dias uteis ";

    cout<<"\n Esse mes tem: "<<domingo<<" domingos ";

    // >> 3 E 4 << GERAR TXT COM A QUANTIDADE DE LINHAS QTDDIAS*DIASUTEIS

    // DIGITO

    data=0;

    cout<<"\n AGUARDE GERANDO TXT !! ";

    int codigo[10],digito,index,dv,cu; //DECLARAR NO TOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO

    ofstream fout ("SAIDA.TXT");

    i=1;

    for (data=1;data<=diasmes;data++)

    {

    aux=diasemana(data, Mes,Ano);

    if(aux!=0)

    {

    // GERAR O CODIGO

    for(i=1;i<=QtdDia;i++)

    {

    // cout<<"\n CODIGO: "<<codigo<<"\n ";

    dv=0;

    j=4;

    cu=6;

    codigo[0]=1;

    for(index=1;index<=3;index++){

    if(index==1)

    digito=rand() % (5)+1;

    else

    digito=rand() % cu;

    codigo[index]=digito;

    dv=(j*codigo[index])+dv;

    j--;

    if (cu<10)

    cu+=4;

    }

    dv=(dv+5)%7;

    // GRAVANDO NO TXT <<<

    for(index=0;index<4;index++)

    fout<<codigo[index];

    fout<<" - "<<dv;

    fout<<" ; ";

    fout<<data<<"/"<<Mes<<"/"<<Ano<<" ; ";

    quantidade=rand() % 100 +1;

    fout<<quantidade<<" ; ";

    valor=rand() /199.99;

    fout<< setprecision(2) << fixed <<valor<<" ; \n"; // SETPRECISION FIXED ... FIXA O VALOR DA VAR VALOR EM 2 CASAS DECIMAIS

    }

    }

    }

    cout<<"\n TXT GERADO COM SUCESSO !! ";

    system("pause");

    }

×
×
  • Criar Novo...