Think im reading in wrong

I am trying to be able to access info from a file to display it and think my reading in is not working.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
  #include <iostream>
#include <cctype>
#include <cstring>
#include <fstream>
using namespace std;

const int ACTIVITY = 50;
const int TYPE = 25;
const int DATE = 15;
const int INFO = 150;
const int REOCCURRING = 5;
const int OPTIONAL_INFO = 130;


struct planning
{
   char activity[ACTIVITY];
   char type_activity[TYPE];
   char date[DATE];
   char info[INFO];
   char reoccurring[REOCCURRING];
   char optional_info[OPTIONAL_INFO];
};

void readall(const char prompt[], int numb_activities, char result[]);
void getting_plan(planning *pointer, int &count);
void display(planning *pointer);
bool file_write(planning *pointer);
bool load_plans(planning *pointer, int &count);



int main()
{   
   char filename[32]; // array to hold filename
   int num_activities = 0; //integer to hold number of activites
   planning * pointer= new planning[20]; //array of my struct 
   //pointer = NULL;
   char character1; //character to set my loop up
   int count;
   count=0;   
   char choice;

   cout<<"would you like to view any files previously written? either y or n.";
   cin>>choice;
   cin.ignore(100, '\n');
   if(choice == 'y')
   {
      load_plans(pointer, count);
      cout<<pointer[0].activity; 
      display(pointer);
   }
   getting_plan(pointer,count); //calling function 
   display(pointer);
   file_write(pointer);
   load_plans(pointer,count);
   delete pointer;
}

void readall(const char prompt[], int size, char result[])
{
	cout  <<prompt << '\n';
	cin.get(result, size, '\n');
	cin.ignore(100, '\n');
}	


void getting_plan(planning *pointer, int &count)
{
   char character; 		
   //do {
   for(int i=0;(i < 20) && character != 'y';++i){
      readall("please enter what the activity is:", ACTIVITY, pointer[i].activity);
      readall("please enter the type of activity this is: ", TYPE, pointer[i].type_activity);
      readall("please enter the date of the activity: ", DATE, pointer[i].date);
      readall("please enter info to prepare for activity: ", INFO, pointer[i].info);
	  readall("please enter if this activity is reoccurring(yes or no): ", REOCCURRING, pointer[i].reoccurring);
	  readall("please enter any other info or comments", OPTIONAL_INFO, pointer[i].optional_info);
          
      cout <<"Is this all the information you want? Enter either y or n." << '\n';
      cin >>character;
      cin.ignore();
      cout <<'\n';
      ++count;
      }//} while((character == 'n') || (character == 'N'));
}


void display(planning *pointer)
{
   for(int i=0;(*pointer[i].date != '\0');++i)
	{
	cout <<"The name of the activity is: "<<pointer[i].activity << endl;
	cout << "The type activity is: "<<pointer[i].type_activity <<endl;
	cout <<"The date of activity is: "<<pointer[i].date <<endl;
	cout << "The information for activity is: "<<pointer[i].info <<endl;
	cout << "Is this activity reoccurring: "<<pointer[i].reoccurring <<endl;
	cout << "Additional info: "<<pointer[i].optional_info <<endl;
    }
}


bool file_write(planning *pointer)
{
	bool sucess = true;
	ofstream write;
	write.open("filename.txt");
	if (!write) //true -- connect; false -- problem
    {
       cout <<"CAN'T SAVE...\n\n";
       sucess = false;
    }
    else
    {

       for(int i=0; (*pointer[i].date != '\0'); ++i)
       {
        write  <<"The name of the activity is: "<<pointer[i].activity << endl
               << "The type of activity is: "<<pointer[i].type_activity <<endl
	           <<"The date of activity is: "<<pointer[i].date <<endl
	           << "The information about this activity is : "<<pointer[i].info <<endl
	           << "Is the activity reoccurring ?: "<<pointer[i].reoccurring <<endl
               << "Additional info for activity: "<<pointer[i].optional_info <<endl<<endl;
       }
	}
    write.close();
    write.clear();
    return sucess;
}


bool load_plans(planning *pointer,int &count)
{ 
    ifstream read;
    read.open("filename"); //connecting
    
    if (!read) //not connected
       return false;
    
    int i =0;   
    //for(int i =0;i < count; ++i)
    //{
    //Connected to the file and ready to read
    read.get(pointer[i].activity,ACTIVITY,'|');
    read.ignore(100,'|');
    while(read && !read.eof()) //previous read is successful
    {
           read.get(pointer[i].activity, ACTIVITY, '|');
           read.ignore(100, '|');
           read.get(pointer[i].type_activity, TYPE, '|');
           read.ignore(100,'|');
           read.get(pointer[i].date, DATE, '|');
           read.ignore(100,'|');
           read.get(pointer[i].info, INFO, '|');
           read.ignore(100, '|');
           read.get(pointer[i].reoccurring,REOCCURRING,'|');
           read.ignore(100,'|');
           read.get(pointer[i].optional_info, OPTIONAL_INFO, '|');
           read.ignore(100, '|');
        }
    //}
    read.close();
    return true;
}
Topic archived. No new replies allowed.