|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.06.2009, 20:07 | #1 |
Форумчанин
Регистрация: 21.11.2008
Сообщений: 400
|
Ввод-вывод в С++
Написал программу компилируется работает но результаты странные выводит)) Вроде из памяти ничего лишнего не хватаю, но никак не отловлю ошибку, помогите пожалуйста кто может, заранее благодарю.
Красным у меня выделен метод пузырьковой сортировки с помощью которой я сортирую студентов по оценкам, по убыванию. #include<iostream.h> #include<conio.h> #include <fstream.h> struct proga { int nomer; int ocenka; char familia[10]; }; proga a; proga b; proga c; int main() { clrscr(); ofstream f1("a.bar",ios::binary); int kol=0; for(int i=1; i<=10; i++) { kol=kol++; cout<<kol<<" "<<"student"<<endl; //cout<<"Vvedite nomer"<<endl; a.nomer=kol; cout<<"Vvedite familiy"<<endl; cin>>a.familia; cout<<"Vvedite ocenky"<<endl; cin>>a.ocenka; clrscr(); f1.write((char *) &a, sizeof (a));} f1.close(); ifstream f2("a.bar",ios::binary); for( i=1;i<=10;i++) { f2.read((char*) &a, sizeof( a)); cout<<"Nomer "<<a.nomer<<endl; cout<<"Familia "<<a.familia<<endl; cout<<"Ocenka "<<a.ocenka<<endl; cout<<endl; } f2.close(); getch(); clrscr(); ifstream f3("a.bar", ios::ate |ios::in | ios::binary); ofstream f4("a.bar", ios::ate| ios:ut| ios::binary); for(int j=0; j<9; j++) { f3.open("a.bar", ios::ate | ios::binary); f4.open("a.bar", ios::ate| ios::binary); //f3.seekg(0); //f4.seekp(0); for(i=0;i<9; i++) { f3.seekg((i)*sizeof(a)); f3.read((char*) &a, sizeof a); f3.read((char*) &b, sizeof b); if(a.ocenka<b.ocenka) { c.nomer=a.nomer; for(int k=0;k<10;k++) { c.familia[k]=a.familia[k]; } c.ocenka=a.ocenka; a.nomer=b.nomer; for(k=0;k<10;k++) { a.familia[k]=b.familia[k]; } a.ocenka=b.ocenka; b.nomer=c.nomer; for( k=0;k<10;k++){ b.familia[k]=c.familia[k]; } b.ocenka=c.ocenka; } //f3.seekg((i)*sizeof(a)); f4.seekp((i)*sizeof(a)); f4.write((char *) &a, sizeof(a)); f4.write((char *) &b, sizeof(b)); } //f3.seekg(0); //f4.seekp(0); f3.close(); f4.close(); } cout<<"sortirovka okonchena"<<endl; getch(); clrscr(); f2.open("a.bar",ios::binary); for( i=0;i<10;i++) { f2.read((char*) &a, sizeof(a)); //f2.seekg(0); //if(f2.eof()){cout<<"file pustoy"<<endl; getch();clrscr(); return 0;} cout<<"Nomer "<<a.nomer<<endl; cout<<"Familia "<<a.familia<<endl; cout<<"Ocenka "<<a.ocenka<<endl; cout<<endl; } f2.close(); getch(); return 0; }
Винда, KIS 2010, книжка по С/С++, остальное неважно........
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ввод и вывод | Mihael-Vlz | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 19.01.2009 18:00 |
Асинхронный ввод/вывод | Pblog | Обсуждение статей | 0 | 27.05.2007 02:13 |