Thread: Why?
View Single Post
Old 09-11-2005, 10:58 AM   #1 (permalink)
Salchester
Salchester
 
Salchester's Avatar
 
Join Date: Jul 2005
Location: In a house
Posts: 230
Salchester is an unknown quantity at this point
Why?

How come when you start the program the name, house, class get read from a file but when the print opion has been chosen the print function runs, but upon completion the name disappears?

Code:
#include <iostream.h>
#include <fstream.h>
#include <iomanip.h>
#include <conio.h>
#include <ctype.h>
#include <dos.h>

void print (void);

int records;
char name[20];
char house;
int set;

int main (void)
{
  int ln;
  char choice;
  ifstream data (".\\Students.txt");
  data >> name;
  data >> house;
  data >> set;
  if (data == 0)
  {
  cout << "Error";
  }
  else
  {
    do
    {
  gotoxy(8,8);
  cout << (char)218 << setw(21) << setfill((char)196) << (char)191 << endl;
  gotoxy(7,9);
  cout << (char)218 << (char)217 << setw(21) << setfill(' ') << (char)192 << setw(45) << setfill((char)196) << (char)191 << endl;
  ln = 10;
  do
  {
    gotoxy(7,ln);
    cout << (char)179 << setw(67) << setfill(' ') << (char)179 << endl;
    ln++;
  } while (ln != 15);
  gotoxy(7,15);
  cout << (char)192 << setw(67) << setfill((char)196) << (char)217 << endl;
  gotoxy(10,9);
  cout << "STUDENT RECORDS...";
  gotoxy(7,17);
  cout << (char)218 << setw(67) << setfill((char)196) << (char)191 << endl;
  ln = 18;
  do
  {
    gotoxy(7,ln);
    cout << (char)179 << setw(67) << setfill(' ') << (char)179 << endl;
    ln++;
  } while (ln != 22);
  gotoxy(7,22);
  cout << (char)192 << setw(67) << setfill((char)196) << (char)217 << endl;
  gotoxy(9,19);
  cout << "Press 'A' to add new record, 'P' to print records, 'N' to view";
  gotoxy(9,20);
  cout << "next record or 'R' to return to main menu.";
  do
  {
  gotoxy(9,11);
  cout << "Name: " << name;
  gotoxy(9,12);
  cout << "House: " << house;
  gotoxy(9,13);
  cout << "Class: " << set;
  data >> name;
  data >> house;
  data >> set;
  gotoxy(60,20);
  cin >> choice;
  choice = toupper (choice);
  } while (choice == 'N');
  data.close();
  switch (choice)
  {
    case 'A':
             break;
    case 'P': print();
             break;
    case 'R':
             break;
    default: cout << "Error";
  }
  } while (choice != 'R');
  }

  return 0;
}

void print (void)
{
  ifstream data (".\\Students.txt");
  ofstream printer ("LPT1");
  records = 0;
  clrscr();
  gotoxy(31,13);
  cout << "Printing, Students.txt" << endl;
  gotoxy(22,16);
  cout << setw(40) << setfill('=') << endl;
  gotoxy(22,18);
  cout << setw(40) << setfill('=') << endl;
  delay(1000);
  gotoxy(23,17);
  cout << setw(38) << setfill('>') << endl;
  delay(1000);
  printer << "data.txt" << endl;
  printer << "-----------------------------------------------------------------------------" << endl;
  printer << "                                                                       Page 1" << endl;
  do
  {
    data >> name;
    data >> house;
    data >> set;
    printer << name << " ";
    printer << house << " ";
    printer << set << endl;
    records++;
  } while (!data.eof());
  printer << "-----------------------------------------------------------------------------" << endl;
  printer << " Records in file: " << records << endl;
  printer << "-----------------------------------------------------------------------------" << endl;
  printer << "\f";
  printer.close();
  data.close();
}
__________________
Many Thanks, in advance!

Salchester.
The Future Is Here - Are You Ready?
Salchester is offline   Reply With Quote