ورود

View Full Version : کمک در نوشتن برنامه



kingmjl
جمعه 25 مهر 1393, 00:13 صبح
با سلام

یک سوال داشتم استادمون یک برنامه داده که برنامه ای با ویژوال استادیو C++‎‎‎‎‎‎‎‎ توابع بازگشتی که

از چهار بخشه 1- محاسبه فیبوناچی 2- محاسبه فاکتوریل 3- محاسبه xy
4 برج هانوی

که گفته این چهارتا داخل یک برنامه باشه و طوری باشه که

برنامه وقتی اجرا میشه گزینه چاهار آیتم بالا بیاد و یکی رو انتخاب کنه و وقتی انتخاب کرد برنامه مورد نظر اجرا بشه

حالا میتونید راهنمایی کنید که من چطور ( برنامه وقتی اجرا میشه گزینه چاهار آیتم بالا بیاد که سویچ کنه به برنامه مورد نظر ) ؟

این رو خودم نوشتم الته سر تا پا خطاست ببینید کجاش مشکل داره

#include <iostream>
#include <conio.h>
using namespace std;

int k;
cout<<"\n fibonachi=1"<<"\n faktoriel=2"<<"\n x,y=6"<<"\n Hanoi=4";
switch (k) {
case 1:
int fib (int n)
{
if (n==1)
return 0;
else
if (n==2)
return 1;
else
return fib (n-1)+fib(n-2);
}
void main()
{
int x;
cin>>x;
cout<<fib(x);
getch();
}
break;
case 2:
int fact(int n)
{
if(n==1)
return 1;
else
return n*fact(n-1);
}
void main()
{
int n;
cout<<"vard konid adad mord nazara";
cin>>n;
cout<<fact(n);
}
break;
case 3:
long int z (int x,int y)
{
if (y==0)
return 1;
if (y==1)
return x;
else
return x*z(x,y-1)
}
void main ()
{
int x;
cin>>x;
cout<<z(x);
getch();
}
break;
case 4:
void HanoiTower(int Disk, char src,char Help,char Dest)
{
if(Disk == 1)
cout<<"\n Disk 1 From "<<src<<" To "<<Dest;
else
{
HanoiTower(Disk-1,src,Dest,Help);
cout<<"\n Disk "<<Disk<<" From "<<src<<" To "<<Dest;
HanoiTower(Disk-1,Help,src,Dest);
}
}




void main()
{
int disk;
clrscr();
cout<<"\n Enter Number Of Disks = ";
cin>>disk;
HanoiTower(disk,'A','B','C');
getch();

}
break;



لطفا راهنماییم کنید:ناراحت:

StandardCode
شنبه 26 مهر 1393, 07:17 صبح
#include <iostream>
using namespace std;


int fib (int);
int fact(int);
long int z (int,int);
void HanoiTower(int,char,char,char);

main()
{
int k;
cout<<"\n fibonachi=1"<<"\n faktoriel=2"<<"\n Exponentiation=3"<<"\n Hanoi=4 \n";
cin>>k;


int n;
switch (k) {
case 1:
{
cout<<"vard konid adad mord nazara";
cin>>n;
cout<<fib(n);
}
break;
case 2:
{
cout<<"vard konid adad mord nazara";
cin>>n;
cout<<fact(n);
}
break;

case 3:
{
int x,y;
cout<<"vard konid X ra";
cin>>x;
cout<<"vard konid Y ra";
cin>>y;
cout<<z(x,y);
}
break;

case 4:
{
int disk;
cout<<"\n Enter Number Of Disks = ";
cin>>disk;
HanoiTower(disk,'A','B','C');
}
break;

Default:
return 0 ;
}

}


int fib (int n)
{
if (n==1)
return 0;
else
if (n==2)
return 1;
else
return fib (n-1)+fib(n-2);
}


int fact(int n){
if(n==1)
return 1;
else
return n*fact(n-1);
}


long int z (int x,int y)
{


if (y==0)
return 1;
if (y==1)
return x;
else
return x*z(x,y-1);
}


void HanoiTower(int disk ,char src,char Help,char Dest)
{
if(disk == 1)
cout<<"\n Disk 1 From "<<src<<" To "<<Dest;
else
{
HanoiTower(disk - 1,src,Dest,Help);
cout<<"\n Disk "<<disk<<" From "<<src<<" To "<<Dest;
HanoiTower(disk-1,Help,src,Dest);
}
}


یه سوالی دارم ترم چندید و کدام دانشگاه و در چه رشته‌ای تحصیل میکنید؟