PDA

View Full Version : سوال: کمک برای رفع ارور چند برنامه ی ساده در Turbo C تحت داس



|Pishtaz|
چهارشنبه 20 آذر 1392, 13:20 عصر
سلام دوستان . من مبتدی هستم و سه تا برنامه با توربو سی تحت داس نوشتم

اما هرکدوم ارورهایی رو میدن

ممنون میشم راهنماییم کنید

برنامه ها در پیوست همین پست قرار داره


یکی جدول ضرب 10 در 10 هست
یکی حل معادلات درجه 2
یکی هم محاسبه ی S=1+1/2+1/3+...+1/n

jahadgar91
چهارشنبه 20 آذر 1392, 22:12 عصر
ضرب 10*10 با برنامه ی که نوشتی مقایسه کن خودت حالیت میشه.#include<stdio.h>
#include<conio.h>
int main()
{
int x=0,y=0;
for(x=1;x<=10;x++)
{
for(y=1;y<=10;y++)

printf("%d\t",x*y);
printf("\n");
}
getch();
return 0;
}



معادله درجه دوم.... در ضمن همیشه اولویت ها رو رعایت مثل a=1,b=4,c=2 a+b/c جوابش میشه3 اما a+b)/c) جوابش میشه 2.5
#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
{
float a,b,c;
float x,x1,x2;
float d;
clrscr();
printf("enter a"); scanf("%f",&a);
printf("enter b"); scanf("%f",&b);
printf("enter c"); scanf("%f",&c);
d=(b*b)-(4*a*c);

if(d>0)
{
x1=((-b)+sqrt(d))/(2*a);
printf("\nx1%f=",x1);
x2=(-b)-(sqrt(d))/(2*a);

printf("\n\nx2=%f",x2);
}
else if (d=0)
{
x=-b/(2*a);


printf("x=%f",x);
}
else
{
printf("No Result");
}
getch();
return 0;

}

این یکی رو کامل نتونستم چون نمیدونم چی رو میخاد
#include<stdio.h>
#include<conio.h>
int main()
{
int i=1;
int n;
float sum=0;
clrscr();
scanf("%d",&n);
if(i<=n)
sum=sum+1/i;
else
i=i+1;
printf("Sum is:%d",sum);
getch();
return 0;
}


تو همشون سیمی کالن (;) رو رعایت نکرده بودی نباید; اخر ifوifelseوelseوforو ......قرار بدی
ولی اخر printfوscanfومحاسبات قرار بده.

rahnema1
چهارشنبه 20 آذر 1392, 23:23 عصر
سلام یه چند تا تغییر کوچولو دادم شما لازم نیست جلو هر دستور if علامت ; بذارید

#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
{
int a,b,c;
float x,x1,x2;
float d;
clrscr();
scanf("%d%d%d",&a,&b,&c);
d=b*b-4*a*c;
if(d>0)
{
x1=-b+sqrt(d)/2*a;
x2=-b-sqrt(d)/2*a;
}
else if(d=0)
{
x=-b/2*a;
}
else
{
printf("No Result");getch(); return 0;
}
printf("%f",x1);
printf("%f",x2);
printf("%f",x);
getch();
return 0;
}




#include<stdio.h>
#include<conio.h>
int main()
{
int i=1;
int n;
float sum=0;
clrscr();
scanf("%d",&n);
while(i<=n)
{
sum=sum+1.0/i;
i=i+1;
}
printf("Sum is:%f",sum);
getch();
return 0;
}

rahnema1
چهارشنبه 20 آذر 1392, 23:29 عصر
#include<stdio.h>
#include<conio.h>
int main()
{
int x,y;
for(x=1;x<=10;x++)
{
for(y=1;y<=10;y++)
{
printf("%d\t",x*y);
}
printf("\n");
}
return 0;
}

|Pishtaz|
پنج شنبه 21 آذر 1392, 18:25 عصر
ممنون بچه ها . واقعا لطف کردید




#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
{
float a,b,c;
float x,x1,x2;
float d;
clrscr();
printf("enter a"); scanf("%f",&a);
printf("enter b"); scanf("%f",&b);
printf("enter c"); scanf("%f",&c);
d=(b*b)-(4*a*c);

if(d>0)
{
x1=((-b)+sqrt(d))/(2*a);
printf("\nx1%f=",x1);
x2=(-b)-(sqrt(d))/(2*a);

printf("\n\nx2=%f",x2);
}
else if (d=0)
{
x=-b/(2*a);


printf("x=%f",x);
}
else
{
printf("No Result");
}
getch();
return 0;

}




این کدهایی که دادید دو جا ایراد داشت . یکی سطر 19 که یه جفت پرانتز جا افتاده بود

یکی هم سطر 18 که اگه با کد زیر که اصلاح کردم مقایسه کنید متوجه میشید :)

به هر حال ممنون

#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
{
float a,b,c;
float x,x1,x2;
float d;
clrscr();
printf("Enter a:"); scanf("%f",&a);
printf("Enter b:"); scanf("%f",&b);
printf("Enter c:"); scanf("%f",&c);
d=(b*b)-(4*a*c);

if(d>0)
{
x1=((-b)+sqrt(d))/(2*a);
printf("\nx1=%f",x1);
x2=((-b)-(sqrt(d)))/(2*a);

printf("\n\nx2=%f",x2);
}
else if (d=0)
{
x=-b/(2*a);


printf("x=%f",x);
}
else
{
printf("No Result");
}
getch();
return 0;
}

دو تا سوال هم دارم . اون ارور Statement Missing که تو برنامه هام میداد برا چی بود ؟

و یکی اینکه این دستور ها رو که با اسپیس نوشتید و چند کاراکتر اولش اضافی گزاشتید برا چیه ؟ چرا از اول سطر ننوشتید ؟
یا اینتر های اضافی که زدید که بعضی سطرها الکی فاصله دارن


ممنون میشم جواب بدید

rahnema1
پنج شنبه 21 آذر 1392, 19:44 عصر
سلام اینترهای الکی نباید باشندولی اسپیس ها از اصول خوانا نویسی کد هست اونجایی که توی برنامه تون ارور می داد چک کنید ببینید توی برنامه اصلاح شده چه تغییری کرده مشخص میشه که اشکال از کجا بوده