程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 水資源開發利用——興利調節模擬計算法

水資源開發利用——興利調節模擬計算法

編輯:C++入門知識

[cpp] 
//興利調節模擬計算.cpp 
//通過額定供水量(此程序中為固定值)求有效庫容 
//或通過有效庫容求額定供水量(求得結果為定值) 
//來水過程已知,從已經劃分好水利年的入庫流量讀取 
//用水保證率已知 
#include "stdafx.h" 
#include <fstream> 
#include<iostream> 
#include<iomanip> 
 
int T;//系列資料長度,單位:年 
int DestroyYear, DestroyMonth;//用水不足,破壞 
double  M,//額定用水流量系列,單位:m/s 
    Vx;//興利庫容,單位:(m/s*月) 
double P,//用水保證率 
    S[13],//興利庫容存水量,單位:(m/s*月) 
    X[12],//來水流量系列,單位:m/s 
    D[12];//庫洩流量(實際用水量+超過最大過水能力的棄水)系列,單位:m/s 
int Judge;//判斷數 
double Value, Left, Right;//待求值及其阈值 
int Num;//試算次數 
 
void main() 

    using namespace std; 
    ofstream outfile; 
    outfile.open("outfile.txt"); 
    cout<<"輸入系列長度(年):"<<endl; 
    cin>>T; 
    cout<<"求有效庫容請輸入,求額定用水流量輸入:"<<endl; 
    cin>>Judge; 
    cout<<"請輸入已知的效庫容(m/s*月)或額定用水流量的值:"<<endl; 
    if(Judge == 0)//求有效庫容 
    { 
        cin>>M; 
        outfile<<setw(10)<<"有效庫容"<<setw(10)<<"供水保證率"<<endl; 
    } 
    if(Judge == 1) //額定用水流量 
    { 
        cin>>Vx; 
        outfile<<setw(10)<<"額定用水流量"<<setw(10)<<"供水保證率"<<endl; 
    } 
    cout<<"輸入待求值的下限:"<<endl; 
    cin>>Left; 
    cout<<"輸入待求值的上限:"<<endl; 
    cin>>Right; 
    cout<<"輸入試算次數:"<<endl; 
    cin>>Num; 
    for(int n = 0; n <= Num; n++) 
    {//等差試算有效庫容 
        ifstream infile_X; 
        infile_X.open("infile_X.txt"); 
        Value = (Right - Left)/Num*n + Left; 
        if(Judge == 0) Vx = Value; 
        else M = Value; 
        S[0] = DestroyYear = 0; 
        for(int year = 0; year < T; year++) 
        { 
            DestroyMonth = 0; 
            for(int t = 0; t < 12; t ++) 
            {//讀入已按水利年分配的月來水流量 
                infile_X>>X[t]; 
                if(S[t]+X[t] < M) 
                {//破壞月 
                    D[t] = S[t]+X[t]; 
                    DestroyMonth++; 
                } 
                else  
                    if (S[t]+X[t]< M + Vx) 
                    D[t] = M;//正常供水段,未蓄滿 
                    else D[t] = S[t] + X[t] - Vx;//加大洩水段,已蓄滿 
                S[t + 1] = S[t] + X[t] - D[t]; 
                if(t == 11) S[0] = S[t + 1]; 
            }      www.2cto.com
            if(DestroyMonth > 0) DestroyYear++; 
        } 
        infile_X.close(); 
        P = 1 - (double)DestroyYear/T; 
        outfile<<setw(10)<<Value<<setw(10)<<P<<endl;       
    } 
    outfile.close(); 

輸入文件:"infile_X.txt"
717 615 265 1500 215 162 191 136 107 104 120 312
545 1540 410 873 1510 1110 621 288 165 85 130 450
483 592 590 958 236 182 797 369 115 190 127 133
783 1440 1600 2860 1480 142 195 91 139 100 159 341
262 957 2310 446 652 336 106 112 52 56 96 146
584 1340 390 479 641 228 161 75 44 140 226 205
717 844 652 1010 1450 85 85 203 322 148 95 153
417 1600 631 936 1130 507 791 128 77 65 244 368
746 708 789 276 154 122 157 398 218 110 117 240
430 525 1260 1210 130 187 90 270 65 46 60 766
568 371 442 389 227 138 421 728 257 167 114 272
540 1250 1500 506 545 361 425 504 316 106 88 85
953 1470 813 1630 1240 119 464 619 247 300 179 479
1290 1150 2090 747 543 584 623 311 120 93 94 139
636 490 626 310 511 630 690 151 169 86 121 123
684 282 872 395 162 70 484 138 72 60 186 369
493 2010 1650 1100 595 434 577 424 214 118 124 625
809 781 357 1230 532 950 411 410 166 131 99 195
542 837 673 2000 1030 718 274 325 87 74 123 190
461 1190 894 1210 222 743 190 166 206 207 247 186
592 900 1270 357 479 362 397 214 86 75 181 388
637 1270 721 198 100 439 780 654 117 147 330 276
1110 1020 1490 733 508 1180 186 80 55 48 70 129
581 1230 958 1140 565 259 573 98 78 77 77 193
680 1370 1420 485 244 240 356 539 188 91 152 325
579 1100 1490 1020 153 212 441 406 113 71 142 525
1450 1170 1240 1530 654 183 442 536 103 225 76 99
216 605 1260 399 415 376 159 690 133 77 82 66
104 498 1307 705 216 39 105 54 52 79 85 159
481 799 1671 1869 2459 284 749 180 151 89 119 170
808 673 779 197 258 114 127 238 85 52 157 288
516 759 1406 560 1097 1035 397 648 255 209 198 183
680 918 1147 2265 529 694 550 300 108 75 57 69
283 614 1105 947 634 337 681 172 283 117 158 389
590 703 759 741 235 188 157 274 165 140 164 189
570 517 1163 1526 271 256 140 152 114 108 77 81
411 778 1114 1405 1040 401 628 249 122 110 82 153
102 586 594 284 476 1143 176 92 68 68 174 434
1178 535 921 386 211 714 572 659 180 143 296 518
572 821 965 654 144 89 176 379 125 170 275 372
400 987 793 2088 557 445 140 81 76 55 107 390
401 857 953 509 183 149 110 69 66 161 264 318
426 646 654 1590 1582 509 280 486 193 106 97 122
494 356 844 300 137 207 445 254 353 267 338 193
485 870 1856 1050 732 180 512 176 99 103 86 161
256 566 1576 2254 553 560 451 711 141 118 284 324
734 503 486 798 308 183 199 157 203 201 192 448
735 1173 858 1982 1712 325 287 125 82 81 63 52
582 660 2178 1740 414 392 209 468 137 129 177 262
248 259 1139 582 614 344 798 269 263 77 82 250


作者:Superwen_go

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved