0

我正在尝试从 .txt 文件中读取并将其写入 listBox(Windows 窗体应用程序)我想读取的是 double 类型,我不知道为什么,但是在数字上的点之后,它不再读取并将其转移到另一个变量!此外,它写了两次东西,就像它两次执行这个循环并显示相同的信息,但它不应该

这是我认为可能有错误的代码部分:

char empresam[11];
             int tipom;
             int codigom;
             double valorm;
             int Data_lev[5];
             int Data_arm[5];
             CData DActual;
             int Data_actual[3];
             bool mercadoria=false;
             int precom;
             Data_actual[0]=DActual.Rano();
             Data_actual[1]=DActual.Rmes();
             Data_actual[2]=DActual.Rdia();

             //leitura do ficheiro

             facturacao.peek();
             while(!facturacao.eof()){
                 facturacao.getline(empresam, 11);
                 empresam[10]='\0';
                 facturacao >> tipom >> codigom;
                 facturacao>>Data_lev[0]>>Data_lev[1]>>Data_lev[2]>>Data_lev[3]>>Data_lev[4];
                 facturacao>>Data_arm[0]>>Data_arm[1]>>Data_arm[2]>>Data_arm[3]>>Data_arm[4];
                 facturacao >> valorm;
                 facturacao >>precom;
                 cin.ignore();
                 facturacao.peek();


                 if(Data_lev[0]==Data_actual[0] && Data_lev[1]==Data_actual[1] && Data_lev[2]==Data_actual[2]){
                     mercadoria=true;
                     ffacturacaod->listBox1->BeginUpdate();
                     ffacturacaod->listBox1->Items->Add ("Código de empresa");
                     //converter char* para string ^
                     String^ strempresa = gcnew String(empresam);
                     ffacturacaod->listBox1->Items->Add(strempresa);
                     ffacturacaod->listBox1->Items->Add("Códido de armazenamento");
                     ffacturacaod->listBox1->Items->Add(codigom);
                     ffacturacaod->listBox1->Items->Add("Mercadoria do tipo");
                     switch(tipom){
                     case 1: {ffacturacaod->listBox1->Items->Add("Contentor 12 x 2,3 m");break;};
                     case 2: {ffacturacaod->listBox1->Items->Add("Contentor 6 x 2,3 m");break;};
                     case 3: {ffacturacaod->listBox1->Items->Add("Palete 120 x 80 cm");break;};
                     case 4: {ffacturacaod->listBox1->Items->Add("Palete 60 x 80 cm");break;};
                     }
                     ffacturacaod->listBox1->Items->Add("Valor declarado");
                     ffacturacaod->listBox1->Items->Add(valorm);
                     ffacturacaod->listBox1->Items->Add( "Armazenado na data");
                     ffacturacaod->listBox1->Items->Add ("Data");
                     ffacturacaod->listBox1->Items->Add("Valor pago");
                     ffacturacaod->listBox1->Items->Add(precom);
                     ffacturacaod->listBox1->EndUpdate();

                 }


                 facturacao.close();
4

0 回答 0