المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : لغة C



animelover
30-04-2004, 01:28 AM
احد يحتاج مساعده في برنامج بلغة السي انا في الخدمة.:05:

nora1983s
30-04-2004, 08:49 PM
انا بحتاج برنامج في لغة سي

nora1983s
30-04-2004, 08:50 PM
ارجو الأهتمام ارسلتلك السؤال ارجو الأجابة:33:

animelover
01-05-2004, 03:34 AM
ممكن تحددين السؤال بالضبط؟؟؟

nora1983s
01-05-2004, 10:36 AM
اه ممكن لأنه البرنامج مستعجل بدي اياه بسرعة اذا سمحت هو برنامج compiler في لغة سي لجمل بلغة سي سوف ارسل لك اللغة البسيطة اريد لها مترجم (compiler)

nora1983s
01-05-2004, 10:45 AM
given the gramer g defined as
Termial={if,(,),{,},*,;,+,-,/,0.....9,while,else,for
non terminal={list
list->stmt more statements
morestatments->empty /stmt
stmt->kstatment/assigmentstmt/while stmt/{ } compound
ifstmt->if(condition) statement/if(condition)statement else statement
compound->{list
assigment->id=exp
exp->exp+term/exp-term/term
term->term*factor/(term/factor/factor

nora1983s
01-05-2004, 10:52 AM
term->term*factor/(term/factor)/factor
factor->id/number/exp
number->digitmoredigits
digit->0/1/2....9
moredigits->empty/digitmoredigit
id->letter/more
more->empty/letter more/digit more
condition(id/number==id/number) or instead == > < if you want make more
while->while(condition) stmt
اذا حد بقدر يساعدني بشكركم

nora1983s
01-05-2004, 10:54 AM
animelover ساعدني بسرعة ارجوكاو اي حد يساعدني اذا بقدر
ايميلي هو nora1983s@yahoo.com

2501
03-05-2004, 12:09 AM
u want a compiler for that?...u mean a compiler to convert that source code into native machine language? or something else?

nora1983s
03-05-2004, 12:17 AM
مرحبا البرنامج الي بدي اياه انه في جمل سي مثل جملة while for مكتوبين بملف بدي اعمل برنامج في السي يقرأمن الملف ويتعرف على هاي الجمل الي انا بحددها بس مش اكتر من هيك جمل بسيطة مش كل لغة سي لغة بسيطة انا بحددها يقرأ من ملف اذا لقي الجمل الي انا قلت عليها اوك اذا لقي غيرها يطلع على الشاشة "there are error "
بس هيك يعني

nora1983s
03-05-2004, 12:33 AM
هون بنحتاج في الموضوع lexical analyzer
بنا يتعرف على المدخلات يقطع الجمل الى token ويتعرف عليها

2501
03-05-2004, 12:44 AM
ok...

as i understood so far...u just want to split the source code into something like a tree (scope tree)...if thats correct...then there is one more thing i want to tell b4 i start :D ...i am a dotnet developer...i mean that i only program in managed cpp.net and c sharp.net and vb.net...the logic is same...but syntax is different...

is that OK?...i dont want to make something u dont need...and waste my time...this thing takes some time...

nora1983s
03-05-2004, 12:57 AM
ok thanks for you

bye

2501
03-05-2004, 01:00 AM
sorry...i forgot to mention something in me previous post...i cant edit it now...

anyway...u need a SCRIPT ENGINE...thats all...if so then i need some info regarding the language u r going to use in the script engine...u can use arabic language also... :D ...

i mean what keywords are allowed...r there any comments...and so...

there will be a script file ,a script parser and a script host...script host will do specific jobs which is implemented before creating the script parser...and script parser will parse the script file so it can call what ever u mentioned in the script file...

2501
03-05-2004, 01:03 AM
O'SHIT...ok...never mind...:naughty:

nora1983s
03-05-2004, 01:10 AM
اوك ما فهمت على كل كلامك يعني فهمت بعضه طيب ماشي
ليش ما تكتب بالعربي على العموم شكرا الك

nora1983s
03-05-2004, 01:14 AM
:vereymad:

never mind
:ciao: :mad: :31: :12: :06: :blackeye:

xl_cool
12-05-2004, 06:12 PM
السلام عليكم
انا مطلوب مني بروجيكت عن نظام في بنك
ياخد اسم العميل و رقمه و رصيده واللي متدينه من البنك
الداتا مخزنه في ملف في النوت باد
ويبغى النتيجه في ملف تاني
سوالي
ابي اسحب الداتا عن طريق السترينق والتكرار
ممكن توضح لي الطريقه اكون شاكر لك
على فكره
البرنامج اللي نستخدمه هو تربو سي بلس بلس
اوكي مان :)

animelover
13-05-2004, 08:17 AM
xl_cool ممكن ترسل السؤال الاساسي . علشان اشوفه واساعدك فيه:D

xl_cool
13-05-2004, 02:59 PM
للاسف السوال الاساسي مو معي حاليا
بس ادا فهمت شي حاول تقولي

Arsene Lupin
14-05-2004, 12:42 AM
السلام عليكم
انا مطلوب مني بروجيكت عن نظام في بنك
ياخد اسم العميل و رقمه و رصيده واللي متدينه من البنك
الداتا مخزنه في ملف في النوت باد
ويبغى النتيجه في ملف تاني
سوالي
ابي اسحب الداتا عن طريق السترينق والتكرار
ممكن توضح لي الطريقه اكون شاكر لك
على فكره
البرنامج اللي نستخدمه هو تربو سي بلس بلس
اوكي مان :)

لازم أول شي تعرف ادوات الادخال و الاخراج للملفات.

هم مثل cin, cout... لكن يتعاملون مع الملفات.

لازم تسوي include لـ:

<fstream>

في الأعلى.

أما في البرنامج... اذا بغيت تقرا من الملف... عرف أدات القراءه من الملف:

ifstream din;
din.open("file.txt");

الآن din تعمل بالظبط مثل عمل cin... لكن الفرق أن cin تأخذ المعطيات من المستخدم... أما din فهي تأخذ المعطيات من ملف. طبعا تسميها اي اسم في بالك... مو لازم بالذات din. و لازم تحدد لها ملف معين تقرا منه... تكتبه بين علامات التنصيص بين القوسين مثل المثال الي كتبته. يعني في المثال الي كتبته... الملف الي نقرا منه هو file.txt

اذا بغيت تقرا من ملف ثاني لازم تسكر الملف هذا و تفتح ملف ثاني:

din.close();

din.open("file2.txt");

و ما يحتاج تعيد تعريف din على انها أدات للقراءه من الملف.


اذا بغيت تكتب في ملف... تسوي نفس الطريقه بالظبط... لكن بدال ما تكتب ifstream عشان تعرف الأداة.. تكتب ofstream عشان تعرف أداء للكتابه في الملف.

الفرق الوحيد بينهم الحرف الاول و هو يدل على input او output.

هذي بشكل عام طريقة القراءه و الكتابه بين الملفات.



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

طريقة القراءه هي انك تضع كود قراءه سطر واحد داخل while loop.. مثل كذا:

while(!din.eof())
{
din >> name >> number >> account >> loan;
}

هذا الكود راح يقرا المعلومات الي في الملف حتى نهاية الملف.

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

لكن أظن أفضل طريقه لعمل هالبرنامج هي باستخدام sturct... تضع فيها الاربعة متغيرات هذي. و تستخدم array of structs عشان تضع فيها معلومات الاشخاص كلهم.

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


سلام

animelover
14-05-2004, 03:06 PM
باقول لك الي فهمته

اقراء المعلومات من الملف (رقمه واسمه ورصيده الخ) ب fprintf(cptr,"%s%ld%f%f",x.name,x.account..
تقرا كلهم حتى لو تبغى بس تحسب شي معين يعني زي المتدينه من البنك اوكي بعدين تسوي لوب while(!feof(cptr)l
كذا يكون قرات المعلومات وصارت الحين تابعه للبرنامج يعني تقدر تتحكم فيها تسوي فيها حسابات يعني لو ابغى اضاعف الريصيد واخزنه في ملف ثاني بعد اللوب مباشره اكتب x.account=x.account*2
بعدين اخزن الرصيد الجديد مع باقي المعلومات (الاسم والرقم الحساب وغيرها)
fprintf(sptr,"%s%ld%f..",x.name,x.account ...etc
(sptr بوينتر على الملف الجديد,,, cptr بوينتر على الملف الاساسي)
اتمنى يكون هو الي تبغاه,, :05:

animelover
14-05-2004, 03:09 PM
معليش سوي تعديل على السطر الاول الي هو القراءه fprintf بـ fscanf h اوكي