NOTE:
These are a little sketchy...I'll fill in details 'soon'.
Input File:
prompt and read name
open (no mode required -- if your library is compliant)
while (!file)
{
close the file
clear the flags
print error message
prompt and read name
open (no mode required -- if your library is compliant)
}
Output File:
do
{
open_tried <-- false
prompt and read name
open for input (compliance determines if you need a mode flag)
if (!infile)
{
no problems -- open for output (no mode flags needed at all)
open_tried <-- true
}
else
{
ask user for overwrite or append (or choose different name?)
if (overwrite)
{
open for output (no mode flags needed at all)
open_tried <-- true
}
else if (append)
{
open for append (no other mode flags needed)
open_tried <-- true
}
if ((!new_name) && (!file))
{
close file
clear file
}
}
close infile connection
clear infile's flags
} while (!open_tried || !file);