سورس کد پروژه مدیریت مخاطبین به زبان سی
سورس کد پروژه مدیریت مخاطبین به زبان سی
همیشه دانشجویان رشته کامپیوتر و برق به دنبال پروژه ها و سورس های برنامه نویسی سی هستند در این پست سورس کد پروژه مدیریت مخاطبین به زبان سی رو برای کاربران آماده کرده ایم ، این پروژه مخاطبین را مدیریت میکند و اطلاعات فرد مورد نظر را دریافت کرده و ان را در یک فایل متنی ذخیره میکنید .
زبان برنامهنویسی سی 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);
}
