Fortran 90 OPEN file - PullRequest
       18

Fortran 90 OPEN file

2 голосов
/ 05 апреля 2009

Я работал над проектом по операциям с банковскими счетами (снятие, внесение, обналичивание чеков и запрос баланса) с использованием "account.txt". Мой ТА сказал, что я должен использовать временный файл. Этот временный файл будет читать построчно, чтобы найти то, что ищет пользователь. Однако я вообще не понял этот временный OPEN-файл. Кто-нибудь объясняет, что это такое, и если это возможно, вы бы приложили пример этого?

Вот инструкции к проекту: Этот проект о написании программы для выполнения транзакций на банковских счетах. Вам будет предоставлен файл, содержащий все счета в банке (файл называется «account.txt»). Ваша программа должна предоставить пользователям интерактивное меню для выполнения транзакций на этих счетах. Ваша программа должна обновлять файл учетной записи после каждой транзакции. Пользователь может выполнять транзакции на счетах, которые недоступны. Ваша программа должна распечатать сообщение об ошибке на экране и вернуться в меню. Кроме того, ваша программа должна напечатать, если транзакция прошла успешно. В случае неудачной транзакции ваша программа распечатает причину неудачной транзакции.

Ваша программа должна иметь возможность обрабатывать следующие транзакции:

  • Внесите деньги на счет
  • Снятие денег со счета
  • Чек, обналиченный по счету
  • Запрос баланса счета

Существует ограничение на количество обналичиваемых чеков на сберегательном счете. Лимит составляет 2 чека в месяц. За каждый чек, превышающий лимит, взимается штраф в размере 0,25 доллара. Если имеется достаточно средств для обналичивания чека, но нет штрафа, транзакция должна пройти, и итоговый остаток будет равен нулю.

Вот формат файла учетной записи для одной учетной записи (поля данных разделены ровно одним пробелом):

Account type, S for saving, C for checking (1 character)
Account number of 5 digits
Last name of account holder (15 characters)
First name of account holder (15 characters)
Balance of the account in the form xxxxx.xxx
An integer field indicating how many checks have been cahsed this month (three digit)
An interest rate in the form of xx.xx (e.g. 10.01 = 10.01%)
For names with fewer than 15 characters, the data will be padded to have width of 15 characters.

Вот пример файла учетной записи:

C 12345 Smith           John              100.000  10  0.00
S 45834 Doe             Jane             3462.340   0  0.30
C 58978 Bond            Jones              13.320   5  0.00

* Создание временного файла В FORTRAN есть способ создать временный файл. Использование: OPEN (UNIT =, STATUS = "SCRATCH", ...) Нет необходимости предоставлять (ФАЙЛ = ””). Используя временный файл, вы можете скопировать учетные записи из файла учетной записи во временный файл. Затем при копировании данных обратно из временного файла в файл учетной записи выполните необходимые транзакции. Ваша программа не должна копировать учетные записи между этими двумя файлами в случае сбоя транзакции.

Пожалуйста, прости мой английский, я японец.

1 Ответ

2 голосов
/ 05 апреля 2009

Говорят, что такое утверждение, как:

OPEN (7, ACCESS = 'DIRECT',STATUS = 'SCRATCH')

Вы можете создать временный файл, который будет действовать только до тех пор, пока вы его не закроете, и не будет сохранен на диск. Этот файл не требует имени (он никогда не будет называться по имени), просто номер единицы (в моем примере 7).

Вы можете использовать этот файл для временного хранения информации об учетной записи во время транзакции. Вам это нужно, потому что, когда вы вставляете строки в реальный файл, и вы не хотите перезаписывать последующие данные. Так они говорят:

  • Копировать все во временный файл
  • Если транзакция прошла успешно, скопируйте данные обратно в основной файл, но
    • Пропустить строки, которые должны быть удалены
    • Добавить в строки, которые должны быть вставлены

Это помогает?

...