check home phone-call search send

سورس کد پروژه مدیریت مخاطبین به زبان سی

سورس کد پروژه مدیریت مخاطبین به زبان سی

سورس کد پروژه مدیریت مخاطبین به زبان سی

همیشه دانشجویان رشته کامپیوتر و برق به دنبال پروژه ها و سورس های برنامه نویسی سی هستند در این پست سورس کد پروژه مدیریت مخاطبین به زبان سی رو برای کاربران آماده کرده ایم ، این پروژه مخاطبین را مدیریت میکند و اطلاعات فرد مورد نظر را دریافت کرده و ان را در یک فایل متنی ذخیره میکنید . 

زبان برنامه‌نویسی سی C چیست؟
زبان برنامه‌نویسی سی (C programming language) به سخت افزار یا سیستم عامل خاصی وابسته نیست . این زبان خصوصیات و اجزا زبان های برنامه نویسی پیشرفته را همراه با کارآیی بالای زبان اسمبلی در بردارد و گاهی آن را یک زبان نیمه پیشرفته می دانند .
سی C به گونه ای است که تطبیق نرم افزار از یک نوع کامپیوتر به نوع دیگر را آسان می کند. امروزه برنامه ریزی ریزکنترل ها و انواع سی‌پی‌یوها و همچنین تولید سیستم عامل های جدید و نرم افزارهای کاربردی از طریق زبان C صورت می گیرد.

ویژگی‌های زبان برنامه نویسی C :

  • تاثیر گذارترین زبان برنامه نویسی در دنیای کامپیوتر است.
  • یک زبان برنامه نویسی سطح میانی است.
  • یک زبان ساخت یافته‌ و قابل حمل است.
  • دارای سرعت، قدرت و انعطاف پذیری بالایی است و هیچ محدودیتی را برای برنامه نویس به وجود نمی آورد.
  • زبان برنامه نویسی سیستم است.
  • زبان کوچکی است و تعداد کلمات کلیدی آن انگشت شمار است.
  • نسبت به حروف حساس است و تمام کلمات کلیدی این زبان با حروف کوچک نوشته می‌شوند.
  • در محیط‌های توسعه دهنده مجتمع (Integrated Development Envoirements) صورت می‌گیرد.

C ، یک زبان نسبتاً سطح پایین به‌شمار می‌آید، این یک توصیف تحقیرآمیز نبوده، و صرفاً به این معنی است که C با همین نوع از اشیائی سروکار دارد که بیشتر کامپیوترها با آن سروکار دارند، نظیر کارکترها، اعداد و آدرس‌ها. این اشیا را می‌توان با هم ترکیب کرد و می‌توان روی آنها همان عملیات محاسباتی و منطقی را انجام داد که توسط یک کامپیوتر حقیقی پیاده سازی کرد.

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
struct dll
{
	char name[15];
	char num[15];
	struct dll *prev,*nt;
};
typedef struct dll contact;
int count;
contact *head=NULL;
contact *last=NULL;
contact *t,*q,*temp;
main()
{
	int ch;
	clrscr();
	readfile();
	while(1)
	{
		printf("Your options...\n1.Add new contact\n2.See contact\n3.Exit\n");
		printf("\nGive your choice : ");
		scanf("%d",&ch);
		switch(ch)
		{
			case 1:addcon();break;
			case 2:seecon();break;
			case 3:goto h;
			default:printf("Invalid choice \n");
		}
	}
	h:writefile();
	printf("Contacts saved...");
	getch();
}
addcon()
{
	int p;
	t=(contact *)malloc(sizeof(contact));
	printf("Number : ");
	fflush(stdin);
	gets(t->num);
	printf("Name :");
	fflush(stdin);
	gets(t->name);
	t->prev=NULL;t->nt=NULL;
	clrscr();
	if(head==NULL)
	{
		head=t;
		last=t;
		return;
	}
	q=head;
	p=strcmp(t->name,head->name);
	if(p<=0)
	{
		t->nt=head;
		head->prev=t;
		head=t;
		return;
	}
	else if(p>0)
	{
		x:if(q->nt==NULL)
		{
			q->nt=t;
			t->prev=q;
			last=t;
			return;
		}
		q=q->nt;
		p=strcmp(t->name,q->name);
		if(p<=0)
		{
			t->nt=q;
			t->prev=q->prev;
			q->prev->nt=t;
			q->prev=t;
			return;
		}
		else
		{
			goto x;
		}
	}
}
seecon()
{
	char nn[15]; int i;
	printf("contact name : ");
	fflush(stdin);
	gets(nn);
	t=head;
	while(t!=NULL)
	{
		if(!(strcmp(t->name,nn)))
		{
			clrscr();
			printf("Name   : %s\n",nn);
			printf("Number : %s",t->num);
			options(t);
			return;
		}
		t=t->nt;
	}
	printf("Contact not found\n");
	return;
}
options(contact *t)
{
	int n,nc,p;
	char nn[15];
	y:printf("\n1.Edit\n2.delete\n3.previous contact\n4.Next contact\n5.call\n6.back\n");
	scanf("%d",&n);
	switch(n)
	{
		case 3:if(t==head)
		       {
			  printf("previous contact does not exist\n");goto y;
		       }
		       t=t->prev;
		       clrscr();
		       printf("Name : %s\nNumber : %s\n",t->name,t->num);
		       options(t);break;
		case 4:if(t==last)
		       {
			  printf("next contact doesnot exist\n");goto y;
		       }
		       t=t->nt;
		       clrscr();
		       printf("Name : %s\nNumber : %s\n",t->name,t->num);
		       options(t);break;
		case 5:clrscr();
		       printf("calling....\n%s\n%s",t->num,t->name);
		       getch();
		       clrscr();
		       printf("\nerror connection\n");
		       printf("\a");
		       getch();clrscr();return;
		case 2:if(t==head)
		       {
				t->nt->prev=NULL;
				head=t->nt;
		       }
		       else if(t==last)
		       {
				t->prev->nt=NULL;
				last=t->prev;
		       }
		       else
		       {
				t->prev->nt=t->nt;
				t->nt->prev=t->prev;
		       }
		       printf("contact %s deleted\n",t->name);
		       free(t);getch();clrscr();return;
		case 1:k:printf("\n1.Edit number\n2.Edit name\n");
		       scanf("%d",&nc);
		       switch(nc)
		       {
			  case 1:printf("New Number : ");
				 fflush(stdin);
				 gets(t->num);break;
			  case 2:printf("New Name : ");
				 fflush(stdin);
				 gets(nn);
				 strcpy(t->name,nn);
				 if(t==head)
				 {
					t->nt->prev=NULL;
					head=t->nt;
				 }
				 else
				 {
					if(t==last)
					{
						t->prev->nt=NULL;
						last=t->prev;
					}
					else
					{
						t->prev->nt=t->nt;
						t->nt->prev=t->prev;
					}
				 }
				 t->nt=NULL;t->prev=NULL;
				 q=head;
				 p=strcmp(t->name,head->name);
				 if(p<=0)
				 {
					t->nt=head;
					head->prev=t;
					head=t;
				 }
				 else if(p>0)
				 {
					 l:if(q->nt==NULL)
					 {
						q->nt=t;
						t->prev=q;
						last=t;
						return;
					 }
					 q=q->nt;
					 p=strcmp(t->name,q->name);
					 if(p<=0)
					 {
						t->nt=q;
						t->prev=q->prev;
						q->prev->nt=t;
						q->prev=t;
					 }
					 else
					 {
						goto l;
					 }
				 }
				 break;
			  default:printf("Invalid option\n");goto k;
		       }
		       break;
		case 6:clrscr();return;
		default:printf("Invalid option");goto y;
	}
}
readfile()
{
	FILE *fp;
	char ch;
	contact *nnew;
	int i=0,j=0;
	fp=fopen("contacts.txt","r");
	if(fp==NULL)
	{
		fclose(fp);
		return;
	}
	nnew=(contact *)malloc(sizeof(contact));
	nnew->prev=NULL;
	nnew->nt=NULL;
	while(ch=fgetc(fp))
	{
		if(ch==EOF)
		{
			nnew->num[j]='\0';
			temp=head;
			while(temp->nt)
			{
				temp=temp->nt;
			}
			temp->nt=nnew;
			nnew->prev=temp;
			break;
		}
		if(ch=='-')
		{
			nnew->name[i]='\0';
			continue;
		}
		else if(ch=='\n')
		{
			nnew->num[j]='\0';
			if(head==NULL)
			{
				head=nnew;
			}
			else
			{
				temp=head;
				while(temp->nt)
				{
				      temp=temp->nt;
				}
				temp->nt=nnew;
				nnew->prev=temp;
			}
			nnew=(contact *)malloc(sizeof(contact));
			nnew->nt=NULL;
			nnew->prev=NULL;
			i=0;j=0;
			continue;
		}
		if((ch>=48)&&(ch<=57))
		{
			nnew->num[j]=ch;
			j++;
		}
		else
		{
			nnew->name[i]=ch;
			i++;
		}
	}
	fclose(fp);
}
writefile()
{
	FILE *fp;
	contact *temp;
	int i=0;
	char c;
	fp=fopen("contacts.txt","w");
	if(fp==NULL)
	{
		printf("Illegal File path !\n");return;
	}
	temp=head;
	while(temp)
	{
		i=0;
		while((c=temp->name[i])!='\0')
		{
			fputc(c,fp);
			i++;
		}
		fputc('-',fp);
		i=0;
		while((c=temp->num[i])!='\0')
		{
			fputc(c,fp);
			i++;
		}
		if(temp->nt==NULL)
		{
			break;
		}
		fputc('\n',fp);
		temp=temp->nt;
	}
	fputc(EOF,fp);
	fclose(fp);
}

 

دانلــود بـاکـــس

لینک های دانلود در این باکس قرار دارد
img

جهت مشاهده لینک های دانلود ابتدا وارد شده یا ثبت نام کنید

Avatar
پشتیبان سورس ایران 2180 مطلب منتشر شده

در مجموعه سورس ایران سعی می کنیم علاوه بر آموزش برنامه نویسی، به مسائل مرتبط و مهارت های نرم بپردازیم تا بعدهای مختلف را پوشش دهیم.

دیدگاه کاربران

تعداد دیدگاه های کاربران : ۰ دیدگاه
هنوز دیدگاهی ارسال نشده است.


شما با موفقیت در خبرنامه ما عضو شدید