TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
Answers
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
Forums
Monthly Leaders
Forum guidelines
stephen barry
NA
4
8.4k
Filestream
Jun 24 2013 6:04 PM
Please help me with this prblem;
The Project name of this, is called "PERSONAL ASSISTANT"
It is aim helping users Add,Edit,Search and DELETE RECORDS FROM FILES.
here is what i have tried so far
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace NiitProject
{
class PersonalAssistant
{
public void ShowIntro()
{
//Guide to the user
Console.Write("\nHELLO");
Console.WriteLine("\n\t\t ************** Your are Welcome!!! *************** ");
Console.WriteLine("\nTo Your ***PERSONAL ASSISTANT PROGRAM*** ");
Console.Write("This Program is Aim at helping you store Contact Details and Details of meetings");
Console.Write("\\Appointments.");
Console.WriteLine("\n\nKindly Enter Letter \\m\\ to view the Main Menu");
//To catch a user Defined Exception
try
{
char key = Convert.ToChar(Console.ReadLine());
}
catch (FormatException e)
{
//Message To be Displayed when tried
Console.WriteLine(e.Message);
}
Console.WriteLine("\n\t\t ***** MAIN MENU *****");
Console.WriteLine("\n(1.) Contact");
Console.WriteLine("\n(2.) Meetings\\Appointment");
Console.WriteLine("\nPress 1 OR 2 to Select any of the above Operations");
Main_Menu_Condition_For_Contact();
}
public void Main_Menu_Condition_For_Contact()//condition for Each Menu
{
try
{
//variable used for Menu Selection
int InputNum = Convert.ToInt32(Console.ReadLine());
//Input Validation Condition
while ((InputNum < 1) || (InputNum > 2))
{
//Input Validation Message
Console.WriteLine("\nINVALID NUMBER ENTERED.Before You can continue Enter 1 OR 2");
//Repeat Input Number
InputNum = Convert.ToInt32(Console.ReadLine());
}
//condition for Contact Menu
if (InputNum == 1)
{
//SubMenu List1
Console.Write("\n\t\t*****SUBMENUS FOR CONTACT*****");
Console.WriteLine("\n(1.) Add new Contact");
Console.WriteLine("\n(2.) Delete Contact");
Console.WriteLine("\n(3.) Edit Contact");
Console.WriteLine("\n(4.) Search Contact");
Console.WriteLine("\nPress 1,2,3 OR 4 to Select any of the above Operations");
//SubMenu Method for contact is been Called
SubMenuCondition_ForContact();
}
else if (InputNum == 2)
{
//Submenu List1 for Meeting
Console.Write("\n\t\t***** SUBMENUS FOR MEETING//APPOINTMENT *****");
Console.WriteLine("\n(1.) Add an Appointment ");
Console.WriteLine("\n(2.) Delete an Appointment");
Console.WriteLine("\n(3.) Edit an Appointment");
Console.WriteLine("\n(4.) Search for an Appointment");
//Message to prompt user to enter the correct value
Console.WriteLine("\nPress 1,2,3 OR 4 to Select any of the above Operations");
//SubMenu Method for Appointment is been Called
Sub_Menu_Condition_4_Meeting();
}
}
//User Defined Exception
catch (FormatException E)
{
//To Display Exception Message
Console.WriteLine(E.Message);
}
}
public void SubMenuCondition_ForContact()//Conditions for SubMenu
{
//Variable to Accept A Valid Value
int InputMenu2 = Convert.ToInt32(Console.ReadLine());
//Input Validation Condition
while ((InputMenu2 < 1) || (InputMenu2 > 4))
{
Console.WriteLine("\nINVALID NUMBER ENTERED.Before You can continue Enter 1,2,3 OR 4");
//Variable to accept a Value
InputMenu2 = Convert.ToInt32(Console.ReadLine());
}
//Statement to Carry out operation from any of the contact SubMenu Options
//int InputSelectionForContact;
switch (InputMenu2)
{
case 1:
{
AddContact();
}
break;
case 2:
{
DELETE();
}
break;
case 3:
{
Edit_Contact();
}
break;
case 4:
{
Search_Contact();
}
break;
default:
Console.WriteLine("\nNo operation for that value");
break;
}
}
public void AddContact()
{
FileStream fs = new FileStream("PersonalAssistant.txt", FileMode.Append, FileAccess.Write);
StreamWriter writer = new StreamWriter(fs);
Console.WriteLine("\nHow many Contacts do want to Add");
int Add = Convert.ToInt32(Console.ReadLine());
string NameContact;
double ContactPhone;
string Address;
for (int Index = 0; Index < Add; Index++)
{
Console.WriteLine("\nEnter the Name of Contact {0}", Index + 1);
NameContact = Console.ReadLine();
Console.WriteLine();
Console.WriteLine("\nEnter the Phone Number ");
ContactPhone = Convert.ToDouble(Console.ReadLine());
Console.WriteLine();
Console.WriteLine("\nEnter the Contact Address");
Address = Console.ReadLine();
//Leave A BlankLine
Console.WriteLine();
//Writes Contacts To File
writer.Write(NameContact);
//Write PhoneNumber To file
writer.Write(ContactPhone);
//Console.WriteLine();
writer.Write(Address);
Console.WriteLine();
Console.WriteLine("\nYour Contact Has been Added");
}
writer.Flush();
writer.Close();
fs.Close();
}
public void DELETE()
{
FileStream fs = new FileStream("PersonalAssistant.txt", FileMode.Open, FileAccess.Read, FileShare.Delete);
//StreamReader sr = new StreamReader(fs);
StreamReader sr = new StreamReader(fs);
sr.BaseStream.Seek(0, SeekOrigin.Begin);
string Receive = sr.ReadLine();
Boolean found = false;
Console.WriteLine("\nEnter the Name of contact that which to delete from the file");
string SearchValue = Console.ReadLine();
SearchValue = Receive;
while ((Receive != null) && (found == false))
{
if (Receive == SearchValue)
{
found = true;
SearchValue = Receive;
File.Delete(SearchValue);
}
sr.Close();
fs.Close();
}
Console.WriteLine("\nThe Data has been Deleted");
}
public void Edit_Contact()
{
FileStream fs = new FileStream("PersonalAssistant.txt", FileMode.Append, FileAccess.Write, FileShare.Inheritable);
//FileStream f=new FileStream("temp.txt");
StreamWriter sr = new StreamWriter(fs);
Console.WriteLine("\nHow Many Contact do which to modify");
int Number = Convert.ToInt32(Console.ReadLine());
for (int Index = 0; Index < Number; Index++)
{
Console.WriteLine("\nEnter the New Name for contact {0}", Index + 1);
string Name = Console.ReadLine();
Console.WriteLine("\nEnter the New Phone Number");
double Phone = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("\nEnter the New Address for Contact");
string Address = Console.ReadLine();
//Display Blank Line
Console.WriteLine();
sr.WriteLine(Name);
sr.WriteLine(Phone);
sr.WriteLine(Address);
}
sr.Flush();
sr.Close();
fs.Close();
Console.WriteLine("\nYou have Successfully Modified Your Record");
}
public void Search_Contact()
{
FileStream fs = new FileStream("PersonalAssistant.txt", FileMode.Open, FileAccess.Read);
StreamReader sr = new StreamReader(fs);
sr.BaseStream.Seek(0, SeekOrigin.Begin);
string Name, Address;
double phone;
Name = sr.ReadLine();
phone = sr.Read();
Address = sr.ReadLine();
Boolean found = false;
Console.WriteLine("\nEnter The name of the Contact to Search for");
string SearchName = Console.ReadLine();
if ((Name == SearchName) || (found = false))
{
found = true;
//SearchName = Name;
Console.WriteLine("{0}", Name);
//Name = sr.ReadLine();
Console.WriteLine("{0}", phone);
//phone = sr.Read();
Console.WriteLine("{0}", Address);
//Address = sr.ReadLine();
}
fs.Flush();
sr.Close();
fs.Close();
Console.WriteLine("{0} ", SearchName + "Was not found");
}
public void Sub_Menu_Condition_4_Meeting()
{
//Variable to Accept A Valid Value
int InputMenu2 = Convert.ToInt32(Console.ReadLine());
//Input Validation Condition
while ((InputMenu2 < 1) || (InputMenu2 > 4))
{
Console.WriteLine("\nINVALID NUMBER ENTERED.Before You can continue Enter 1,2,3 OR 4");
//Variable to accept a Value
InputMenu2 = Convert.ToInt32(Console.ReadLine());
}
//Statement to Carry out operation from any of the SubMenu Options
//int InputSelectionForContact;
switch (InputMenu2)
{
case 1:
{
Add_Meeting();
}
break;
case 2:
{
DELETE_Meeting();
}
break;
case 3:
{
Edit_Meeting();
}
break;
case 4:
{
Search_Meeting();
}
break;
default:
Console.WriteLine("\nNo operation for that value");
break;
}
}
public void Add_Meeting()
{
FileStream fs = new FileStream("Meeting.txt", FileMode.Append, FileAccess.Write);
StreamWriter writer = new StreamWriter(fs);
Console.WriteLine("\nHow many meeting(s) do want to Add");
int Add = Convert.ToInt32(Console.ReadLine());
string Meeting_Subject;
string Meeting_Address;
double Meeting_DATE;
for (int Index = 0; Index < Add; Index++)
{
Console.WriteLine("\nEnter the Subject of Meeting {0}", Index + 1);
Meeting_Subject = Console.ReadLine();
Console.WriteLine();
Console.WriteLine("\nEnter the Meeting Address ");
Meeting_Address = Console.ReadLine();
Console.WriteLine();
Console.WriteLine("\nEnter the Date of the Meeting");
Meeting_DATE = Convert.ToDouble(Console.ReadLine());
//Leave A BlankLine
Console.WriteLine();
//Writes MeetingSubject To File
writer.Write(Meeting_Subject);
//Write Meeting Address To file
writer.Write(Meeting_Address);
//Write Meeting Date to file
writer.Write(Meeting_DATE);
Console.WriteLine();
Console.WriteLine("\nYour Meeting Has been Added");
}
writer.Flush();
writer.Close();
fs.Close();
}
public void DELETE_Meeting()
{
FileStream fs = new FileStream("Meeting.txt", FileMode.Open, FileAccess.Read, FileShare.Delete);
//StreamReader sr = new StreamReader(fs);
StreamReader sr = new StreamReader(fs);
sr.BaseStream.Seek(0, SeekOrigin.Begin);
string Receive = sr.ReadLine();
Boolean found = false;
Console.WriteLine("\nEnter the Subject of the meeting that which to delete from the file");
string SearchValue = Console.ReadLine();
SearchValue = Receive;
while ((Receive != null) && (found == false))
{
if (Receive == SearchValue)
{
found = true;
SearchValue = Receive;
File.Delete(SearchValue);
}
sr.Close();
fs.Close();
}
Console.WriteLine("\nThe Meeting has been Deleted");
}
public void Edit_Meeting()
{
FileStream fs = new FileStream("Meeting.txt", FileMode.Append, FileAccess.Write);
//FileStream f=new FileStream("temp.txt");
StreamWriter sr = new StreamWriter(fs);
Console.WriteLine("\nHow Many Meeting do which to modify");
int Number = Convert.ToInt32(Console.ReadLine());
for (int Index = 0; Index < Number; Index++)
{
Console.WriteLine("\nEnter the New Subject for Meeting {0}", Index + 1);
string New_Meeting_Subject = Console.ReadLine();
Console.WriteLine("\nEnter The New Date For Meeting");
double New_Meeting_DATE = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("\nEnter the New Address for Contact");
double New_Meeting_Address = Convert.ToDouble(Console.ReadLine());
//Display Blank Line
Console.WriteLine();
sr.WriteLine(New_Meeting_Subject);
sr.WriteLine(New_Meeting_DATE);
sr.WriteLine(New_Meeting_Address);
}
sr.Flush();
sr.Close();
fs.Close();
}
public void Search_Meeting()
{
FileStream fs = new FileStream("Meeting.txt", FileMode.Open, FileAccess.Read);
StreamReader sr = new StreamReader(fs);
sr.BaseStream.Seek(0, SeekOrigin.Begin);
string Meeting_Subject;
string Meeting_Address;
double Meeting_DATE;
Meeting_Subject = sr.ReadLine();
Meeting_DATE = sr.Read();
Meeting_Address = sr.ReadLine();
//Boolean found = false;
Console.WriteLine("\nEnter the Name of the Meeting to Search for");
string SearchMeeting = Console.ReadLine();
while (Meeting_Subject != null)
{
if (Meeting_Subject == SearchMeeting)
{
//found = true;
SearchMeeting = Meeting_Subject;
Console.WriteLine(Meeting_Subject);
Meeting_Subject = sr.ReadLine();
Console.WriteLine(Meeting_Address);
Meeting_Address = sr.ReadLine();
Console.WriteLine(Meeting_DATE);
Meeting_DATE = sr.Read();
fs.Flush();
sr.Close();
fs.Close();
}
else
{
Console.WriteLine("{0} ", SearchMeeting + "Was not found");
}
}
}
public static void Main(string[] args)
{
PersonalAssistant ps = new PersonalAssistant();
string keepgoing = "yes";
do
{
ps.ShowIntro();
Console.WriteLine("\nWill You Like To Perform Another Operation.");
Console.WriteLine("\nEnter yes to go back to the Main Menu or any other key to cancel");
keepgoing = Console.ReadLine();
} while (keepgoing.Equals("yes"));
Console.ReadLine();
}
}
}
Reply
Answers (
1
)
ListBox1.Items.Clear(); Does not work in Generic Collection
Static