bmvgod
سه شنبه 25 شهریور 1393, 16:16 عصر
باسلام
برنامه ای به صورت چند تابع نوشتم کلاً به شرح زیر:
1.Enter Data
2. Sort
3. Search
4. Min
5. Max
6. Exit
که با انتخاب هر گزینه کار خاص خودشو انجام بده، ولی درست کار نمیکنه الل خصوص از گزینه 2 به بعد،کدم به صورت زیر:
#include<iostream.h>
#include<conio.h>
int Print_Data(int arr[],int n);
void Bubble_Sort(int arr[],int n);
int Input_Data(int arr[],int n);
int Search_data(int arr[],int n);
int Min_data(int arr[],int n);
int Max_data(int arr[],int n);
void print_menu(int num);
int main()
{
static int arr[100]={0};
int num,n;
char anss;
print_menu(num);
cout<<"Plesse Selact a number: ";
cin>>num;
switch(num)
{
case 1:
Input_Data(arr,n); //break;
case 2:
Bubble_Sort(arr,n); //break;
case 3:
Search_data(arr,n); break;
case 4:
Min_data(arr,n); break;
case 5:
Max_data(arr,n); break;
}
getch();
return 0;
}
int Input_Data(int arr[],int n)
{
char anss;
int i,num;
cout<<"Enter n: ";
cin>>n;
for(i=0;i<n;i++)
{
cout<<"Enter number "<<(i+1)<<" : ";
cin>>arr[i];
}
cout<<"Will do you back to Menu? (y/n) ";
cin>>anss;
if(anss=='y' || anss=='Y')
{
clrscr();
print_menu(num);
cout<<"Plesse Selact a number: ";
cin>>num;
}
return 0;
}
void Bubble_Sort(int arr[],int n)
{
int x,num;
char anss;
for(x=n-1;x>=0;x--)
for(int j=0;j<=x;j++)
{
if(arr[j]>arr[j+1])
{
int t=arr[j];
arr[j]=arr[j+1];
arr[j+1]=t;
}
}
cout<<"Sort Seccsefull."<<endl;
cout<<"Will do you back to Menu? (y/n) ";
cin>>anss;
if(anss=='y' || anss=='Y')
{
clrscr();
print_menu(num);
cout<<"Plesse Selact a number: ";
cin>>num;
}
}
int Print_Data(int arr[],int n)
{
int r;
for(r=0;r<n;r++)
cout<<arr[r]<<" ";
return 0;
}
int Search_data(int arr[],int n)
{
int s,mid,start,end;
start=0;
end=n-1;
cout<<"Enter a number for search: ";
cin>>s;
while(start<=end)
{
mid=(start+end)/2;
if(arr[mid]==s)
{
cout<<"Found at "<<mid;
break;
}
if(arr[mid]<s)
end=mid-1;
else if(arr[mid]>s)
start=mid+1;
}
if(start>end)
cout<<"No found!";
return 0;
}
int Min_data(int arr[],int n)
{
int min;
min=arr[0];
cout<<"Min number is: "<<min;
return 0;
}
int Max_data(int arr[],int n)
{
int max;
max=arr[n-1];
cout<<"Min number is: "<<max;
return 0;
}
void print_menu(int num)
{
cout<<"1.Enter data."<<endl;
cout<<"2.Sort."<<endl;
cout<<"3.Search."<<endl;
cout<<"4.Min."<<endl;
cout<<"5.Max."<<endl;
cout<<"6.Exit."<<endl;
}
میشه راهنماییم کنبد که مشکل کجاست؟
فایل Exe به پیوست میزارم
با تشکر از شما دوستان
برنامه ای به صورت چند تابع نوشتم کلاً به شرح زیر:
1.Enter Data
2. Sort
3. Search
4. Min
5. Max
6. Exit
که با انتخاب هر گزینه کار خاص خودشو انجام بده، ولی درست کار نمیکنه الل خصوص از گزینه 2 به بعد،کدم به صورت زیر:
#include<iostream.h>
#include<conio.h>
int Print_Data(int arr[],int n);
void Bubble_Sort(int arr[],int n);
int Input_Data(int arr[],int n);
int Search_data(int arr[],int n);
int Min_data(int arr[],int n);
int Max_data(int arr[],int n);
void print_menu(int num);
int main()
{
static int arr[100]={0};
int num,n;
char anss;
print_menu(num);
cout<<"Plesse Selact a number: ";
cin>>num;
switch(num)
{
case 1:
Input_Data(arr,n); //break;
case 2:
Bubble_Sort(arr,n); //break;
case 3:
Search_data(arr,n); break;
case 4:
Min_data(arr,n); break;
case 5:
Max_data(arr,n); break;
}
getch();
return 0;
}
int Input_Data(int arr[],int n)
{
char anss;
int i,num;
cout<<"Enter n: ";
cin>>n;
for(i=0;i<n;i++)
{
cout<<"Enter number "<<(i+1)<<" : ";
cin>>arr[i];
}
cout<<"Will do you back to Menu? (y/n) ";
cin>>anss;
if(anss=='y' || anss=='Y')
{
clrscr();
print_menu(num);
cout<<"Plesse Selact a number: ";
cin>>num;
}
return 0;
}
void Bubble_Sort(int arr[],int n)
{
int x,num;
char anss;
for(x=n-1;x>=0;x--)
for(int j=0;j<=x;j++)
{
if(arr[j]>arr[j+1])
{
int t=arr[j];
arr[j]=arr[j+1];
arr[j+1]=t;
}
}
cout<<"Sort Seccsefull."<<endl;
cout<<"Will do you back to Menu? (y/n) ";
cin>>anss;
if(anss=='y' || anss=='Y')
{
clrscr();
print_menu(num);
cout<<"Plesse Selact a number: ";
cin>>num;
}
}
int Print_Data(int arr[],int n)
{
int r;
for(r=0;r<n;r++)
cout<<arr[r]<<" ";
return 0;
}
int Search_data(int arr[],int n)
{
int s,mid,start,end;
start=0;
end=n-1;
cout<<"Enter a number for search: ";
cin>>s;
while(start<=end)
{
mid=(start+end)/2;
if(arr[mid]==s)
{
cout<<"Found at "<<mid;
break;
}
if(arr[mid]<s)
end=mid-1;
else if(arr[mid]>s)
start=mid+1;
}
if(start>end)
cout<<"No found!";
return 0;
}
int Min_data(int arr[],int n)
{
int min;
min=arr[0];
cout<<"Min number is: "<<min;
return 0;
}
int Max_data(int arr[],int n)
{
int max;
max=arr[n-1];
cout<<"Min number is: "<<max;
return 0;
}
void print_menu(int num)
{
cout<<"1.Enter data."<<endl;
cout<<"2.Sort."<<endl;
cout<<"3.Search."<<endl;
cout<<"4.Min."<<endl;
cout<<"5.Max."<<endl;
cout<<"6.Exit."<<endl;
}
میشه راهنماییم کنبد که مشکل کجاست؟
فایل Exe به پیوست میزارم
با تشکر از شما دوستان