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

mini word processor

بدأه eng_ibr في 28 فبراير 2005 · 12 رد · 1,511 مشاهدة · في لغة C و ++C
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

هذا البرنامج قمت بعمله ولكنه غلبني كثيراً جداً، وساعدني فيه بعض الأصدقاء

أهديكم البرنامج، وقولوا لي ما رأيكم فيه....على فكرة أنا تعبت فيه كتير :wacko:

#

include<stdio.h>          /*THIS IS DATA STRUCTER WORD PROCESSOR*/
#include<stdlib.h>     /*DONE BY IBRAHIM AL-SHARIFFOR ARAB TEAM 2000*/
#include<string.h>            /*COPY RIGHT 27/2/2005 WE DAY*/
#include<conio.h>   /*  *     *****    *         *        * /*/
#include<alloc.h>  /*   *     *   *     *  *         *             */
#include<ctype.h> /*    *     *****    *         *               */
#include<time.h>  /*    *         *        *         *                 */
#include<dos.h>  /*     *         *         *       *                    */
#define null NULL /*    *         *             *                         */
#define eof EOF
/****************************************************************************/
char tc;
char *r;
int v,o=0,w_count=0;
typedef struct l_n *l_p;
typedef struct l_n
{
char word[100];
l_p u_lnk;
l_p l_lnk;
l_p d_lnk;
l_p r_lnk;
int len_word;
int n_l; long line_num;int txtclr;
};
l_p ptr=null;
/************************************ DECLARATION OF FUNCTIONS **********/
void repl_w(l_p *ptr);
void counter(FILE *f1);
void doubl(FILE *f);
char menu(char *r);
void asking(void);
void delet(l_p *ptr);
void search(l_p *ptr);
void read(l_p *ptr,FILE *f);
void printP(FILE *f1);
l_p create(void);
void print(l_p *ptr);
void help();
/******************************** M A I N *******************************/
main()
{
char *y;
strcpy(r,y);
do{
clrscr();
tc=menu(y);

tolower(tc);
FILE *f;
switch(tc)
{
case 'o':
	fclose(f);
	clrscr();asking();
	gotoxy(3,6); printf("ENTER YOUR FULL PATH FILE NAME\n");
	gotoxy(15,9);o=1;
	gets(y);
	f=fopen(y,"r+");
	ptr=create();
	read(&ptr,f);break;

case 'y':
	window(1,1,80,25);
	textcolor(WHITE);
	textbackground(BLACK);
	clrscr();
	print(&ptr);break;
case 's':
	clrscr();asking();
	search(&ptr);break;
case 'd':
	clrscr();asking();
	delet(&ptr);break;
case 'h': help();break;
case 'c':
	fclose(f);
	fopen(y,"r+");
	counter(f);break;
case 'i':
	fclose(f);
	fopen(y,"r+");
	clrscr();
	doubl(f);break;
case 'e':exit(1);
case 'r':repl_w(&ptr);break;



}/*switch*/

}while(tc!='e');
return 0;
}/*end of main*/

/********************CREATE LIST NODE WITH NAME TEMP********************/
l_p create(void)
{
l_p temp;
temp=(l_p)malloc(sizeof(l_n));
temp->txtclr=7;
temp->n_l=0;
temp->u_lnk=null;
temp->d_lnk=null;
temp->l_lnk=null;
temp->r_lnk=null;
w_count++;
return temp;
}
/*************************** read **************************************/
void read(l_p *ptr,FILE *f)
{
l_p temp,p1,p2,d1;
p1=*ptr;
char c;int i=0;
temp=*ptr;
d1=*ptr;
int x=0;
while((fscanf(f,"%s",temp->word))!=eof)
{
temp->len_word=strlen(temp->word);

	if(c=getc(f)!='\n')
	{ x=0;
	d1->n_l=1;
	temp->r_lnk=d1;
	temp->l_lnk=p1;
	d1->l_lnk=temp;
	p1->r_lnk=temp;
	p1=p1->r_lnk;
	temp=create();
	}/*end of if its line end*/

	else
	{x++;
	if(x>1)
  d1->n_l=x+1;
	temp->r_lnk=d1;
	temp->l_lnk=p1;
	d1->l_lnk=temp;
	p1->r_lnk=temp;
	p1=p1->r_lnk;

	i++;
	d1->line_num=(i+x);
	temp=create();
	d1->d_lnk=temp;
	d1=d1->d_lnk;
	p1=d1;}/* end of else statment */
}/*end of while*/

}/*end of function*/
/***************************** P R I N T ***********************************/

void print(l_p *ptr)
{
int x;
l_p i=*ptr;
l_p j=*ptr;
for(;i;i=i->d_lnk)
{
j=i;
	do{
  textcolor(j->txtclr);
  cprintf("%s ",j->word);
  j=j->r_lnk;
	}while(j->r_lnk!=i->r_lnk);
	for(x=0;x<i->n_l;x++)
	printf("\n");
}/*end of for i*/
getch();
}/*end of function*/
/***************************** search for word ****************************/
void search(l_p *ptr)
{
char str1[100];
clrscr();
asking();
gotoxy(3,6);
printf("ENTER  WORD TO SEACH\n");
gotoxy(15,9);
scanf("%s",str1);
int x,z;
l_p i=*ptr;
l_p j=*ptr;
window(1,1,80,25);
textcolor(WHITE);
textbackground(BLACK);
clrscr();
for(;i;i=i->d_lnk)
{
j=i;
	do{
	z=strcmp(str1,j->word);
	if(z==0)
	textcolor(177);
	else
	textcolor(7);
	cprintf("%s ",j->word);
	j=j->r_lnk;

	}while(j->r_lnk!=i->r_lnk);
for(x=0;x<=i->n_l;x++)
printf("\n"/*,j->line_num*/);
}/*end of for i*/
getch();}/*end of function*/
/*************************** delete word  *****************************/
void delet(l_p *ptr)
{
char str1[100];
gotoxy(3,6);
printf("ENTER THE WORD YOU WANT TO DELETE \n");
gotoxy(15,9);
scanf("%s",str1);
int z;
l_p i=*ptr,p;
l_p j=*ptr;
window(1,1,80,25);
textcolor(WHITE);
textbackground(BLACK);
clrscr();
for(;i;i=i->d_lnk)
{
j=i;
	do{
	z=strcmp(str1,j->word);
	if(z==0){
	j->l_lnk->txtclr=(147);
	j->r_lnk->txtclr=(147);
	if(j==i)
	{i->r_lnk->l_lnk=i->l_lnk;
	i->l_lnk->r_lnk=i->r_lnk;
	i->r_lnk->d_lnk=i->d_lnk;
	i=i->r_lnk;
	break;}

	if(j->r_lnk=i->r_lnk)
	break;
	j->l_lnk->r_lnk=j->r_lnk;
	j->r_lnk->l_lnk=j->l_lnk;

	}
  else  j=j->r_lnk;
  }while(j->r_lnk!=i->r_lnk);
/*for(x=0;x<=i->n_l;x++)
printf("\n");*/
}/*end of for i*/
print(ptr);}/*end of function*/
/***************enter change line with another line****************/



/********************************************************/
/*********THIS FUNCTION TO PRINT THE FILE PAGE BY PAGE */
void printP(FILE *f1)
{char c;int counter=0,l_count,s_count=0;
clrscr();
window(1,1,80,25);textbackground(BLACK);textcolor(WHITE);clrscr();
  gotoxy(1,1);

  while((c=getc(f1))!=EOF)
  {
  if(c=='\n')
  {
  counter++;

  }
  if(counter<=25)
  putchar(c);
  else
  {
  printf("\n\n\n>>>..... ... ... ... \n                PRESS ANY KEY TO DESPLAY THE NEXT PAGE\n");
  getch();
  clrscr();gotoxy(1,1);
  counter=0;
}  }getch();}
/*********************************DOUBLE***********************************/
void doubl(FILE *f)
{char c,z;
window(1,1,80,25);textbackground(BLACK);textcolor(WHITE);clrscr();
  gotoxy(1,1);
printf("desply on the Screen only\n");
printf("Display on the screen & on the file\n");
printf("double in the File only");
z=getch();
z=tolower(z);
switch(z)
{
case 's':
  while((c=getc(f))!=EOF)
  {
	putch(c);
   if(c=='\n')
   {
   putch('\n');//putch('\n');putch('\r');
   }
  }         break;

case 'd':

while((c=getc(f))!=EOF)
  {
	putch(c);fputc(c,f);
   if(c=='\n')
   {
   putch('\n');
   putc('\n',f);//putc('\r',);
   }
  }         break;
}


getch();
}
/**************************** H E L P *************************************/
void help(void)
{
window (20,4,54,20); textbackground (8); clrscr();textcolor(4);
cprintf("\n\r ABOUT:\n\r");
textcolor(7);
cprintf("  This is data structer project\n\r");
cprintf(" aminimum  word  processor  this\n\r program");
cprintf(" can be display file and\n\r counting number ");
cprintf("of words number\n\r of letters replace word");
cprintf("word in\n\r the text file");
cprintf(" replace line on line \n\n\n\r");
cprintf("this project with\n\b\b\b ٌِِِِARAB TEAM 2000\n");
textcolor(4);
cprintf("\n\rCOPYWRITE : IBRAHIM AL-SHARIF\n\r with my best wishes I.R.S");





getch();}
/*********************** COUNTER ******************************/
void counter(FILE *f1)
{char c;
 int cou[127];
 int lcount=0;
 long alphacountc=0,nucou=0;
 long alphacounts=0;
for(v=0;v<127;v++)
cou[v]=0;
  while((c=getc(f1))!=EOF)
  { cou[c]++;;
  if(c=='\n')
  {lcount++;
   }
  }

window (20,4,54,20); textbackground (8); clrscr();textcolor(7);
int i;
for(i='A';i<='Z';i++)
alphacountc+=cou;
for(i='a';i<='z';i++)
alphacounts+=cou;
for(i='0';i<'9';i++)
nucou+=cou;
cprintf("\n\n\r Number of Lines         = %d",lcount+1);
cprintf("\n\r Alphapetecal charachter =%ld \n",alphacounts+alphacountc);
cprintf("\r Numerical Char (numbers)=%ld\n",nucou);;
cprintf("\r Number of words         =%d\n",w_count);
textcolor(3);
cprintf("\n\n\r To display evry charactr ferquncy");
cprintf("\n\n\r Enter D character");
textcolor(6);
cprintf("\n\n\n\n\n\rTO MAIN MENU PRESS ANY KEY");
gotoxy(8,11);cprintf("D");gotoxy(1,17);
char d;
d=getch();
if(d=='d')
{clrscr();
/***************************************notneeded ****************/
/*for(i=0;i<=15;i++)
{cprintf("%c <===> %d\n\r",i,cou);}
cprintf("PRESS ANY KEY TO CONTINUE\n\r");
getch();clrscr();
for(i=16;i<=30;i++)
{cprintf("%c <===> %d\n\r",i,cou);}
cprintf("PRESS ANY KEY TO CONTINUE\n\r");getch();clrscr();*/
/***************************************************************/
for(i=31;i<=45;i++)
{cprintf("%c <===> %d\n\r",i,cou);}
cprintf("PRESS ANY KEY TO CONTINUE\n\r");getch();clrscr();
for(i=46;i<=60;i++)
{cprintf("%c <===> %d\n\r",i,cou);}
cprintf("PRESS ANY KEY TO CONTINUE\n\r");getch();clrscr();
for(i=61;i<=75;i++)
{cprintf("%c <===> %d\n\r",i,cou);}
cprintf("PRESS ANY KEY TO CONTINUE\n\r");getch();clrscr();
for(i=76;i<=90;i++)
{cprintf("%c <===> %d\n\r",i,cou);}
cprintf("PRESS ANY KEY TO CONTINUE\n\r");getch();clrscr();
for(i=91;i<=105;i++)
{cprintf("%c <===> %d\n\r",i,cou);}
cprintf("PRESS ANY KEY TO CONTINUE\n\r");getch();clrscr();
for(i=106;i<=119;i++)
{cprintf("%c <===> %d\n\r",i,cou);}
cprintf("PRESS ANY KEY TO CONTINUE\n\r");getch();clrscr();
for(i=120;i<=126;i++)
{cprintf("%c <===> %d\n\r",i,cou);}
cprintf("Press Any Key To exit to main menu\n\r");
}


getch();
}
/************************** replace line with other****************/
void repl_w(l_p *ptr)
{
 int e;
char str1[100],in[100];

window (20,4,54,20); textbackground (8); clrscr();textcolor(15);
asking();
gotoxy(1,6);textcolor(15);
printf("ENTER THE WORD YOU WANT TO change it \n");
gotoxy(15,9);
scanf("%s",str1);
clrscr();
asking();
gotoxy(1,6);textcolor(15);
cprintf("ENTER THE WORD YOU WANT TO put in \n");
gotoxy(15,9);
scanf("%s",in);
int z;
l_p i=*ptr;
l_p j=*ptr;
window(1,1,80,25);
textcolor(WHITE);
textbackground(BLACK);
clrscr();
for(;i;i=i->d_lnk)
{
j=i;

	do{
	z=strcmp(str1,j->word);
	if(z==0){
	strcpy(j->word,in);
	j->txtclr=(127);

	}
	j=j->r_lnk;
  }while(j->r_lnk!=i->r_lnk);
/*for(x=0;x<=i->n_l;x++)
printf("\n");*/
}/*end of for i*/
print(ptr);}/*end of function*/


/**********************************************************************/
/********************** REPLACE LINE WITH LINE ************************/

/****************************M E N U*************************************/
char menu(char *r)
{
int i;
clrscr();
textcolor(7);
window(1,1,80,25);
textbackground(3);
clrscr();
textcolor (BLACK);

if(o==1)
{	gotoxy(28,4);
	cprintf("is< %s >Open",r);
}
gotoxy(1,1);
textcolor (8);
cprintf("\n\n\n\n    OPEN");
cprintf("\n\n\n\r    COUNTER\n\r");
cprintf("\n\n\r    REPLACE WORD \n");
cprintf("\n\n\r    DELETE WORD \n");
cprintf("\n\n\r    SEARCH    \n");
gotoxy(55,5);
cprintf("  DISPLY FILE ");
gotoxy(55,8);
cprintf("  EXIT");
//gotoxy(55,8);
//cprintf("  OF WORDS");
gotoxy(55,11);
cprintf("  INSERT SPACE LINE");
gotoxy(55,14);

cprintf("  REPLACE LINE ");
//gotoxy(55,14);
//cprintf("  ANY WORD");
gotoxy(55,17);
cprintf("  HELP");
gotoxy(5,5);textcolor(4);cprintf("O");
gotoxy(5,8);textcolor(4);cprintf("C");
gotoxy(5,11);textcolor(4);cprintf("R");
gotoxy(5,14);textcolor(4);cprintf("D");
gotoxy(5,17);textcolor(4);cprintf("S");
gotoxy(57,17);textcolor(4);cprintf("H");
gotoxy(60,14);textcolor(4);cprintf("L");
gotoxy(57,11);textcolor(4);cprintf("I");
gotoxy(62,5);textcolor(4);cprintf("Y");
gotoxy(57,8);textcolor(4);cprintf("E");
textcolor(BLACK);
gotoxy (1,1); for (i=0;i<80;++i) printf ("%c",205);
gotoxy (1,3); for (i=0;i<80;++i) printf ("%c",205);
gotoxy (1,2);textcolor(0);cprintf(" DATA STRUCTER PROJECT      MINI WORD PROCESSOR   TO: ");textcolor(177);cprintf("  ARAB TEAM 2000.");textcolor(WHITE);
gotoxy (1,6); for (i=0;i<80;++i) printf ("%c",'-');
gotoxy (1,9); for (i=0;i<80;++i) printf ("%c",'-');
gotoxy (1,12); for (i=0;i<80;++i) printf ("%c",'-');
gotoxy (1,15); for (i=0;i<80;++i) printf ("%c",'-');
gotoxy (1,21); for (i=0;i<80;++i) printf ("%c",205);
/*time*/
   struct  time t;

   gettime(&t);
   gotoxy(32,21);
   cprintf("%2d:%02d:%02d.%02d\n",t.ti_hour, t.ti_min, t.ti_sec, t.ti_hund);
/*time*/
gotoxy(12,23);textcolor(RED);cprintf("ALL RIGHTS RESEVED TO : ABED ALMONEM SAMEER FATAFTA.");
textcolor(BLACK);
gotoxy (1,25); for (i=0;i<80;++i) printf ("%c",205);
window (20,4,54,19); textbackground (1);textcolor(15); clrscr();
gotoxy (2,5); for (i=0;i<31;++i) printf ("%c",205);
gotoxy (2,7); for (i=0;i<31;++i) printf ("%c",205);
gotoxy (2,5); printf("%c",'*');    //201
gotoxy (2,7); printf("%c",'*');   //200
gotoxy (2,6); printf("%c",'*');   //186
gotoxy (33,5); printf("%c",'*');  //187
gotoxy (33,6); printf("%c",'*');  //186
gotoxy (33,7); printf("%c",'*');  //188


gotoxy(3,6); printf("Enter character of your choise\n");
gotoxy(14,9); printf("%c%c%c%c%c",'|','-','-','>','*');
gotoxy(18,9); printf("%c%c%c%c%c",'*','<','-','-','|');
gotoxy(18,9);


tc=getch();
if(tc>'A'&&tc<'Z')
tc=tc+32;

return tc;
}
/************************ A S K I N G *****************************/
void asking(void)
{
  /*asking box*/
window (20,4,54,19); textbackground (1); clrscr();textcolor(15);
gotoxy (2,5); for (v=0;v<31;++v) printf ("%c",205);
gotoxy (2,7); for (v=0;v<31;++v) printf ("%c",205);
gotoxy (2,5); printf("%c",'*');    //201
gotoxy (2,7); printf("%c",'*');   //200
gotoxy (2,6); printf("%c",'*');   //186
gotoxy (33,5); printf("%c",'*');  //187
gotoxy (33,6); printf("%c",'*');  //186
gotoxy (33,7); printf("%c",'*');  //188
gotoxy(14,9); printf("%c%c%c%c%c",'<','_','_','_','_');
gotoxy(18,9); printf("%c%c%c%c%c",'_','_','_','_','>');gotoxy(15,9);

/*end of box*/

}

ما زبط معي أحط أتاتش للفايل، بس إنسخ الكود وجربه

وأنا في خدمة عيونكم لأي سؤال فيه وعسى تستفيدو منه

تم تعديل هذه المشاركة بواسطة eng_ibr في 28 فبراير 2005 في 00:56

اللهم صل وسلم وزد وبارك على سيدنا محمد وعلى آله وصحبه وسلم

تعلم كيف تقرأ من ملف باستخدام لغة السي

Routers Programming-الدرس الأول

#2

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

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

اللهم علمنا ما ينفعنا وأنفعنا بما علمتنا أنك أنت العليم الحكيم

سبحان الله وبحمده سبحان الله العظيم

لاحول ولاقوة الا بالله( كنز من كنوز الجنة ).

#3

طيب أنا لم أقرأ الكود بعد , لكن لو أرفقت ملف مضغوط يحوي الكود والملف التنفيذي تحديدا , لأني مثلا لاأملك مصرف بورلاند ولايمكن تصريف الكود , لأعرف ماذا يفعل .

بالمناسبة مشكلة رفع المرفقات تم حلها ويمكنك أن تستخدمها الآن مباشرة :)

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#4

السلام عليكم

أنا آسف جداً على التأخير، كان عندي مشاكل في الإنترنت

البرنامج عبارة عن ملفات بشكل كامل، كل ما له علاقة بالملفات موجود به

سأدرج شرح كامل عن البرنامج.

ولكن جربوه،

أنا آسف لم يقبل أن يعمل أتاتش لملفات ++c

لأنه منزل عندي ال VB6 فبعتبرها سي بلس بلس

على العموم سأضع شرح له خلال هذا اليومين، وسامحوني على التأخير

اللهم صل وسلم وزد وبارك على سيدنا محمد وعلى آله وصحبه وسلم

تعلم كيف تقرأ من ملف باستخدام لغة السي

Routers Programming-الدرس الأول

#5

السرقة في الاسلام حرام ...

وانت يا اخ يلي بتقول انو الك وانت اللي عاملو .... انت من مين لاطشو او كيف وصلك هذا الكود

وانا عملتو بأيدي وقعد معاي فتره شهر كامل ؟؟؟؟

على كل الله يسامحك بس لاتكذب وتسرق لانو حبل الكذب قصير

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

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

Abedalmonem Sameer Fatafta (ASF)

والله يسامحك على كل

/*time*/

gotoxy(12,23);textcolor(RED);cprintf("ALL RIGHTS RESEVED TO : ABED ALMONEM SAMEER FATAFTA.");

textcolor(BLACK);

gotoxy (1,25); for (i=0;i<80;++i) printf ("%c",205);

window (20,4,54,19); textbackground (1);textcolor(15); clrscr();

gotoxy (2,5); for (i=0;i<31;++i) printf ("%c",205);

gotoxy (2,7); for (i=0;i<31;++i) printf ("%c",205);

gotoxy (2,5); printf("%c",'*'); //201

gotoxy (2,7); printf("%c",'*'); //200

gotoxy (2,6); printf("%c",'*'); //186

gotoxy (33,5); printf("%c",'*'); //187

gotoxy (33,6); printf("%c",'*'); //186

gotoxy (33,7); printf("%c",'*'); //188

eng_ibr كتب:
السلام عليكم

هذا البرنامج قمت بعمله ولكنه غلبني كثيراً جداً، وساعدني فيه بعض الأصدقاء

أهديكم البرنامج، وقولوا لي ما رأيكم فيه....على فكرة أنا تعبت فيه كتير :wacko:

#

include<stdio.h>          /*THIS IS DATA STRUCTER WORD PROCESSOR*/
#include<stdlib.h>     /*DONE BY IBRAHIM AL-SHARIFFOR ARAB TEAM 2000*/
#include<string.h>            /*COPY RIGHT 27/2/2005 WE DAY*/
#include<conio.h>   /*  *     *****    *         *        * /*/
#include<alloc.h>  /*   *     *   *     *  *         *             */
#include<ctype.h> /*    *     *****    *         *               */
#include<time.h>  /*    *         *        *         *                 */
#include<dos.h>  /*     *         *         *       *                    */
#define null NULL /*    *         *             *                         */
#define eof EOF
/****************************************************************************/
char tc;
char *r;
int v,o=0,w_count=0;
typedef struct l_n *l_p;
typedef struct l_n
{
char word[100];
l_p u_lnk;
l_p l_lnk;
l_p d_lnk;
l_p r_lnk;
int len_word;
int n_l; long line_num;int txtclr;
};
l_p ptr=null;
/************************************ DECLARATION OF FUNCTIONS **********/
void repl_w(l_p *ptr);
void counter(FILE *f1);
void doubl(FILE *f);
char menu(char *r);
void asking(void);
void delet(l_p *ptr);
void search(l_p *ptr);
void read(l_p *ptr,FILE *f);
void printP(FILE *f1);
l_p create(void);
void print(l_p *ptr);
void help();
/******************************** M A I N *******************************/
main()
{
char *y;
strcpy(r,y);
do{
clrscr();
tc=menu(y);

tolower(tc);
FILE *f;
switch(tc)
{
case 'o':
	fclose(f);
	clrscr();asking();
	gotoxy(3,6); printf("ENTER YOUR FULL PATH FILE NAME\n");
	gotoxy(15,9);o=1;
	gets(y);
	f=fopen(y,"r+");
	ptr=create();
	read(&ptr,f);break;

case 'y':
	window(1,1,80,25);
	textcolor(WHITE);
	textbackground(BLACK);
	clrscr();
	print(&ptr);break;
case 's':
	clrscr();asking();
	search(&ptr);break;
case 'd':
	clrscr();asking();
	delet(&ptr);break;
case 'h': help();break;
case 'c':
	fclose(f);
	fopen(y,"r+");
	counter(f);break;
case 'i':
	fclose(f);
	fopen(y,"r+");
	clrscr();
	doubl(f);break;
case 'e':exit(1);
case 'r':repl_w(&ptr);break;



}/*switch*/

}while(tc!='e');
return 0;
}/*end of main*/

/********************CREATE LIST NODE WITH NAME TEMP********************/
l_p create(void)
{
l_p temp;
temp=(l_p)malloc(sizeof(l_n));
temp->txtclr=7;
temp->n_l=0;
temp->u_lnk=null;
temp->d_lnk=null;
temp->l_lnk=null;
temp->r_lnk=null;
w_count++;
return temp;
}
/*************************** read **************************************/
void read(l_p *ptr,FILE *f)
{
l_p temp,p1,p2,d1;
p1=*ptr;
char c;int i=0;
temp=*ptr;
d1=*ptr;
int x=0;
while((fscanf(f,"%s",temp->word))!=eof)
{
temp->len_word=strlen(temp->word);

	if(c=getc(f)!='\n')
	{ x=0;
	d1->n_l=1;
	temp->r_lnk=d1;
	temp->l_lnk=p1;
	d1->l_lnk=temp;
	p1->r_lnk=temp;
	p1=p1->r_lnk;
	temp=create();
	}/*end of if its line end*/

	else
	{x++;
	if(x>1)
  d1->n_l=x+1;
	temp->r_lnk=d1;
	temp->l_lnk=p1;
	d1->l_lnk=temp;
	p1->r_lnk=temp;
	p1=p1->r_lnk;

	i++;
	d1->line_num=(i+x);
	temp=create();
	d1->d_lnk=temp;
	d1=d1->d_lnk;
	p1=d1;}/* end of else statment */
}/*end of while*/

}/*end of function*/
/***************************** P R I N T ***********************************/

void print(l_p *ptr)
{
int x;
l_p i=*ptr;
l_p j=*ptr;
for(;i;i=i->d_lnk)
{
j=i;
	do{
  textcolor(j->txtclr);
  cprintf("%s ",j->word);
  j=j->r_lnk;
	}while(j->r_lnk!=i->r_lnk);
	for(x=0;x<i->n_l;x++)
	printf("\n");
}/*end of for i*/
getch();
}/*end of function*/
/***************************** search for word ****************************/
void search(l_p *ptr)
{
char str1[100];
clrscr();
asking();
gotoxy(3,6);
printf("ENTER  WORD TO SEACH\n");
gotoxy(15,9);
scanf("%s",str1);
int x,z;
l_p i=*ptr;
l_p j=*ptr;
window(1,1,80,25);
textcolor(WHITE);
textbackground(BLACK);
clrscr();
for(;i;i=i->d_lnk)
{
j=i;
	do{
	z=strcmp(str1,j->word);
	if(z==0)
	textcolor(177);
	else
	textcolor(7);
	cprintf("%s ",j->word);
	j=j->r_lnk;

	}while(j->r_lnk!=i->r_lnk);
for(x=0;x<=i->n_l;x++)
printf("\n"/*,j->line_num*/);
}/*end of for i*/
getch();}/*end of function*/
/*************************** delete word  *****************************/
void delet(l_p *ptr)
{
char str1[100];
gotoxy(3,6);
printf("ENTER THE WORD YOU WANT TO DELETE \n");
gotoxy(15,9);
scanf("%s",str1);
int z;
l_p i=*ptr,p;
l_p j=*ptr;
window(1,1,80,25);
textcolor(WHITE);
textbackground(BLACK);
clrscr();
for(;i;i=i->d_lnk)
{
j=i;
	do{
	z=strcmp(str1,j->word);
	if(z==0){
	j->l_lnk->txtclr=(147);
	j->r_lnk->txtclr=(147);
	if(j==i)
	{i->r_lnk->l_lnk=i->l_lnk;
	i->l_lnk->r_lnk=i->r_lnk;
	i->r_lnk->d_lnk=i->d_lnk;
	i=i->r_lnk;
	break;}

	if(j->r_lnk=i->r_lnk)
	break;
	j->l_lnk->r_lnk=j->r_lnk;
	j->r_lnk->l_lnk=j->l_lnk;

	}
  else  j=j->r_lnk;
  }while(j->r_lnk!=i->r_lnk);
/*for(x=0;x<=i->n_l;x++)
printf("\n");*/
}/*end of for i*/
print(ptr);}/*end of function*/
/***************enter change line with another line****************/



/********************************************************/
/*********THIS FUNCTION TO PRINT THE FILE PAGE BY PAGE */
void printP(FILE *f1)
{char c;int counter=0,l_count,s_count=0;
clrscr();
window(1,1,80,25);textbackground(BLACK);textcolor(WHITE);clrscr();
  gotoxy(1,1);

  while((c=getc(f1))!=EOF)
  {
  if(c=='\n')
  {
  counter++;

  }
  if(counter<=25)
  putchar(c);
  else
  {
  printf("\n\n\n>>>..... ... ... ... \n                PRESS ANY KEY TO DESPLAY THE NEXT PAGE\n");
  getch();
  clrscr();gotoxy(1,1);
  counter=0;
}  }getch();}
/*********************************DOUBLE***********************************/
void doubl(FILE *f)
{char c,z;
window(1,1,80,25);textbackground(BLACK);textcolor(WHITE);clrscr();
  gotoxy(1,1);
printf("desply on the Screen only\n");
printf("Display on the screen & on the file\n");
printf("double in the File only");
z=getch();
z=tolower(z);
switch(z)
{
case 's':
  while((c=getc(f))!=EOF)
  {
	putch(c);
   if(c=='\n')
   {
   putch('\n');//putch('\n');putch('\r');
   }
  }         break;

case 'd':

while((c=getc(f))!=EOF)
  {
	putch(c);fputc(c,f);
   if(c=='\n')
   {
   putch('\n');
   putc('\n',f);//putc('\r',);
   }
  }         break;
}


getch();
}
/**************************** H E L P *************************************/
void help(void)
{
window (20,4,54,20); textbackground (8); clrscr();textcolor(4);
cprintf("\n\r ABOUT:\n\r");
textcolor(7);
cprintf("  This is data structer project\n\r");
cprintf(" aminimum  word  processor  this\n\r program");
cprintf(" can be display file and\n\r counting number ");
cprintf("of words number\n\r of letters replace word");
cprintf("word in\n\r the text file");
cprintf(" replace line on line \n\n\n\r");
cprintf("this project with\n\b\b\b ٌِِِِARAB TEAM 2000\n");
textcolor(4);
cprintf("\n\rCOPYWRITE : IBRAHIM AL-SHARIF\n\r with my best wishes I.R.S");





getch();}
/*********************** COUNTER ******************************/
void counter(FILE *f1)
{char c;
 int cou[127];
 int lcount=0;
 long alphacountc=0,nucou=0;
 long alphacounts=0;
for(v=0;v<127;v++)
cou[v]=0;
  while((c=getc(f1))!=EOF)
  { cou[c]++;;
  if(c=='\n')
  {lcount++;
   }
  }

window (20,4,54,20); textbackground (8); clrscr();textcolor(7);
int i;
for(i='A';i<='Z';i++)
alphacountc+=cou;
for(i='a';i<='z';i++)
alphacounts+=cou;
for(i='0';i<'9';i++)
nucou+=cou;
cprintf("\n\n\r Number of Lines         = %d",lcount+1);
cprintf("\n\r Alphapetecal charachter =%ld \n",alphacounts+alphacountc);
cprintf("\r Numerical Char (numbers)=%ld\n",nucou);;
cprintf("\r Number of words         =%d\n",w_count);
textcolor(3);
cprintf("\n\n\r To display evry charactr ferquncy");
cprintf("\n\n\r Enter D character");
textcolor(6);
cprintf("\n\n\n\n\n\rTO MAIN MENU PRESS ANY KEY");
gotoxy(8,11);cprintf("D");gotoxy(1,17);
char d;
d=getch();
if(d=='d')
{clrscr();
/***************************************notneeded ****************/
/*for(i=0;i<=15;i++)
{cprintf("%c <===> %d\n\r",i,cou);}
cprintf("PRESS ANY KEY TO CONTINUE\n\r");
getch();clrscr();
for(i=16;i<=30;i++)
{cprintf("%c <===> %d\n\r",i,cou);}
cprintf("PRESS ANY KEY TO CONTINUE\n\r");getch();clrscr();*/
/***************************************************************/
for(i=31;i<=45;i++)
{cprintf("%c <===> %d\n\r",i,cou);}
cprintf("PRESS ANY KEY TO CONTINUE\n\r");getch();clrscr();
for(i=46;i<=60;i++)
{cprintf("%c <===> %d\n\r",i,cou);}
cprintf("PRESS ANY KEY TO CONTINUE\n\r");getch();clrscr();
for(i=61;i<=75;i++)
{cprintf("%c <===> %d\n\r",i,cou);}
cprintf("PRESS ANY KEY TO CONTINUE\n\r");getch();clrscr();
for(i=76;i<=90;i++)
{cprintf("%c <===> %d\n\r",i,cou);}
cprintf("PRESS ANY KEY TO CONTINUE\n\r");getch();clrscr();
for(i=91;i<=105;i++)
{cprintf("%c <===> %d\n\r",i,cou);}
cprintf("PRESS ANY KEY TO CONTINUE\n\r");getch();clrscr();
for(i=106;i<=119;i++)
{cprintf("%c <===> %d\n\r",i,cou);}
cprintf("PRESS ANY KEY TO CONTINUE\n\r");getch();clrscr();
for(i=120;i<=126;i++)
{cprintf("%c <===> %d\n\r",i,cou);}
cprintf("Press Any Key To exit to main menu\n\r");
}


getch();
}
/************************** replace line with other****************/
void repl_w(l_p *ptr)
{
 int e;
char str1[100],in[100];

window (20,4,54,20); textbackground (8); clrscr();textcolor(15);
asking();
gotoxy(1,6);textcolor(15);
printf("ENTER THE WORD YOU WANT TO change it \n");
gotoxy(15,9);
scanf("%s",str1);
clrscr();
asking();
gotoxy(1,6);textcolor(15);
cprintf("ENTER THE WORD YOU WANT TO put in \n");
gotoxy(15,9);
scanf("%s",in);
int z;
l_p i=*ptr;
l_p j=*ptr;
window(1,1,80,25);
textcolor(WHITE);
textbackground(BLACK);
clrscr();
for(;i;i=i->d_lnk)
{
j=i;

	do{
	z=strcmp(str1,j->word);
	if(z==0){
	strcpy(j->word,in);
	j->txtclr=(127);

	}
	j=j->r_lnk;
  }while(j->r_lnk!=i->r_lnk);
/*for(x=0;x<=i->n_l;x++)
printf("\n");*/
}/*end of for i*/
print(ptr);}/*end of function*/


/**********************************************************************/
/********************** REPLACE LINE WITH LINE ************************/

/****************************M E N U*************************************/
char menu(char *r)
{
int i;
clrscr();
textcolor(7);
window(1,1,80,25);
textbackground(3);
clrscr();
textcolor (BLACK);

if(o==1)
{	gotoxy(28,4);
	cprintf("is< %s >Open",r);
}
gotoxy(1,1);
textcolor (8);
cprintf("\n\n\n\n    OPEN");
cprintf("\n\n\n\r    COUNTER\n\r");
cprintf("\n\n\r    REPLACE WORD \n");
cprintf("\n\n\r    DELETE WORD \n");
cprintf("\n\n\r    SEARCH    \n");
gotoxy(55,5);
cprintf("  DISPLY FILE ");
gotoxy(55,8);
cprintf("  EXIT");
//gotoxy(55,8);
//cprintf("  OF WORDS");
gotoxy(55,11);
cprintf("  INSERT SPACE LINE");
gotoxy(55,14);

cprintf("  REPLACE LINE ");
//gotoxy(55,14);
//cprintf("  ANY WORD");
gotoxy(55,17);
cprintf("  HELP");
gotoxy(5,5);textcolor(4);cprintf("O");
gotoxy(5,8);textcolor(4);cprintf("C");
gotoxy(5,11);textcolor(4);cprintf("R");
gotoxy(5,14);textcolor(4);cprintf("D");
gotoxy(5,17);textcolor(4);cprintf("S");
gotoxy(57,17);textcolor(4);cprintf("H");
gotoxy(60,14);textcolor(4);cprintf("L");
gotoxy(57,11);textcolor(4);cprintf("I");
gotoxy(62,5);textcolor(4);cprintf("Y");
gotoxy(57,8);textcolor(4);cprintf("E");
textcolor(BLACK);
gotoxy (1,1); for (i=0;i<80;++i) printf ("%c",205);
gotoxy (1,3); for (i=0;i<80;++i) printf ("%c",205);
gotoxy (1,2);textcolor(0);cprintf(" DATA STRUCTER PROJECT      MINI WORD PROCESSOR   TO: ");textcolor(177);cprintf("  ARAB TEAM 2000.");textcolor(WHITE);
gotoxy (1,6); for (i=0;i<80;++i) printf ("%c",'-');
gotoxy (1,9); for (i=0;i<80;++i) printf ("%c",'-');
gotoxy (1,12); for (i=0;i<80;++i) printf ("%c",'-');
gotoxy (1,15); for (i=0;i<80;++i) printf ("%c",'-');
gotoxy (1,21); for (i=0;i<80;++i) printf ("%c",205);
/*time*/
   struct  time t;

   gettime(&t);
   gotoxy(32,21);
   cprintf("%2d:%02d:%02d.%02d\n",t.ti_hour, t.ti_min, t.ti_sec, t.ti_hund);
/*time*/
gotoxy(12,23);textcolor(RED);cprintf("ALL RIGHTS RESEVED TO : ABED ALMONEM SAMEER FATAFTA.");
textcolor(BLACK);
gotoxy (1,25); for (i=0;i<80;++i) printf ("%c",205);
window (20,4,54,19); textbackground (1);textcolor(15); clrscr();
gotoxy (2,5); for (i=0;i<31;++i) printf ("%c",205);
gotoxy (2,7); for (i=0;i<31;++i) printf ("%c",205);
gotoxy (2,5); printf("%c",'*');    //201
gotoxy (2,7); printf("%c",'*');   //200
gotoxy (2,6); printf("%c",'*');   //186
gotoxy (33,5); printf("%c",'*');  //187
gotoxy (33,6); printf("%c",'*');  //186
gotoxy (33,7); printf("%c",'*');  //188


gotoxy(3,6); printf("Enter character of your choise\n");
gotoxy(14,9); printf("%c%c%c%c%c",'|','-','-','>','*');
gotoxy(18,9); printf("%c%c%c%c%c",'*','<','-','-','|');
gotoxy(18,9);


tc=getch();
if(tc>'A'&&tc<'Z')
tc=tc+32;

return tc;
}
/************************ A S K I N G *****************************/
void asking(void)
{
  /*asking box*/
window (20,4,54,19); textbackground (1); clrscr();textcolor(15);
gotoxy (2,5); for (v=0;v<31;++v) printf ("%c",205);
gotoxy (2,7); for (v=0;v<31;++v) printf ("%c",205);
gotoxy (2,5); printf("%c",'*');    //201
gotoxy (2,7); printf("%c",'*');   //200
gotoxy (2,6); printf("%c",'*');   //186
gotoxy (33,5); printf("%c",'*');  //187
gotoxy (33,6); printf("%c",'*');  //186
gotoxy (33,7); printf("%c",'*');  //188
gotoxy(14,9); printf("%c%c%c%c%c",'<','_','_','_','_');
gotoxy(18,9); printf("%c%c%c%c%c",'_','_','_','_','>');gotoxy(15,9);

/*end of box*/

}

ما زبط معي أحط أتاتش للفايل، بس إنسخ الكود وجربه

<span style='font-size:14pt;line-height:100%'>وأنا في خدمة عيونكم لأي سؤال فيه وعسى تستفيدو منه</span>

#6

يرجى من الادارة ارجاع ردي

ولن اتنازل عن حقي من هذا السارق

#7

كيف تثبت أن هذا الكود لك ؟ أثبت ذلك لنا وتجد الموضوع في سلة مهملات المنتدى بعد دقائق ولايهمك .. لكن المشكلة في إثبات الموضوع ..

تخيل معي التالي : آتي أنا عضو إسمي هيثم .. وأدخل لأجد كود موجود في مكان ما وأقول أن هذا الكود لي والإسم الموجود بالصدفة موجود بإسمي .. ؟ مع أني لم أفعل شيء كهذا ولم أكتبه من قبل .. (سلبطة) ..

أنا واثق من طريقة كلامك أن الكود لك بنسبة 90% لكن كإداري في المنتدى حدسي لايهم مايهم هو الإثبات فقط .. وسيتم حذف الموضوع بسهولة كما وضحنا لو أثبت لنا أن الكود لك .. وبارك الله فيك .

وكل من له حق في هذا المنتدى سيأخذ حقه كاملا .

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

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#8
HGB كتب:
كيف تثبت أن هذا الكود لك ؟ أثبت 1لك لنا وتجد الموضوع في سلة مهملات المنتدى بعد دقائق ولايهمك .. لكن المشكلة في إثبات الموضوع ..

تخيل معي التالي : آتي أنا عضو إسمي هيثم .. وأدخل لأجد كود موجود في مكان ما وأقول أن هذا الكود لي والإسم الموجود بالصدفة موجود بإسمي .. ؟ مع أني لم أفعل شيء كهذا ولم أكتبه من قبل .. (سلبطة) ..

أنا واثق من طريقة كلامك أن الكود لك بنسبة 90% لكن كإداري في المنتدى حدسي لايهم مايهم هو الإثبات فقط .. وسيتم حذف الموضوع بسهولة كما وضحنا لو أثبت لنات أن الكود لك .. وبارك الله فيك .

وكل من له حق في هذا المنتدى سيأخذ حقه كاملا .

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

سهله جدا

اسأل عن اي قطعة في الكود وانا اعطيك ماذا تعمل بالضبط شرحا كاملا

لنفرض

/*asking box*/

window (20,4,54,19); textbackground (1); clrscr();textcolor(15);

gotoxy (2,5); for (v=0;v<31;++v) printf ("%c",205);

gotoxy (2,7); for (v=0;v<31;++v) printf ("%c",205);

gotoxy (2,5); printf("%c",'*'); //201

gotoxy (2,7); printf("%c",'*'); //200

gotoxy (2,6); printf("%c",'*'); //186

gotoxy (33,5); printf("%c",'*'); //187

gotoxy (33,6); printf("%c",'*'); //186

gotoxy (33,7); printf("%c",'*'); //188

gotoxy(14,9); printf("%c%c%c%c%c",'<','_','_','_','_');

gotoxy(18,9); printf("%c%c%c%c%c",'_','_','_','_','>');gotoxy(15,9);

/*end of box*/

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

لطلب ادخال الكلمة التي سيبحث عنها

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

وهذا المشروع تمت كتابته عام 2002 لمسابقة برمجية بشركة عالمية وقد حزت على جائزة تلك المسابقة لقاء هذا الكود وليس سنة 2005

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

وبالنسبة لما يعمل هذا البرنامج :

- يقوم بفتح ملف ... عرض هذا الملف ... البحث عن كلمة معينة ... البحث مع استبدال ....

عند البحث عن كلمه يقوم بعرض الملف بتغيير لون الكلمة المبحوث عنها

خلفيه البرنامج زرقاء

الاسم مكتوب في اسف البرنامج يومض

واي سؤال انا مستعد

انا لا اريد حذف الموضوع ... اريد من صاحب المشاركة الاعتراض

انا لست ضد افاده الناس بعملي

ايضا هذا البرنامج يقوم بعد كم كلمة وكم حرف في هذا الملف

واستبدال سطر بسطر

ومهام عديده

استذكر ان الكود كان 1287 سطر

كتتبع للبرنامج وعمله الداخلي في التعامل مع الملفات

يقوم البرنامج بقراءة ملف بعدما يدخل اليوزر الباث

بعدها يقوم البرنامج بقراءة الملف سطرا سطرا ويدخلها في لينكد ليست

لتسهل علينا عمليه القراءة في ما بعد للعد والتعامل مع كل كلمة على حده

#9

أولا بالنسبة لأسم على اسم اسم الاخ الذي وضع المشاركة مغير في الهيدر للكود

وهو

IBRAHIM AL-SHARIF

وليس عبد المنعم فطافطة

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

وفش اسم على اسم لانو عائلة ال فطافطة الوحيد الذي اسمه عبد المنعم هو انا وجدي وخالي فقط

تحياتي

#10

دليل اخير

العضو الذي بعث بالمشاركة تسجيله بالمنتدى بعدي ب 1875عضو

رقم العضوية.: 30,628 لي

رقم العضوية.: 32,503 له

#11

عموما الوقت من ذهب .. يمكن أن تسأل أغلب الموجودين في قسم السي++ عن جزء في الكود ويقولك يفعل كذا وكذا بعد تشغيله في أي compiler ..

المهم ماتريده الآن هو أن يعتذر لك العضو طارح الموضوع .. ؟

سنرسل له إيميل ونطلب منه الدخول في هذا الموضوع والدفاع عن نفسه أو أن يقر بكلامك ..

العضو طرح الكود سنة 2005 يعني 3 سنوات منصرمة تقريبا إن كان إيميله كما هو وكان موجود سيدخل وإلا فلن تجد أي رد وسنقوم بعد التأكد من جهتنا بإخفاء الموضوع كليا وإن كنت تحب الخير ونشر العلم يمكنك أن تضع الكود في موضوع جديد من الصفر وبوجود شرح لو أمكن لأن الكود عقيم حاليا وأنا من 2005 لم أنظر ولاأريد أن أنظر في كود مليء بجمل goto للرسم على شاشة دوز يقوم بعمليات File management ..

كما قلت أنا مؤيد لحذف الموضوع لأنه بلا فائدة تقريبا .

بارك الله فيكم ..

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#12

الكود معمول سي عاديه مش سي ++

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

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

وبصراحة ما علني كتابة الجمله التالية

"هذا البرنامج قمت بعمله ولكنه غلبني كثيراً جداً،" وطريقة التزوير التي زور بها تاريخ انشاء الكود 3 سنوات

على كل الله يسامحو

مع اني تخرجت قبل سنتين وعمري ما سألت بكود وكنت اساعد كثير لكن لما يغير الحقوق فهنا المصيبة

ونشكر ادارتكم على امتصاص الغضب

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

وعلى العموم انا لي على الشبكة اكثر من 15 موقع واشهرها منتديات شبكة دليلي الالكترونية

فلذلك الاستفزاز كان قاتل بالنسبة لي

تحياتي

م. عبد المنعم فطافطة

#13

تم إرسال إيميل للعضو المعني .

banner_60_468.gif

NOTHING IS IMPOSSIBLE

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