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

برنامج صغير يقرأ من صفحة ويب ويشفر النص

مغلق
بدأه (Mermaid) في 25 ديسمبر 2007 · 2 رد · 704 مشاهدة · في لغة C و ++C
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

أنا ياجماعه اريد أن اقوم بعمل برنامج (بالسي بلس بلس طبعا) يقرأ من صفحة ويب يعني يقرأ كود

html

يقرأ ويخزن في مصفوفه لكن أثناء القراءة عندما يصل للنص الحقيقي (الذي سيظهر في صفحة الويب) يقوم بتشفيره ويخزن التشفير في المصفوفة

وفي النهاية يقوم بكتابة هذه المصفوفة في ملف جديد

يعني الهدف من البرنامج (تشفير صفحات الويب)ـ

>>>تقول يارب فهموا قصدي

المهم : أنا قلت قبل ماأبدأ في شغلة قراءة من ملف وكنابة في ملف خليني أجرب شغلة تمييز النص الحقيقي عن باقي كود ال

html

فعملت برنامج صغير يقرأ كود ال

html

ويخزنه في مصفوفة وعندما يصل للنص يطبع

$

وفي النهاية يطبع المصفوفة

مثال:

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

<title>welcome</title>

المفروووووووض البرنامج يطبع :

<title>$$$$$$$</title>

المشكلة ياجماعه إنه مايطلعلي ولا واحد ارور لمن أقوم بعمل كومبايل

لكن عند الرن تعللللللللق الشاشة

رغم إني اعمل تريس على البرنامج أحسه صحييييييييييييييح جدا

فأرجو من أصحاب الخبرة مساعدتي

أنا لا أريد كود جاهز ياجماعة الخير .. فقط أريد من يرشدني إلى مكان الخطأ وسبب التعليق

مشكورين مقدماً

هذا هو الكود :

#include<fstream.h>
#include<stdio.h>
#include<ctype.h>
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>

void main()

{
char array[50] ;
char page[50];
int i;
cout<<"Enter HTML cod: ";
gets(array);

for( i=0;i<strlen(array);i++)
{
  page=array;

     if(array[i+1]=='>' && array[i+2]!='<')
      { i++;
        page='>';
        i++;
          while(array!='<')   //هذه لتشفير النص
          {
              page='$';
              i++;
          }
       page='<';
      }
}
page[i+1]='\n';
cout<<page;


getch();
}

تم تعديل هذه المشاركة بواسطة (Mermaid) في 25 ديسمبر 2007 في 15:38

#2

اولا الغي الهدات الزائدة ثم جربي البرنامج.

tvquran_6.gif

#3

الاخ او الاخت لا اعرف من ولكن السلام عليكم ..

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

int d=0;
cin >> array;
for(i=0;i<50;i++)
{if(array !='#')
d++;
}

ثم تغيرين بعد ذلك الfor الخاصه بالتشفير وتحذف الstrlen وتجعلها تنتهي ب d . حيث d هو عدد الحروف .

هذا التغيير الثاني ممكن ان تتركه انت وتجعله مثل السابق انا غيرته لانه لم ينجح عندي الا بعد هذا التغيير .

هذا بالنسبه للادخال وهو عند التنفيذ بعد هذا التغيير ينفذ بصوره طبيعية ولكن بعد ادخال الكود لغرض تشفير مابينه يخرج البرنامج من التنفيذ ليعود الى شاشة الكود . لاني استخدم TC3 . اي انه

اقتباس
عند الرن تعللللللللق الشاشة

لانك تستخدم نسخه اخرى من اللغة .

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

الاولى .. استخدام i بعد for التشفير لاكثر من مره حيث تزود عليها دون انتباه .

i

f(array[i+1]=='>' && array[i+2]!='<')
{ i++;
page='>';
 while(array!='<')
{
page='$';	   
	   i++;
}
page='<';
page[i+1]='\n';

لانني بصراحه لم افهم ماهو سبب استخدام i بهذا الشكل .. ؟ ابو بصراحه اكثر لم افهم هذا الجزء بأكمله ..

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

المشكله الثانيه .. هي ليست مشكله مؤثره على الكود ولكنها مستقبليه .. وهي بعد تشفير النص الى $ كيف سترجعها الى اصلها ؟؟

ام انك فقط تريد ان تحوله الى هذا الشكل ؟؟؟؟

تحياتي العطره ..

يَارَبُ إِن ضَاقَت قُلُوُب الْنَّاسٍ عَنْ مّافِي .. مِنْ خَيْرٍٍ فَعَفْوكَ لَا يَضِيْقْ ..

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

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