kenman
یک شنبه 01 بهمن 1391, 01:38 صبح
با سلام . دوستان استادمون از ما اینو خواست :
-------------------
برنامه ای بنویسید که از یک آرایه 10 خانه ای از نوع float تشکیل شده که در ابتدا محتویات همه خانه ها صفر است. برنامه پس از اجرا شدن منویی به شکل زیر نمایش میدهد:
I for input
M for minimum
X for maximum
S for sum
A for average
در صورتیکه کاربر حرف I را فشاردهد تابعی به نام () input اجرا می شود و 10 عدد را از کاربر دریافت می کند و در 10 خانه آرایه قرار می گیرد. اگر کاربر حرف M را تایپ کند تابعی به نام ()minimumاجرا می شود از میان 10 عدد موجود در آرایه کوچکترین عدد پیدا میشود و نمایش داده می شود.
اگر کاربر حرف Xرا تایپ کند تابعی به نام ()Maximumاجرا می شود از میان 10 عدد موجود در آرایه بزرگترین عدد پیدا میشود و نمایش داده می شود. اگر حرف S تایپ شود تابعی به نام ()Sum اجرا می شود و مجموعه اعداد 10 خانه آرایه محاسبه و نمایش می یابد.
اگر حرف A تایپ شود تابعی به نام ()Average اجرا می شود و میانگین اعداد 10 خانه آرایه محاسبه و نمایش می یابد.
--------------------------------
اینم از کد من :
-----------------------------------
#include<iostream.h>
#include<conio.h>
int mrinput();
int mrminimum(float m);
int mrmaximum(float x);
int mrsum(float s);
int mraverage(float v);
int message();
int iv=0;
float a[9];
void main()
{
clrscr();
char c;
cout<<"i for input number \n";
c=getch();
switch (c)
{
case 'i':
mrinput();
message();
c=getch();
case 'm':
cout<<mrminimum(0)<<"\n";
message();
c=getch();
case 'x':
cout<<mrmaximum(0)<<"\n";
message();
c=getch();
case 's':
cout<<mrsum(0)<<"\n";
message();
c=getch();
case 'a':
cout<<mraverage(0)<<"\n";
message();
c=getch();
}
}
int mrinput()
{
for(int i=0;i<=9;i++)
{
clrscr();
cout<<"Enter Number "<<i+1<<"\n";
cin>>a[i];
}
iv=1;
cout<<"Enter number Is Complate\n";
return 0;
}
int mrminimum(float m)
{
float min;
min=a[0];
for (int i=1;i<=9;i++)
{
if(min>a[i])
{
min=a[i];
}
}
m=min;
return m;
}
int mrmaximum(float x)
{
float max;
max=a[0];
for (int i=1;i<=9;i++)
{
if(max<a[i])
{
max=a[i];
}
}
x=max;
return x;
}
int mrsum(float s)
{
float sum;
for(int i=0;i<=9;i++)
{
sum=sum+a[i];
}
s=sum;
return s;
}
int mraverage(float v)
{
float ave;
for(int i=0;i<=9;i++)
{
ave=ave+a[i];
}
v=ave/10;
return v;
}
int message()
{
cout<<" I For Input Number.\n M For Minimum.\n X For Maximum.\n S For Sum.\n A For Average.\n";
return 0;
}
----------------------------
مشکل من اینه:
برای اولین بار که i وارد میشه کارشو درست انجام میده . اما بعد از این که i وارد شد. مثلا کاربر هر چی بزنه یه چیزنشون میده. اگر میشه کمکم کنید.
-------------------
برنامه ای بنویسید که از یک آرایه 10 خانه ای از نوع float تشکیل شده که در ابتدا محتویات همه خانه ها صفر است. برنامه پس از اجرا شدن منویی به شکل زیر نمایش میدهد:
I for input
M for minimum
X for maximum
S for sum
A for average
در صورتیکه کاربر حرف I را فشاردهد تابعی به نام () input اجرا می شود و 10 عدد را از کاربر دریافت می کند و در 10 خانه آرایه قرار می گیرد. اگر کاربر حرف M را تایپ کند تابعی به نام ()minimumاجرا می شود از میان 10 عدد موجود در آرایه کوچکترین عدد پیدا میشود و نمایش داده می شود.
اگر کاربر حرف Xرا تایپ کند تابعی به نام ()Maximumاجرا می شود از میان 10 عدد موجود در آرایه بزرگترین عدد پیدا میشود و نمایش داده می شود. اگر حرف S تایپ شود تابعی به نام ()Sum اجرا می شود و مجموعه اعداد 10 خانه آرایه محاسبه و نمایش می یابد.
اگر حرف A تایپ شود تابعی به نام ()Average اجرا می شود و میانگین اعداد 10 خانه آرایه محاسبه و نمایش می یابد.
--------------------------------
اینم از کد من :
-----------------------------------
#include<iostream.h>
#include<conio.h>
int mrinput();
int mrminimum(float m);
int mrmaximum(float x);
int mrsum(float s);
int mraverage(float v);
int message();
int iv=0;
float a[9];
void main()
{
clrscr();
char c;
cout<<"i for input number \n";
c=getch();
switch (c)
{
case 'i':
mrinput();
message();
c=getch();
case 'm':
cout<<mrminimum(0)<<"\n";
message();
c=getch();
case 'x':
cout<<mrmaximum(0)<<"\n";
message();
c=getch();
case 's':
cout<<mrsum(0)<<"\n";
message();
c=getch();
case 'a':
cout<<mraverage(0)<<"\n";
message();
c=getch();
}
}
int mrinput()
{
for(int i=0;i<=9;i++)
{
clrscr();
cout<<"Enter Number "<<i+1<<"\n";
cin>>a[i];
}
iv=1;
cout<<"Enter number Is Complate\n";
return 0;
}
int mrminimum(float m)
{
float min;
min=a[0];
for (int i=1;i<=9;i++)
{
if(min>a[i])
{
min=a[i];
}
}
m=min;
return m;
}
int mrmaximum(float x)
{
float max;
max=a[0];
for (int i=1;i<=9;i++)
{
if(max<a[i])
{
max=a[i];
}
}
x=max;
return x;
}
int mrsum(float s)
{
float sum;
for(int i=0;i<=9;i++)
{
sum=sum+a[i];
}
s=sum;
return s;
}
int mraverage(float v)
{
float ave;
for(int i=0;i<=9;i++)
{
ave=ave+a[i];
}
v=ave/10;
return v;
}
int message()
{
cout<<" I For Input Number.\n M For Minimum.\n X For Maximum.\n S For Sum.\n A For Average.\n";
return 0;
}
----------------------------
مشکل من اینه:
برای اولین بار که i وارد میشه کارشو درست انجام میده . اما بعد از این که i وارد شد. مثلا کاربر هر چی بزنه یه چیزنشون میده. اگر میشه کمکم کنید.