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

لو سمحتوا ممكن رايكم

مغلق
بدأه دكتورة دلع في 20 أبريل 2006 · 6 رد · 539 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

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

وهذا البرنامج يقوم بحساب راتب موظف

اذا تم ادخال 5389.75 لاصبح الراتب مكون من:

10ورقات من فئة 500 ريال

وورقتين من فئة 200 ريال

وورقة من فئة 100 ريال

وورقة من فئة 50 ريال

و4 ورقات من فئة 20 ريال

وورقة من فئة 5 ريال

و4 ورقات من فئة 1 ريال

وقطعة واحدة من فئة 50 هلله

وقطعة واحدمن فئة 25 هلله

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

=============================================

#include<iostream.h>

#include<conio.h>

int main()

{

int mon;

float n0, n1, n2, n3, n4, n5, n6, n7, n8, n9;

cout<<"Enter your money: ";

cin>>mon;

n0=mon/500;

n1=mon%500/200;

n2=mon%500%200/100;

n3=mon%500%200%100/50;

n4=mon%500%200%100%50/20;

n5=mon%500%200%100%50%20/10;

n6=mon%500%200%100%50%20%10/5;

n7=mon%500%200%100%50%20%10%5/1;

n8=mon%500%200%100%50%20%10%5%1/0.5;

n9=mon%500%200%100%50%20%10%5%1%0.5%0.25;

cout<<"\n "<<n0<<" pieces of paper from the 500 riyals.";

cout<<"\n "<<n1<<" pieces of paper from the 200 riyals.";

cout<<"\n "<<n2<<" pieces of paper from the 100 riyals.";

cout<<"\n "<<n3<<" pieces of paper from the 50 riyals.";

cout<<"\n "<<n4<<" pieces of paper from the 20 riyals.";

cout<<"\n "<<n5<<" pieces of paper from the 10 riyals.";

cout<<"\n "<<n6<<" pieces of paper from the 5 riyals.";

cout<<"\n "<<n7<<" pieces of paper from the 1 riyals.";

cout<<"\n "<<n8<<" pieces of paper from the 50 halala.";

cout<<"\n "<<n9<<" pieces of paper from the 25 halala.";

getch();

return 0;

[code]

========================

والمشكلة يطلع error ومو فاهمه على ايش الخطأ

واسفه على الاطاله

#2

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

اان معملتش compile للملف بس اعتقد ان الخطا بيجى فى السطرين دول

n8=mon%500%200%100%50%20%10%5%1/0.5;

n9=mon%500%200%100%50%20%10%5%1%0.5%0.25;

لان المفروض ان خارج القسمه اللى هو من العلامه دى % ده بيكون خارج قسمه صحيحه

يعنى لازم يكون المقسوم والمقسوم عليه عدد صحيح

اعتقد ان هو ده الخطا

سلام عليكم

#3

شكرا على مرورك

اسفه بس لازم يكون الراتب عدد عشري

يسلمووو ويعطيك العافيه

#4

وينكم ياأعضاء المنتدى؟؟؟:o

وين آرئكم ؟؟؟ :o

ياريت تشرفوني بزيارتكم الكريمة

#5

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

ليه مفكرتيش تحلى باسلوب تانى عامة فى فكره تانيه ممكن تحلى بيها الموضوع بدل باقى القسمه بس فى حاجات فى البرنامج بتاعك الاول لازم تعرفيها

1- السطر ده int mon;

مش هايجيب خطا فى ال compile لكن هايجيب خطا فى النتائج لان المفروض ان يكون الراتب عدد عشرى هو كده مش هاياخد الجزء الكسر المفروض يكون float او double

2- السطر ده float n0, n1, n2, n3, n4, n5, n6, n7, n8, n9;

برده هو شغالوكل شىء لكن هايجيبلك خطا فى النتائج لنفس السبب بس بالعكس انتى هنا محتاجه العدد الصحيح فقط ومش محتاجه العدد العشرى يعنى المفروض يكون int

3- انا وضحتها فى ردى السابق وقلت انه مينفعش استخدام علامة خارج القسمه مع عدد غير صحيح

4 - بعد تغيير كل ده برده فى مشكله فى السطر الاخير اننا بنجيب باقى القسمه على عدد غير صحيح ودى ممكن حلها بطريقه بسيطه هى اننا نعامل العدد على انه جزئيين جزء صحيح وجزء كسر دلوقتى بعد تعديل تعريف المتغيرات زى منا قلت كده مش هاياخد الجزء الكسرى من العدد اللى اليوزر هايدخله فلازم نعمل متغير تانى وليكن اسمه temp سكون double او float ونعمل كمان متغير وليكن اسمه mon2 بس يكون int ده علشان ناخد فيه الجزء الكسر ونخليه صحيح يعنى mon2=(temp-mon)*100

كده يبقى احنا عندنا عددين صحيحين واحد للجزء الصحيح وواحد للجزء الكسر بتاع الجزء الصحيح اللى هو mon هانفذ عليه لحد n7 فقط لانه كده بنجيب الاجزاء الصحيحه

والتانى اللى هو اخذ الجزء الكسر اللى هو mon2 هاننفذ عليه اخر سطرين بتوع الجزء من الريال الكسر يعنى بس بدل 0.25 و 0.5 هانقسم على 25 و 50 لانه خلاص هايكون 75 ونعتبره كانه كسر لكن غيرنا الصوره فقط للتسهيل

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

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

اسف مره تانيه على الاطاله

الكود الجديد

int mon,mon2;

int n0, n1, n2, n3, n4, n5, n6, n7, n8, n9;

double temp;

cout<<"Enter your money: ";

cin>>temp;

mon=temp;

mon2=(temp-mon)*100;

n0=mon/500;

n1=mon%500/200;

n2=mon%500%200/100;

n3=mon%500%200%100/50;

n4=mon%500%200%100%50/20;

n5=mon%500%200%100%50%20/10;

n6=mon%500%200%100%50%20%10/5;

n7=mon%500%200%100%50%20%10%5/1;

n8=mon2/50;

n9=mon2%50/25;

// print

cout<<"\n "<<n0<<" pieces of paper from the 500 riyals.";

cout<<"\n "<<n1<<" pieces of paper from the 200 riyals.";

cout<<"\n "<<n2<<" pieces of paper from the 100 riyals.";

cout<<"\n "<<n3<<" pieces of paper from the 50 riyals.";

cout<<"\n "<<n4<<" pieces of paper from the 20 riyals.";

cout<<"\n "<<n5<<" pieces of paper from the 10 riyals.";

cout<<"\n "<<n6<<" pieces of paper from the 5 riyals.";

cout<<"\n "<<n7<<" pieces of paper from the 1 riyals.";

cout<<"\n "<<n8<<" pieces of paper from the 50 halala.";

cout<<"\n "<<n9<<" pieces of paper from the 25 halala.";

cout<<"\nmon="<<n0*500+n1*200+n2*100+n3*50+n4*20+n5*10+n6*5+n7

<<"."<<n8*50+n9*25<<endl;

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

سلام عليكم

#6

الف شكر

ويعطيك العافية

والله يكثر من أمثالك

بصراحه انا كذا ااستوعبت الفكرة وفهمتها

يسلموو

تعبتك معايا

#7

مفيش داعى للشكر بس حاولى تحسنى البرنامج بقى حاولى تعملى فيه loops او مصفوفه

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

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