اوبالیت به بو
پنج شنبه 22 مرداد 1388, 14:37 عصر
سلام
من يه منو دارم كه شامل يه سري عمليات ميشه كه با عدد كناريشون تفكيك ميشن.
كاربر عدد رو وارد مي كنه و وارد عمليات مربوط به اون عدد ميشه. حالا وقتي كارش تموم ميشه مي خوام برگرده به منو اصلي و پايدار بمونه. مشكل من اينه كه وقتي كه به منو اصلي برمي گرده برنامه تموم مي شه.
اين يه تيكه از برنامه من هستش:
#include <iostream.h>
#include <conio.h>
typedef struct MyStudent
{
char FName[50],LName[50];
long StudentNumber;
}Student;
Student st[100];
int cnt=0; //Counter for array(st) of struct
//fields:
long STDNum; //Student Number
char FirstName [50], LastName[50];
void Title();
void ShowMenu();
int Item_Select();
int Search(long num);
void Add_Student();
int ReadKey=0; //Select Items
int main()
{
switch(Item_Select()){
case 1:Add_Student(); break;
}//end of switch
getch();
return 0;
}
int Item_Select()
{
ShowMenu();
cin >> ReadKey;
if (ReadKey>=1 || ReadKey<=6)
return ReadKey;
return -1;
}
void Title()
{
clrscr();
cout << "\t\t\t" << " Student Managment" << "\n\n";
}
void ShowMenu()
{
//clrscr();
Title();
cout << "Select one of the items:" << "\n\n";
cout << "========================" << "\n\n\n";
cout << "\t" << "1- Add New Student in Class" << "\n\n\n";
cout << "\t" << "2- Delete Student" << "\n\n\n";
cout << "\t" << "3- Edit Student Information" << "\n\n\n";
cout << "\t" << "4- Reporting" << "\n\n\n";
cout << "\t" << "5- Search Student" << "\n\n\n";
cout << "\t" << "6- Exit to program" << "\n\n\n";
}
void Add_Student()
{
clrscr();
int Key=0;
if (cnt<100)
{
cout <<"Please Enter Student Number:" << "\t";
cin >> STDNum;
if (Search(STDNum)==-1)
{
//First Name
cout << "\n\n" << "Please Enter First Name:" << "\t";
cin >> FirstName;
//Last Name
cout << "\n\n" << "Please Enter Last Name:" << "\t";
cin >> LastName;
//input all values in struct
for (int i=0;i<50;i++)
{
st[cnt].FName[i]=FirstName[i];
st[cnt].LName[i]=LastName[i];
}
st[cnt].StudentNumber=STDNum;
}
else
cout <<"you can not Add this student";
cnt++;
//whats Code????????
}
}
int Search(long num)
{
for (int i=0;i<100;i++)
if (num==st[i].StudentNumber)
return i;
return -1;
}
چي جوري بايد تنظيم كنم تا برنامه خاتمه پيدا نكنه؟
من يه منو دارم كه شامل يه سري عمليات ميشه كه با عدد كناريشون تفكيك ميشن.
كاربر عدد رو وارد مي كنه و وارد عمليات مربوط به اون عدد ميشه. حالا وقتي كارش تموم ميشه مي خوام برگرده به منو اصلي و پايدار بمونه. مشكل من اينه كه وقتي كه به منو اصلي برمي گرده برنامه تموم مي شه.
اين يه تيكه از برنامه من هستش:
#include <iostream.h>
#include <conio.h>
typedef struct MyStudent
{
char FName[50],LName[50];
long StudentNumber;
}Student;
Student st[100];
int cnt=0; //Counter for array(st) of struct
//fields:
long STDNum; //Student Number
char FirstName [50], LastName[50];
void Title();
void ShowMenu();
int Item_Select();
int Search(long num);
void Add_Student();
int ReadKey=0; //Select Items
int main()
{
switch(Item_Select()){
case 1:Add_Student(); break;
}//end of switch
getch();
return 0;
}
int Item_Select()
{
ShowMenu();
cin >> ReadKey;
if (ReadKey>=1 || ReadKey<=6)
return ReadKey;
return -1;
}
void Title()
{
clrscr();
cout << "\t\t\t" << " Student Managment" << "\n\n";
}
void ShowMenu()
{
//clrscr();
Title();
cout << "Select one of the items:" << "\n\n";
cout << "========================" << "\n\n\n";
cout << "\t" << "1- Add New Student in Class" << "\n\n\n";
cout << "\t" << "2- Delete Student" << "\n\n\n";
cout << "\t" << "3- Edit Student Information" << "\n\n\n";
cout << "\t" << "4- Reporting" << "\n\n\n";
cout << "\t" << "5- Search Student" << "\n\n\n";
cout << "\t" << "6- Exit to program" << "\n\n\n";
}
void Add_Student()
{
clrscr();
int Key=0;
if (cnt<100)
{
cout <<"Please Enter Student Number:" << "\t";
cin >> STDNum;
if (Search(STDNum)==-1)
{
//First Name
cout << "\n\n" << "Please Enter First Name:" << "\t";
cin >> FirstName;
//Last Name
cout << "\n\n" << "Please Enter Last Name:" << "\t";
cin >> LastName;
//input all values in struct
for (int i=0;i<50;i++)
{
st[cnt].FName[i]=FirstName[i];
st[cnt].LName[i]=LastName[i];
}
st[cnt].StudentNumber=STDNum;
}
else
cout <<"you can not Add this student";
cnt++;
//whats Code????????
}
}
int Search(long num)
{
for (int i=0;i<100;i++)
if (num==st[i].StudentNumber)
return i;
return -1;
}
چي جوري بايد تنظيم كنم تا برنامه خاتمه پيدا نكنه؟