PDA

View Full Version : كنترل برنامه با منو



اوبالیت به بو
پنج شنبه 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;
}

چي جوري بايد تنظيم كنم تا برنامه خاتمه پيدا نكنه؟

اوبالیت به بو
پنج شنبه 22 مرداد 1388, 18:03 عصر
دوستان مشكل حل شد.
اين 2 كار رو انجام دادم:
1) آخر هر عمليات تابع main رو صدا زدم.
2) عبارت getch و return 0 رو در پايان تابع main حذف كردم.