|
Программирование >> Расширенная версия языка c++
Приложение В. Ответы на вопросы и решения упражнений 609 ttinclude <cctype> г- ; -г- i , using namespace std; int alpha [26] ; in n(int argc, char *argv[]:i [ char ch; if(argc!=2) { cout Подсчет: <имя файла>\п ; return 1; 1 , ..j. ifstream in(argv[l]); if(!in) { cou Фа мода открыть невозможноХп ; return 1; У .-. -- Инициализация массива alpha [] ..... ... , int i; . , . .. for(i=0; i<26 pha[i] =0; - whiledin.eof 0 ) { ch = in.get 0; if(!in.good() ss !in.eof ()) return 1; if(isalpha(ch)) { если найдена буква, подсчитаем ее ch = toupper(ch); alpha[ch - A]**; A- A = O, - B - A == 1, и т. д. Вывод на экран результата for(i=0; i<26; i++) { cout (char) (A + i) : alpha[i] \n; in.closeO; if ( !in.goodO ) return 1; return 6. Для установки указателя чтения (get) используется функции g(). Для установки указателя записи (put) используется функция seekp(). 610 Самоучитель C++ Проверка усвоения материала в целом 1. #inciude <iostrea:n> , я linclude <fstream> linclude <cstring> > .- > - 11: using namespace < , 4 ftdefine SIZE 4 0 - class inventory I cha [SIZE] ; название предмета in and; количества шшяров, выданных на руки double OTSt; цена экземпляра inventory (cha Г *i, int o, double c) { strcpy (item, i) ; . . . - ...nr-L- onhand = cost - c; * void store (fstream sstream); - --t- . i void retrieve(fstream sstream); friend ostream Soperator (ostream Sstream, inventory ob); friend istream &operator (istream fistream, inventory Sob); ostream ator (ostream eam, inventory ob) -- I stream stream return stream; istream (istream inventory , cout Введите название предмета: ; stream cou введите числ анных экземпляров: ; stream cou << Введите стоимость экземпляра: ; - stream return strea; void Stream.write(item, SIZE); Приложение В. Ответы на вопросы и решения упражнений 61 1 stream.write ( (char*) Sonhand, sizeof (int)) ; stream.write((char*)ficost, sizeof(double)) ; void inventory::retrieve(fstream Sstream) { stream, read (item, SIZE); ., . . .stream, read ( (char *) fionhand, sizeof (int) ) ; i .stream.read((char *) ficost, sizeof(double)); int mainO { fstream io5::out I ios: :binary) ; int i; : .. inventory оскогубцы , 12, 4.95); inventory hammers ( молотки , 5, 9.45); inventory wrenches( ключи , 22, 13.90); inventory temp( , 0, 0.0); if(!inv) { cou Фа для вывода открыть невозмо;кно\п ; return 1; Запись в файл pliers .store (inv) ; - hammers.store(inv); wrenches.store(inv); inv. close {) ; Открытие файла для ввода ifCinv) { cou Файл для ввода открыть невозможно\п ; return do { * cou< Запись # выхода введите -1) : ; cin i; if(i == -1) break; inv. seekg (i* (SISE+sizeof (int) +5izeof (double) ) , ios; :beg) ; temp.retrieve(inv); cout temp; } while (inv.good0 ) ;
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки. |