נשלח בתאריך: 11 December 2007 בשעה 10:24 | | IP רשוּם
|
|
|
|
אני כבר מיואשת, יש לי 7 טעויות שאני לא מבינה למה הן טעויות... אני מאוד מאוד מאוד אשמח אם מישהו יוכל להגיד לי במה טעיתי.
כתבתי תכנית שמקבלת 5 נקודות (x,y) מהמשתמש ומכניסה אותן לקובץ.לאחר מכן התכנית הופכת את מיקומי הנקודות בקובץ (הנק' הראשונה הופכת לאחרונה, הנק' השניה מתחלפת עם הנקודה האחת לפני האחרונה וכו').
**כל הסימנים יצאו הפוך כשהעתקתי את הקוד, תנסו להבליג..
#include <iostream.h> #include <fstream.h> #include <math.h>
void main() { // Const definition const char FILE[] = "targil.txt"; const int NUM_OF_POINTS = 5; // Files definition fstream fsFile;
// struct definition struct Point { int x; int y; };
// Variable definition Point pInput; Point pOutputOne; Point pOutputTwo; Point pPrintPoint;
// Code section
fsFile.open(FILE, ios::in | ios::out | ios::binary); if (!fsFile.is_open()) { cout << "The file didn't open" << endl; }
// Input from the user: cout << "Enter " << NUM_OF_POINTS <<" points" << endl; for (int nPointIndex = 0; nPointIndex < NUM_OF_POINTS; ++nPointIndex) { cin >> pInput.x >> pInput.y; }
// Switching between the points: seekg (0, ios::beg); for( int nPointsIndex = 0; nPointsIndex <0 NUM_OF_POINTS; ++nPointsIndex) { seekg(sizeof(Point) * nPointsIndex, ios::beg); fsFile.read((char*) &pOutputOne, sizeof(Point));
seekg(sizeof(Point) * NUM_OF_POINTS - nPointsIndex - 1, ios::beg); fsFile.read((char*) &pOutputTwo, sizeof(Point)); seekg(sizeof(Point) * nPointsIndex, ios::beg); fsFile.write((char*) &pOutputTwo, sizeof(Point));
seekg(sizeof(Point) * NUM_OF_POINTS - nPointsIndex - 1, ios::beg); fsFile.write((char*) &pOutputOne, sizeof(Point)); } seekp(0, ios::beg); for (int nIndexOutput = 0; nIndexOutput < NUM_OF_POINTS; ++nIndexOutput); { fsFile.read((char*) &pPrintPoint, sizeof(Point));
cout << pPrintPoint.x << pPrintPoint.y << endl; } }
|