2016-04-01 27 views
-1

Ben yanlış gidiyor nerede bilmiyorum okul işleri için göndermek zorunda iki sorun sıkışmış. bu benim ilk kez hiç C++ yazmaya çalışıyorum, bu aptalca geliyorsa özür dilerim, ama bu bile hata mesajı bilinmeyen kaçış sırasını almaya devam ettim (intihal hatırlamasından sonra bu yazıyı sileceğim) kimseyi kızdırmak demek. Çözmem gereken şu sorunun cevabınıBir metin dosyası dizi hatası girerek Codeblocks

çözüme kavuşturun: Yılın her ayı için en yüksek ve en düşük sıcaklıkları depolamak için iki boyutlu bir dizi kullanan bir C++ programı yazın. Program, yıl için ortalama yüksek, ortalama düşük ve en yüksek ve en düşük sıcaklıkları vermelidir. Programınız şu işlevlerden oluşmalıdır:

İşlev getData: Bu işlev, iki boyutlu dizide verileri okur ve depolar.

İşlev ortalamasıYükseklik: Bu işlev, yıl için ortalama yüksek sıcaklığı hesaplar ve döndürür.

İşlev ortalamasıLow: Bu işlev, yıl için ortalama düşük sıcaklığı hesaplar ve döndürür.

İşlev indexHighTemp: Bu işlev, dizideki en yüksek yüksek sıcaklığın dizinini döndürür.

İşlev diziniLowTemp: Bu işlev, dizideki en düşük düşük sıcaklığın dizinini döndürür.

(Bu işlevler tüm uygun parametreler olması gerekir.) Eğer ters eğik çizgi karakteri, iki ters eğik çizgi kullanmalısınız istiyorsanız

dosya temperaturedata.txt D2L

#include <cstdio> 
#include <cstdlib> 
#include <iostream> 
#include <iomanip> 
#include <fstream> 

using namespace std; 

void getData (ifstream& inData, double extremes [12][2]) ; 
void averageHigh (double extremes [12][2], double& avgHigh) ; 
void averageLow (double extremes [12][2], double& avgLow) ; 
void indexHighTemp (double extremes [12][2], int& highMonth) ; 
void indexLowTemp (double extremes [12][2], int& lowMonth) ; 

int main(int nNumberofArgs, char* pszArgs[]) 
{ 



    ifstream inData ; 
    double extremes [12] [2] ; 
    double avgHigh, avgLow ; 
    int highMonth, lowMonth ; 

    inData.open("C:\Users\Owner\Desktop\C++ homework\temperature problem\temperature problem ........\temperaturedata.txt"); 
if(!inData) 

{ 
    cout << "There was an error opening the input file" << endl ; 
    exit (1) ; 
} 
    getData (inData, extremes) ; 


    averageHigh (extremes, avgHigh) ; 
    cout << fixed << showpoint << setprecision(2) ; 
    cout << "The average high temperature was " << avgHigh << " degrees" << endl ; 


    averageLow (extremes, avgLow) ; 
    cout << "The average low temperature was " << avgLow << " degrees" << endl ; 


    indexHighTemp (extremes, highMonth) ; 
    cout << "The month with the highest high temperature was " << highMonth << endl ; 


    indexLowTemp (extremes, lowMonth) ; 
    cout << "The month with the lowest low temperature was " << lowMonth << endl ; 

     return 0 ; 
} 

void getData (ifstream& inData, double extremes [12][2]) 

{ 
    int row ; 

    for (row=0; row<12; row++) 

     inData >> extremes [row][0] >> extremes [row][1] ; 

     return ; 
} 
void averageHigh (double extremes [12][2], double& avgHigh) 

{ 
    double sum = 0 ; 

    for (int i=0; i<12; i++) 
     sum += extremes [i][0] ; 
    avgHigh = sum/12.0 ; 
    return ; 
} 
void averageLow (double extremes [12][2], double& avgLow) 

{ 
    double sum = 0 ; 

    for (int i=0; i<12; i++) 
     sum += extremes [i][1] ; 
    avgLow = sum/12.0 ; 
    return ; 
} 
void indexHighTemp (double extremes [12][2], int& highMonth) 

{ 
    int ind = 0 ; 
    double highest = extremes [0][0] ; 

    for (int i=0; i<12; i++) 
     if (extremes[i][0] > highest) 
     { 
      highest = extremes[i][0] ; 
      ind = i ; 
     } 
     highMonth = ind ; 
     return ; 
} 
void indexLowTemp (double extremes [12][2], int& lowMonth) 

{ 
    int ind = 0 ; 
    double lowest = extremes [0][1] ; 

    for (int i=0; i<12; i++) 
     if (extremes[i][1] < lowest) 
     { 
      lowest = extremes[i][0] ; 
      ind = i ; 
     } 
     lowMonth = ind ; 
     return ; 
} 
+3

ile çizgiyi 25 değiştirin - tür yanıtlayan dışarı teşvik alır, ben karma teşvik hala kalır sanırım. –

+0

Gönderdiğim yazıyı saklamak istemiyorum ama bu websitesi profesörüm tarafından yönlendirildikten sonra, sadece bir başka öğrenciyle daha önce sınıfta bir sorun yaşadığımız için yanlış yol alabileceğinden endişe ediyorum ama kesinlikle sadece dışarı ve bunun çoğunu kaldırmak ve çözülmüş hata çözümü bu şekilde gönderildi tutmak @JonnyHenly – BlindSin

+0

Eğer bir kod bloğu istiyorsanız, '' '' 'kullanma. – v7d8dpo4

cevap

0

içindedir. Ters eğik çizgi karakterini istiyorsanız '\\' kullanın. Bir dizede istiyorsanız, "\\"'u kullanın. Bunun nedeni, ters eğik çizgi karakterinin bir kaçış dizisinin başlangıcı olduğu anlamına gelir. i intihal hatır * cevap vermesini aldıktan sonra ben bu yazıyı siler *

inData.open("C:\\Users\\Owner\\Desktop\\C++ homework\\temperature problem\\temperature problem ........\\temperaturedata.txt"); 
+0

Bu şekilde çalıştı, yardım için çok teşekkür ederim! – BlindSin

İlgili konular