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

تحويل Flow Chart عن الكتب المباعة إلى برنامج ؟

مغلق
بدأه يـارا في 2 يونيو 2006 · 14 رد · 1,797 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

مطلوب مني تحويل الـ flow chart المرفق إلى برنامج

و كتبت هذا الكود لكنه ما تطبق !! :wacko:

#include<iostream.h>
main()
{
int x[5][4]={110,1,44,13,111,2,13,15,112,3,17,42,113,4,15,31,114,5,64,23 };
int i,j,p1,p2,q1,q2,q3;
char answer;

do 
{
cout<<"enter the book number \n";
cin>>p1;
for (int i=0;i<5;i++)
{
if (x[0]==p1) {p2==1;
else p2==0;
cout << " book not found\n";}}
if (p2 ==1) 
{ cout<<"enter the q ";
cin>>q1;
for (int j=0;j<5;j++)
{
if(x[j][2]==q1) {q2==1;
q3==x[j][2];
else q2==0; 
cout << " not enouph\n; }}
if(q2==1)
{cout<<"the q is "<<q3<<"\n";
cout << "do you want to countinue ? press Y to yes and N to no ";
cin >> answer; 
if (answer=='Y')
{for(int i=0;i<5;i++)
cout<<x[2]*x[3];}}											' هذا يعني إيجاد حاصل ضرب سعر الكتاب الواحد في كمية الكتب 
}
cout<<"do you want to serch about another book ? \n";
while (p2!=0 || q2!=0 || answer =='N' )
}

الله يعافيكم لو توضحون لي الأخطاء اللي فيه و الله اني متورطه مره

و ودي أسأل عن لغات البرمجة بشكل عام سواء

C,C++,C#,VisualBasic.Net

أيهم أقوى ؟ عشان ودي أركز على وحده لانه الجامعه الله يغثها تعطينا من كل لغه حبتين ؟ :blink:

the_book.doc

تم تعديل هذه المشاركة بواسطة يـارا في 2 يونيو 2006 في 01:33

#2

أنا صححت الأخطاء اللغوية فقط و لم أرى كيفية عمله, الحاجات الغلط حطيتها فى comment و فى حاجات زودتها بسيطة.

#include <iostream>
//#include <iostream.h>
using namespace std;

void main()
{
int x[5][4]={110,1,44,13,111,2,13,15,112,3,17,42,113,4,15,31,114,5,64,23 };
int i,j,p1,p2,q1,q2,q3;
char answer;

do
{
cout<<"enter the book number \n";
cin>>p1;
for (int i=0;i<5;i++)
{
if (x[0]==p1) /*{*/p2=1/*p2==1*/;
else p2=0/*p2==0*/;
cout << " book not found\n";}/*}*/
if (p2 ==1)
/*{ */cout<<"enter the q ";
cin>>q1;
for (int j=0;j<5;j++)
{
if(x[j][2]==q1) {q2=1/*q2==1*/;
q3=x[j][2]/*q3==x[j][2]*/;}
else q2=0/*q2==0*/;
cout << " not enouph\n"; }/*}*/
if(q2==1)
/*{*/cout<<"the q is "<<q3<<"\n";
cout << "do you want to countinue ? press Y to yes and N to no ";
cin >> answer;
if (answer=='Y')
{for(int i=0;i<5;i++)
cout<<x[2]*x[3];}/*}*/											/*' هذا يعني إيجاد حاصل ضرب سعر الكتاب الواحد في كمية الكتب*/
//}
cout<<"do you want to serch about another book ? \n";
}while (p2!=0 || q2!=0 || answer =='N' );
//}




}

نصائح:

1. إستخدام التهميش حتى يسهل عليكى تتبع الكود و خاصة الأقواس(التى كان بها أخطاء كثييييرة فى برنامجك).

2. إتباع الإرشادات التى تظهر فى الأخطاء عند بناء البرنامج.

3. المعامل == ليس هو المعامل = :).

4. إتباع ال flowchart بسيط جدا إذا كنتى تعرفى معانى الرموز و الأشكال فيها.

#3

Blueteeth

الله يجزاك الف خير البرنامج مافيه أخطاء زي اول

بس عند التطبيق ما يطلعلي نفس المطلوب :wacko:

يعني فيه خطأ بتحويلي من flow chrt للبرنامج !

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

و بالنسبة لـ <iostream.h>

هل هي خطأ ؟ لأنه كل البرامج نستدعي فيها هذي المكتبة !

تم تعديل هذه المشاركة بواسطة يـارا في 2 يونيو 2006 في 17:50

#4

بالنسبة لـ <iostream.h> هذه لغة ال c

اما ال c++ فنقوم باستخدام

include <iostream>

using namespace std

فانت يمكنك استخدام اينا منهما سوف يعمل

ENG. IMAD, Programing is a way of life, It's in the air, we breath It's pumps through our veines, Without it, we soon crumble to dust

#5

لا يا أختى iostream.h ليس خطأ و لكن إما تستخدميه أو تستخدمى iostream مع using namespace std; ليس الإثنين سويا. و الأخير هو الأختيار الأحسن. لأن كل الكومبيلرز بتدعمه, مثلا أنا عندى فى الكومبيلر اللى بستخدمه لا يدعم ال iostream.h .

إن شاء الله حبقى أشوف ال logic بتاع البرنامج.

#6

أنا كان نفسى أعدل فى برنامجك بس بجد مش فاهم المتغيرات بتعبر عن إيه و ماشى إزاى فكتبت برنامج جديد أعتقد إنه بينفذ ال flowchart مظبوط >

#include <iostream>
using namespace std;

struct book{
	int isbn;
	int qnty;
	float prc;
	book(int ISBN=0, int quantity=0, float price=0):isbn(ISBN), qnty(quantity), prc(price)
	{}
};

int find_book(book s[],int size,int isbn)
{
	int r = -1;
	for (int i=0; i<size; i++)
	{
		if (s.isbn == isbn)
		{
			r = i;
			break;
		}
	}

	return r;
}


void main()
{
	const int NUM=5;	// the number of books in the store
	book store[NUM];

	/* VARIABLES JUST TO FILL INPUTS */
	int qnty_seed=34;
	float price_seed=23.45F;
	/* */

	/* FILL INPUTS */
	for (int i=0; i<NUM; i++)
	{
		/* I USED THESE EQUATIONS JUST TO GENERATE UNIQUE VALUES */ 
		store.isbn = i;
		store.prc = price_seed + i*3;
		store.qnty = qnty_seed + i*4;
	}
	/* */

	/* BEGIN TRANSACTION */
	char answer = 'Y';
	int isbn,qty;
	while (answer=='Y' || answer=='y')
	{
		cout << "\nEnter the number of the book: ";
		cin >> isbn;
		int index = find_book(store,NUM,isbn);

		if (index < 0)  // book not found
		{
			cout << "Book not found.\n";
			continue;
		}

		cout << "Enter Quantity: ";
		cin >> qty;

		if (store[index].qnty < qty)
		{
			cout << "Quantity not available.\n";
			continue;
		}

		cout << "Quantity available = " << store[index].qnty << endl;
		cout << "Do you want to continue[y/n] ";
		char mid_answer;
		cin >> mid_answer;
		if (mid_answer=='N' || mid_answer=='n')
			continue;

		cout << "\nBook number = " << store[index].isbn << endl;
		cout << "Available quantity = " << store[index].qnty << endl;
		cout << "Remaining quantity [After transaction] = " << store[index].qnty-qty << endl;
		cout << "Total selling price = " << qty*store[index].prc << "\n\n";

		store[index].qnty -= qty;

		cout << "Do you want to perform another transaction[y/n] ";
		cin >> answer;
	}
}

ناتج تنفيذه >>

Enter the number of the book: 2
Enter Quantity: 4
Quantity available = 42
Do you want to continue[y/n] y
Book number = 2
Available quantity = 42
Remaining quantity [After transaction] = 38
Total selling price = 117.8
Do you want to perform another transaction[y/n] y
Enter the number of the book: 1
Enter Quantity: 55
Quantity not available.
Enter the number of the book: 1
Enter Quantity: 14
Quantity available = 38
Do you want to continue[y/n] y
Book number = 1
Available quantity = 38
Remaining quantity [After transaction] = 24
Total selling price = 370.3
Do you want to perform another transaction[y/n] n

بالتوفيق إن شاء الله و أسألكم الدعاء.

تم تعديل هذه المشاركة بواسطة Blueteeth في 2 يونيو 2006 في 21:26

#7

جزااااااك الله كل خير يا أخي .

من جد ما قصرت معي

بس من فين اغير محتويات المصفوفة لأني بجد مالقيت الكود اللي يكافيء هذا الكود :

int x[5][4]={110,1,44,13,111,2,13,15,112,3,17,42,113,4,15,31,114,5,64,23 };

معليش تعبتك معي

و بالنسبة لهذي :

اقتباس
struct book{

int isbn;

int qnty;

float prc;

book(int ISBN=0, int quantity=0, float price=0):isbn(ISBN), qnty(quantity), prc(price)

{}

};

إيش معناها ؟

و ربي يسعدك دنيا و آخره .

#8
اقتباس
struct book{

int isbn;

int qnty;

float prc;

book(int ISBN=0, int quantity=0, float price=0):isbn(ISBN), qnty(quantity), prc(price)

{}

};

دا يا أختى structure و هو بناء موجود فى السى/سى++ لتجميع عدة أشياء مرتبطة ببعضها معا.

أنا إستخدمته و لم أستخدم ال array لأنى لم أعرف ماذا تمثل ال 2D array اللى إنتى مستخدماها بالإضافه إنه أسهل فهو يخزن كل المعلومات الخاصة بكل كتاب فى وحدة واحدة.

* isbn هو رقم الكتاب و qnty هو الكمية المتوفرة و prc هو ثمن الكتاب.

علشان تملى البيانات تاخدى كل عنصر فى ال array و تملى محتوياته جوة لووب.

لو مش عارفه قوليلى ال array دى بتعبر عن إيه بالظبط و أنا حكتبلك مثال.

#9

سلامي للجميع...

اذا تستعملي ++Turbo c استخدمي <include<iostream.h#

اما اذ ++visual c استخدمي using namespace std

ليه المصفوفه بهذا الشكل؟؟

int x[5][4]={110,1,44,13,111,2,13,15,112,3,17,42,113,4,15,31,114,5,64,23 };

ليه ما عملتيها

x[20]=:...

؟؟

حسب ما علمت انها ترمز الى الكتب ارقام الكتب الكتوفره في المكتبه!!! صح؟؟

اما المساواة فهي عند الاستعلام اقصد مع جملة if تكون هكذا ==

اما في جمل الاسناد تكون واحده فقط =

ارجو توضيح ماذا يريد السؤال؟؟

محتار!!! مش عارف شوتعمل؟؟! عندك مشاكل ونفسك تنحل؟؟!

عليك بالاقتراب من خالقك

عليك بصلاة الاستخارة

وعليك بالصدقة

داوو مرضاكم بالصدقة

ما نقص مال من صدقة

تصدقو ولو بشق تمرة

#10

المصفوفة اللي انا مستخدمتها عبارة عن مصفوفة ذات بعدين ( خمس صفوف و أربع أعمدة )

بهذا الشكل :

bn 	bname		quantity			price  
110	VB   		44				13
111	NW		13				15
112	VC		17				42
113	HW		15				31
114	SW		64				23

أما المتغيرات فأنا استخدمت المتغيرات التالية :

i , j = counter

p1 = book number

q1,q3 = quantity

Blueteeth && Magnom

كيف ؟ يعني فيه أمل يضبط البرنامج ؟ :(

#11

له له يا يارا، كل شي له حل

هاي برنامجك مع بعض التعديلات وإن شاء الله كل شي تمام

****************

#include <iostream.h>

#include <conio.h>

main()

{ int x[5][4]={110,1,44,13,111,2,13,15,112,3,17,42,113,4,15,31,114,5,64,23 };

int i,j,number,quantity,price,p;

char answer;

do

{ clrscr();

p=0;

cout<<"Enter the book number \n";

cin>>number;

for (i=0;i<5;i++)

if (x[0] == number)

{ p=1;

j=i;

break;

}

if (p==1)

{ cout<<"Enter the quantity \n";

cin>>quantity;

if(x[j][2] < quantity)

{ cout<<"Not enough quantity \n";

cout<<"Do you want to continue? press (Y) to yes (N) to no \n";

cin >>answer;

}

else

{ cout<<"The quantity of the book number "<<number<<" is: "<<quantity<<" \n";

cout<<"Do you want to continue? press (Y) to yes (N) to no \n";

cin >>answer;

if (answer != 'n' && answer != 'N')

{ price = number * quantity;

cout<<"Number of the book: "<<x[j][0]<<" \n";

cout<<"Quantity of the book: "<<x[j][2]<<" \n";

cout<<"Remainder: "<<x[j][2] - quantity<<" \n";

cout<<"The price of the sold books: "<<price<<" \n";

cout<<"Do you want to continue? press (Y) to yes (N) to no \n";

cin >>answer;

}

}

}

else

{ cout<<"The book not found \n";

cout<<"Do you want to continue? press (Y) to yes (N) to no \n";

cin >>answer;

}

} while (answer != 'n' && answer != 'N');

return 0;

}

وأي استفسار انا جاهز :)

ممكن هيك أوضح ،أقصد اتجاه الكتابة، اسف بس لاني جديد

وحملت الملف cpp انسخيه داخل bin وافتحيه

#include <iostream.h>

#include <conio.h>

main()

{ int x[5][4]={110,1,44,13,111,2,13,15,112,3,17,42,113,4,15,31,114,5,64,23 };

int i,j,number,quantity,price,p;

char answer;

do

{ clrscr();

p=0;

cout<<"Enter the book number \n";

cin>>number;

for (i=0;i<5;i++)

if (x[0] == number)

{ p=1;

j=i;

break;

}

if (p==1)

{ cout<<"Enter the quantity \n";

cin>>quantity;

if(x[j][2] < quantity)

{ cout<<"Not enough quantity \n";

cout<<"Do you want to continue? press (Y) to yes (N) to no \n";

cin >>answer;

}

else

{ cout<<"The quantity of the book number "<<number<<" is: "<<quantity<<" \n";

cout<<"Do you want to continue? press (Y) to yes (N) to no \n";

cin >>answer;

if (answer != 'n' && answer != 'N')

{ price = number * quantity;

cout<<"Number of the book: "<<x[j][0]<<" \n";

cout<<"Quantity of the book: "<<x[j][2]<<" \n";

cout<<"Remainder: "<<x[j][2] - quantity<<" \n";

cout<<"The price of the sold books: "<<price<<" \n";

cout<<"Do you want to continue? press (Y) to yes (N) to no \n";

cin >>answer;

}

}

}

else

{ cout<<"The book not found \n";

cout<<"Do you want to continue? press (Y) to yes (N) to no \n";

cin >>answer;

}

} while (answer != 'n' && answer != 'N');

return 0;

}

M18581M.cpp

محتار!!! مش عارف شوتعمل؟؟! عندك مشاكل ونفسك تنحل؟؟!

عليك بالاقتراب من خالقك

عليك بصلاة الاستخارة

وعليك بالصدقة

داوو مرضاكم بالصدقة

ما نقص مال من صدقة

تصدقو ولو بشق تمرة

#13

يسلمو يا ورده :)

#include <iostream.h>
#include <conio.h>
main()
{ int x[5][4]={110,1,44,13,111,2,13,15,112,3,17,42,113,4,15,31,114,5,64,23 };
  int i,j,number,quantity,price,p;
  char answer;
  do
  { clrscr();
	p=0;
	cout<<"Enter the book number \n";
	cin>>number;
	for (i=0;i<5;i++)
	  if (x[0] == number)
	  {	p=1;
	j=i;
	break;
	  }
	if (p==1)
	{ cout<<"Enter the quantity \n";
	  cin>>quantity;
	  if(x[j][2] < quantity)
	  {	cout<<"Not enough quantity \n";
	cout<<"Do you want to continue? press (Y) to yes (N) to no \n";
	cin >>answer;
	  }
	  else
	  { cout<<"The quantity of the book number "<<number<<" is: "<<quantity<<" \n";
	cout<<"Do you want to continue? press (Y) to yes (N) to no \n";
	cin >>answer;
	if (answer != 'n' && answer != 'N')
	{ price = number * quantity;
	  cout<<"Number of the book: "<<x[j][0]<<" \n";
	  cout<<"Quantity of the book: "<<x[j][2]<<" \n";
	  cout<<"Remainder: "<<x[j][2] - quantity<<" \n";
	  cout<<"The price of the sold books: "<<price<<" \n";
	  cout<<"Do you want to continue? press (Y) to yes (N) to no \n";
	  cin >>answer;
	}
	  }
	}
	else
	{ cout<<"The book not found \n";
	  cout<<"Do you want to continue? press (Y) to yes (N) to no \n";
	  cin >>answer;
	}
  } while (answer != 'n' && answer != 'N');
  return 0;
}

محتار!!! مش عارف شوتعمل؟؟! عندك مشاكل ونفسك تنحل؟؟!

عليك بالاقتراب من خالقك

عليك بصلاة الاستخارة

وعليك بالصدقة

داوو مرضاكم بالصدقة

ما نقص مال من صدقة

تصدقو ولو بشق تمرة

#14

Super_emad55

شكرا على الفائدة الكبيره يا اخي

Blueteeth

الف شكر و و الله ما قصرت ابدا

و البرنامج حقك راح اخليه كمرجع لابد اني ادرسه و افصفصه B)

Magnom

كل الشكــــــــر لك على المساعده

و البرنامج ماشي 100 % عيني عليك بارده

#15

ولو... احنا دايما في الخدمه وإن شاء الله ما حدا رح يقصر :)

خجلتيني هيك :">

موفقه...

محتار!!! مش عارف شوتعمل؟؟! عندك مشاكل ونفسك تنحل؟؟!

عليك بالاقتراب من خالقك

عليك بصلاة الاستخارة

وعليك بالصدقة

داوو مرضاكم بالصدقة

ما نقص مال من صدقة

تصدقو ولو بشق تمرة

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

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