КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Typedef struct
{ char fio[30]; unsigned char matem; unsigned char oaip; } TStudent; TStudent stud[30]; // Массив структур char name[20]; // Имя файла int nst = 0; // Число введенных структур int Menu (); // Создание меню void Nnf (); // Ввод имени файла void Newf (); // Создание нового файла void Spisok (); // Формирование файла void Opf (); // Открытие файла void Resc (); // Вывод результата на экран void Resf (); // Вывод результата в файл int main () { while (true) { switch (Menu ()) { case 1: Nnf (); break; case 2: Newf (); break; case 3: Spisok (); break; case 4: Opf (); break; case 5: Resc (); break; case 6: Resf (); break; case 7: return 0; default: puts("Viberite pravilno!"); } puts ("Press any key to continue"); getch (); // Ожидание нажатия любой клавиши system ("cls"); // Очистка экрана } } int Menu () // Меню { cout << "VIBERITE:" << endl; cout << " 1. Vvod file name" << endl; cout << " 2. New file" << endl; cout << " 3. Vvesti spisok" << endl; cout << " 4. Open file" << endl; cout << " 5. Vivesti result" << endl; cout << " 6. Vivesti v fail" << endl; cout << " 7. Exit" << endl; int i; cin >> i; // Ввод выбранного пункта меню return i; } void Nnf () // Ввод имени файла { cout << "Vvedite file name" << endl; cin >> name; } void Newf () // Создание нового файла { if ((fl = fopen (name," wb ")) == NULL) { cout << "Oshibka pri sozdanii" << endl; exit (1); } cout << "OK" << endl; fclose (fl); } void Spisok () // Ввод данных в файла { if ((fl = fopen (name," rb+ ")) == NULL) { cout << "Oshibka pri sozdanii" << endl; exit (1); } cout << "Vvedite chislo studentov" << endl; cin >> nst; for (int i=0; i<nst; i++) { cout << "Vvedite imya: "; cin >> stud[i]. fio; cout << "Vvedite otcenku po matematike: "; cin >> stud[i]. matem; cout << "Vvedite otcenku po OAiP: "; cin >> stud[i]. oaip; fwrite (&stud[i], sizeof(TStudent), 1, fl); } fclose (fl); } void Opf () // Открытие бинарного файла { if ((fl = fopen (name," rb ")) == NULL) { cout << "Oshibka pri otkritii" << endl; exit (1); } nst = 0; TStudent std; while (true) { int nwrt = fread (&std, sizeof(TStudent), 1, fl); if (nwrt!= 1) break; stud[nst] = std; cout << stud[nst]. fio << " " << stud[nst]. matem << " " << stud[nst]. oaip << endl; nst++; } fclose (fl); } void Resc () // Вывод результата на экран { for (int i=0; i<nst; i++) if (stud[i]. oaip == ' 9 ') cout << stud[i]. fio << endl; } void Resf () // Вывод результата в текстовый файл { char namet[30]; FILE *ft; cout << "Vvedite imya faila" << endl; cin >> namet; if ((ft = fopen (namet," w ")) == NULL) { cout << "Oshibka pri sozdanii" << endl; exit (1); } char s[80]; for (int i=0; i<nst; i++) if (stud[i]. oaip == ' 9 ') { strcpy (s, stud[i]. fio); strcat (s, " \n "); // Добавление разделителя строк fputs (s, ft); } fclose (ft); }
Дата добавления: 2014-01-06; Просмотров: 203; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |