الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كتبت برنامج ولم يدخل في الloop لا ادري اين الخطاء.........عاجلا ,,اليكم السؤال والح

مغلق
بدأه نجلاء في 11 يناير 2003 · 8 رد · 820 مشاهدة · في ارشيف قسم C/C++
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

/لسلام عليكم:

احببت ان اعرض لكم هذا البرنامج الذي قمت بكتابته:ولقد وجدت انه لا يدخل في اللوب "التكرار"

ولا ادري لماذا حاولت وحاولت دون فائده لم يدخل في التكرار اتمنى منكم مساعدتي باسرع وقت لاكتشاف الخطا اين يكمن.............

لان لدي اختبار غدا وشكره لكم جهودكم الرائعه بالمنتدى

وهذا هو البرنامج

                                                                                                        #include<stdio.h>

#include<conio.h>

main( )

{char kind,ch,a;

int days,price,dis,afterdis,total=0;

do

{printf("n enter kind");

scanf("%c",& kind);

printf("nenter days");

scanf("%d",& days );

switch(kind)

{case'1':price=15*days;break;

case'2':price=20*days;break;

case'3':price=27*days;break;

default:printf("error");break;}

if(days<15)

{dis=0;

afterdis=price; }

else if(days>=15)

{dis=price*5/100;

afterdis=price-dis;}

else if(days>=30)

{dis=price*10/100;

afterdis=price-dis;}

else if(days>=45)

{dis=price*10/100;

afterdis=price-dis;}

printf("nkind is %c days %d afterdis %d",kind,days,afterdis);

total+=afterdis;

printf("nagain y/n");

scanf("%C",&ch);}

while(ch=='y');

 printf("ntotal=%d");

a=getche( );

}

ايضا هناك مشكله اخرى وهي ان total لاتظهر قيمته الحقيقيه

اتمنى ان ينسخ ويلصق ببرنامجكم ليتضح لكم البرنلامج...........ارجوكم لا تتاخروا................

السؤال هو

محل تاجير كمبيوتر يريد مكن كتابه برنامج لحساب اجره الكمبيوتر لعدد غير محدود من الستاجرين هناك 3 انواع من الكمبيوترات

ا بنتيوم 1 :15 ريال في اليوم

2بنتيوم2 :20ريال في اليوم

3بنتيوم3: 27ريال في اليوم

لحساب الاجره يجب ان يسال المستخدم عن نوع الكميوتر وعدد ايام اليجار

اذا كانت ايام الايجار 15 يوم واكثر هناك15% خصم

اذاكان ايام الايجار 30 يوم واكثر 10%خصم

واذا كان 45يوم واكثر هناك 15%خصم

عند انتهاء البرنامج من حساب اجره الكمبيوتر يطبع نوع الكمبيوتر وعدد ايام الايجار وكشف حساب اجره الكمبيوتر

عند الانتهاء من حساب الاجره للمستخدم الاول اسالي المستخدم ان كان يريد حساب اجره لمستخدم اخر ام لا عند عدم رغبته قومي بطباعه المجموع الكلي لحساب اجره جميع المستاجرين

...................اتمنى ان لا تكون الاجابه متاخره

#2

السلام عليكم و رحمة الله و بركاته.....

انا لا اعرف كثير في لغة السي و لكن حاولت في البرنامج اشتغل معي و لكن بتغيير بسيط للغة السي بلس بلس .......

لا اعلم اذا كان في البرنامج ينفع استخدم لغتين في نفس الوقت او لا ......

سأكتب لكي البرنامج و سأضع امام الجمل التي كتبتها بلغة السي بلس بلس علامة تعليق فربما تعرفين خطأك.......

#include<stdio.h>

#include<conio.h>

#include<iostream.h>

main( )

{

   char kind,ch,a;

   int days,price,dis,afterdis,total=0;

do

 {

   printf("n enter kind");

   scanf("%c",& kind);

   printf("nenter days");

   scanf("%d",& days );

switch(kind)

 {

  case'1':

     {price=15*days;break; }

  case'2':

     {price=20*days;break; }

  case'3':

     {price=27*days;break; }

  default:cout<<"error";break;

 }

if(days<15)

{

  dis=0;

  afterdis=price;

}

else

  if(days>=15)

   {

     dis=price*5/100;

     afterdis=price-dis;

   }

else

  if(days>=30)

   {

    dis=price*10/100;

    afterdis=price-dis;

    }

else

  if(days>=45)

   {

     dis=price*10/100;

     afterdis=price-dis;

   }

printf("nkind is %c days %d afterdis %d",kind,days,afterdis);

total+=afterdis;

cout<<"nenter again y/n ??";   // printf("nagain y/n");

cin>>ch;   //scanf("%C",&ch);

}while(ch=='y');

/////printf("ntotal=%d");

cout<<"total:"<<total;

a=getche( );

}
#3
#include<stdio.h>

#include<conio.h>



main( )

{

	char kind,ch,a;

	int days,price,dis,afterdis,total=0;



	do

	{

  printf("n enter kind");

  scanf("%c",& kind);

  printf("nenter days");

  scanf("%d",& days );

	switch(kind)

	{

	case'1':price=15*days;break;

	case'2':price=20*days;break;

	case'3':price=27*days;break;

    default: printf("error");break;}



	if(days<15)

	{

  dis=0;

  afterdis=price; 

	}

	else if(days>=15)

	{

  dis=price*5/100;

  afterdis=price-dis;

	}

	else if(days>=30)

	{

  dis=price*10/100;

  afterdis=price-dis;

	}

	else if(days>=45)

	{

  dis=price*10/100;

  afterdis=price-dis;

	}



	printf("nkind is %c days %d afterdis %d",kind,days,afterdis);

	total+=afterdis;

	printf("nagain y/n");

	scanf("%C",&ch);



	}while(ch=='y');



	printf("ntotal=%d", total);

	a=getche( );

}

و لكن رتب الكود مرة أخرى و حاول انت ان تعرف الخطأ بنفسك

ملاحظة في هذا السطر يوجد الخطأ:

printf("ntotal=%d", total);

تحياتي ,,, طلال.

#4

السلام عليكم

بعد كل استدعاء للداله scanf استعملي ما يلي :

fflush(stdin);

جربي ذلك و ضعي اي ملاحظات هنا . ( استدعيت scanf ثلاث مرات فلا بد من وضع الجمله السابقه بعد كل استدعاء ).

حظ موفق

(f)

CIONO1

هناك حتى الأحلام أصبحت ممنوعة ...

إنه لعار أن ننتمي لهكذا أوطان ... لكن ... ربما العار أن نكون نحن أبناء لتلكم أوطان .. من يدري ؟!!

ليعلم أولئك ... إنّ الشعوب إنْ هي استيقظت تسحق ظُلامََهَا ...

There, even in dreams u r wanted

To be a programmer, how a nice dream it was

Leaving ...

أعيدوا لإسمي لونه المفضل

#5

خي برمجه......التعديل كان بالسي بلس بلس ونحن نكتب البرنامج بالسي ......جزاك الله الف خير اخوي.........دعواتي لك بالتوفيق

#6

اخي طلال حاولت وحاولت دون فائده لم اعرف اين الخطا ولم يدخل البرنامج في التكرار......مع شكري الجزيل لكم

اخيtmaaa اشكرك لما وضحته ولكن كل ماذكرته لم يتم دراسته بعد

تمنياتي لكم بالتوفيق وجزاكم الله خير

#7

السلام عليكم

:D لاينبغي القول "لم يتم دراسته بعد " . لا تعتمدي على ما يدرس في المنهاج الدراسي فقط .

بدلا عن استخدام الداله fflush استخدمي getchar(); بعد كل استدعاء لـ scanf .

(f)

CIONO1

هناك حتى الأحلام أصبحت ممنوعة ...

إنه لعار أن ننتمي لهكذا أوطان ... لكن ... ربما العار أن نكون نحن أبناء لتلكم أوطان .. من يدري ؟!!

ليعلم أولئك ... إنّ الشعوب إنْ هي استيقظت تسحق ظُلامََهَا ...

There, even in dreams u r wanted

To be a programmer, how a nice dream it was

Leaving ...

أعيدوا لإسمي لونه المفضل

#8

اخي tmaaa لا اعرف كيف اشكرك نصحتك ساضعها نصب عيني .............

لكن احببت اسالك كيف استطيع ان اطور من نفسي بدون الاعتماد على المنهج الدراسي؟؟؟؟؟؟؟؟

ساجرب ما ذكرته وساخبرك النتيجه دعواتي لك بالتوفيق والسداد

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…