PDA

View Full Version : ایجاد شرط جهت خروج از برنامه



mgmreza
دوشنبه 27 خرداد 1387, 01:38 صبح
با سلام
من با زبان c تحت داس ، برنامه اي نوشتم که مثلا بزرگترين عدد را پيدا ميکند ولي اين برنامه به گونه اي است که در همان ابتدا تعداد ورود اعداد را توسط کاربر مشخص ميکند اما من ميخواهم که کاربر عدد هاي مورد نظر را وارد کند و در انتها با وارد کردن عدد صفر ورود اعداد خاتمه يابد و بزرگترين عدد نمايش داده شود. البته ميدانم که مثلا با دستور while(ave[i]!=0) ميتوان از برنامه خارج شد اما چون متغیر ave[i] ، باید از نوع آرایه باشد به همین دلیل دستور while(ave[i]!=0) عمل نميکند. اگر در اين مورد راهنمايي بفرماييد ممنون ميشوم

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
main(){
float ave[10],amax=0;
int i,n;
clrscr();
printf("enter...\n");
scanf("%d",&n);
for(i=0;i<n;++i){
printf("enter an ave:");
scanf("%f",&ave[i]);
}
amax=ave[0];
for(i=1;i<n;++i)
if (ave[i]>amax){
amax=ave[i];
}
printf("\n max=%5.2f , position=%d"amax);
getche();
}
با تشکر

fateme.gh
دوشنبه 27 خرداد 1387, 02:52 صبح
سلام
اگه اول برنامه رو اينجوري شروع كنين مشكلتون حل ميشه
int i=0;
float ave[10];
void main(){
scanf ("%f",&ave[i]);
if (ave[i]!=0)
while (ave[i]!=0){

mgmreza
سه شنبه 28 خرداد 1387, 03:43 صبح
سلام
اگه اول برنامه رو اينجوري شروع كنين مشكلتون حل ميشه
int i=0;
float ave[10];
void main(){
scanf ("%f",&ave[i]);
if (ave[i]!=0)
while (ave[i]!=0){

با سلام
من برنامه را با دستورات شما شروع کردم اما در خروجی فقط یک عدد را میگیرد و دیگر کار نمیکند و در ابتدا هم اشاره کردم که وقتی به صورت float ave; از متغیر استفاده میکنم برنامه درست عمل میکند اما چون متغیر ave[i] یک آرایه است و برای پیدا کردن بزرگترین عدد هم به آرایه نیاز داریم به همین دلیل دستور while(ave[i]!=0) به درستی عمل نمیکند.
اگر بیشتر راهنمایی بفرمایید خیلی ممنون میشوم.
با تشکر

fateme.gh
سه شنبه 28 خرداد 1387, 07:37 صبح
سلام
اين كد جواب ميده
اگه بازم مشكلي داشت پيغام بذاريد
موفق باشين
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int i=0;
float ave[10],max=0;
void main(){
scanf("%f",&ave[i]);
if ( ave[i]!= 0 )
while (ave[i]!=0){
if (ave[i]>max)
max=ave[i];
i++;
scanf("%f",&ave[i]);
}
printf("%f",max);
getch();
}