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

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

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

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

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

زبان برنامه‌نویسی سی 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 contactn2.See contactn3.Exitn");
		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   : %sn",nn);
			printf("Number : %s",t->num);
			options(t);
			return;
		}
		t=t->nt;
	}
	printf("Contact not foundn");
	return;
}
options(contact *t)
{
	int n,nc,p;
	char nn[15];
	y:printf("n1.Editn2.deleten3.previous contactn4.Next contactn5.calln6.backn");
	scanf("%d",&n);
	switch(n)
	{
		case 3:if(t==head)
		       {
			  printf("previous contact does not existn");goto y;
		       }
		       t=t->prev;
		       clrscr();
		       printf("Name : %snNumber : %sn",t->name,t->num);
		       options(t);break;
		case 4:if(t==last)
		       {
			  printf("next contact doesnot existn");goto y;
		       }
		       t=t->nt;
		       clrscr();
		       printf("Name : %snNumber : %sn",t->name,t->num);
		       options(t);break;
		case 5:clrscr();
		       printf("calling....n%sn%s",t->num,t->name);
		       getch();
		       clrscr();
		       printf("nerror connectionn");
		       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 deletedn",t->name);
		       free(t);getch();clrscr();return;
		case 1:k:printf("n1.Edit numbern2.Edit namen");
		       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 optionn");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]='';
			temp=head;
			while(temp->nt)
			{
				temp=temp->nt;
			}
			temp->nt=nnew;
			nnew->prev=temp;
			break;
		}
		if(ch=='-')
		{
			nnew->name[i]='';
			continue;
		}
		else if(ch=='n')
		{
			nnew->num[j]='';
			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])!='')
		{
			fputc(c,fp);
			i++;
		}
		fputc('-',fp);
		i=0;
		while((c=temp->num[i])!='')
		{
			fputc(c,fp);
			i++;
		}
		if(temp->nt==NULL)
		{
			break;
		}
		fputc('n',fp);
		temp=temp->nt;
	}
	fputc(EOF,fp);
	fclose(fp);
}

 

Add a Comment

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *