Программирование >>  Расширенная версия языка c++ 

1 ... 198 199 200 [ 201 ] 202 203 204 ... 227


Приложение В. Ответы на вопросы и решения упражнений 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 ) ;



1 ... 198 199 200 [ 201 ] 202 203 204 ... 227

© 2006 - 2025 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки.
Яндекс.Метрика