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