InstagramTwitterSnapChat


 
وصف

العودة   منتديات سكاو > الكليات الجامعية > منتدى كلية الحاسبات وتقنية المعلومات > منتدى قسم علوم الحاسبات
التسجيل مشاركات اليوم البحث
   
   


هنا تجمع طلاب وطالبات cpcs302 د.فادي فوز

منتدى قسم علوم الحاسبات

إضافة رد
 
أدوات الموضوع إبحث في الموضوع انواع عرض الموضوع
منتديات طلاب وطالبات جامعة الملك عبد العزيز منتديات طلاب وطالبات جامعة الملك عبد العزيز
  #1  
قديم 19-05-2010, 01:08 AM
الصورة الرمزية الكاتب

الكاتب الكاتب غير متواجد حالياً

سبحان الله وبحمده

 
تاريخ التسجيل: Mar 2008
التخصص: علوم الحاسبات
نوع الدراسة: إنتظام
المستوى: متخرج
الجنس: ذكر
المشاركات: 397
افتراضي رد: هنا تجمع طلاب وطالبات cpcs302 د.فادي فوز


المشاركة الأصلية كتبت بواسطة gadOoOrah مشاهدة المشاركة
شكرا لك اخوي الكاتب الدكتور فادي طالب مننا
An Infix to Postfix Translator
والاوراق اللي نزلتها في المكتبه ما كان من ضمنها فياليت لوكانت عندك تنزلها لنا ...
وجزيت خيرا ان شاء الله...

هلا أخوي gadOoOrah
العفو ماسوينا شئ
بالنسبة للأورااق اللي بالمكتبة كان من ضمنها المشروع تقريبا 4 أوراق بس موب مشكلة أنزله هنا
وهذا المشروع برنامج يقوم بتحويل جملة يدخلها المستخدم من infix إلى postfix


الكود

كود:
using System;
using System.Collections.Generic;
using System.Text;
namespace Postfix_Parser
{
classToken
{
publicstaticint code;
publicstaticstring attribute = "";
}
classParser
{
publicconstint id = 256;
publicconstint num = 257;
publicstaticstring input = "";
publicstaticstring p = "";
staticint x = 0;
publicToken NextTerminal()
{
char c;
Token token = newToken();
c = input[x];
if ((x + 1) < input.Length)
{
x++;
}
if (char.IsLetter(c) == true)
{
Token.attribute = c.ToString();
Token.code = id;
}
elseif (char.IsDigit(c) == true)
{
Token.attribute = c.ToString();
Token.code = num;
}
else
{
Token.code = (int)c;
}
return token;
}
publicvoid output()
{
p = "";
expr();
Console.WriteLine("The Postfix is : ");
Console.WriteLine(p);
Console.ReadLine();
}
publicvoid expr()
{
int lookahead = Token.code;
if (lookahead == id || lookahead == num || lookahead == (int)'-' || lookahead == (int)'(')
{
term();
edash();
}
else
{
Console.WriteLine("syntx error");
}
}
publicvoid edash()
{
int lookahead = Token.code;
switch (lookahead)
{
case (int)'+': match((int)'+');
term();
p += "+";
edash();
break;
case (int)'-': match((int)'-');
term();
p += "-";
edash();
break;
}
}
publicvoid term()
{
int lookahead = Token.code;
if (lookahead == id || lookahead == num || lookahead == (int)'-' || lookahead == (int)')')
{
factor();
tdash();
}
else
{
Console.WriteLine("syntx error");
}
}
publicvoid tdash()
{
int lookahead = Token.code;
switch (lookahead)
{
case (int)'*': match((int)'*');
factor();
p += "*";
tdash();
break;
case (int)'/': match((int)'/');
factor();
p += "/";
tdash();
break;
}
}
publicvoid factor()
{
int lookahead = Token.code;
string lex;
switch (lookahead)
{
case id: lex = Token.attribute;
match(id);
p += lex;
break;
case num: match(num);
p += Token.attribute;
break;
case'(': match((int)'(');
expr();
match((int)')');
break;
case'-': match((int)'-');
factor();
p += "-";
break;
default: Console.WriteLine("syntx error");
break;
}
}
publicvoid match(int t)
{
Parser parse = newParser();
if (Token.code == t)
{
parse.NextTerminal();
}
else
{
Console.WriteLine("syntx error");
}
}
staticvoid Main(string[] args)
{
Parser parse = newParser();
Console.WriteLine("Please Enter the Infix Translation :");
input = Console.ReadLine();
Console.WriteLine();
parse.NextTerminal();
parse.output();
}
}
}



output




بالتوفيق

 


توقيع الكاتب  



تسلم الأيـآدي على التوقيع الذووق *_^



اللهم إن كان رزقي في السماء فأنزله وإن كان في الأرض فأخرجه وإن كان بعيدا فقربه وإن كان قريبا فيسره وإن كان قليلا فكثره وإن كان كثيرا فبارك لي فيه اللهم اغنني بحَلالِك عن حرامك وبفضلك عمَّن سواك يا مقيل العثرات.. يا مبتدئا بالنعم قبل استحقاقها....

 

رد مع اقتباس

 

إضافة رد


تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

 


الساعة الآن 09:50 AM


Powered by vBulletin® Version 3.8.9 Beta 3
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Ads Organizer 3.0.3 by Analytics - Distance Education

أن كل ما ينشر في المنتدى لا يمثل رأي الإدارة وانما يمثل رأي أصحابها

جميع الحقوق محفوظة لشبكة سكاو

2003-2025