C 언어 로 전화번호 부 관리 시스템 실현

본 논문 의 사례 는 여러분 에 게 C 언어 전화번호 부 관리 시스템 의 구체 적 인 코드 를 공유 하 였 으 며,여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.

/*       ,
  :2017.9,11
       
*/
 
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
#define NULL 0
typedef struct lianxiren{
 char job[30];
 char number[20];
 char name[10];
 char email[30];
 struct lianxiren*next;
}lianxiren;
#define LEN sizeof(lianxiren)
lianxiren* creat_list()
{
 lianxiren *head,*p1,*p2;
 char name[10];int n=0;
 head=NULL;
 p1=(lianxiren *)malloc(LEN);
 p2=p1;
 printf("     (   0     ):");
 gets(name);
 if(strcmp(name,"0")==0)return 0;
 else {
 strcpy(p1->name,name);
 printf("       :");gets(p1->number);
 printf("       :");gets(p1->job);
 printf("   E-mail:");gets(p1->email);
 }
 while(1)
 {
 n++;
 if(n==1)
  head=p1;
 else
  p2->next=p1;
 p2=p1;
 printf("     (   0     ):");
 gets(name);
 if(strcmp(name,"0")==0)break;
 else{
  p1=(lianxiren*)malloc(LEN);
      strcpy(p1->name,name);
  printf("       :");gets(p1->number);
  printf("       :");gets(p1->job);
  printf("   E-mail:");gets(p1->email);}
 }p2->next=NULL;
 return head;
}//      
lianxiren* shifang_list(lianxiren*head)
{
 lianxiren*p1;
 for(;head!=NULL;)
 {
 p1=head; 
 head=head->next; 
 free(p1);
 }
 return head;
}//      
void print_list(lianxiren*head)
{
 void caidan();
 int n=0;
 printf("           :");
  while(head!=NULL)
 {
 printf("
:");puts(head->name); printf("
:");puts(head->number); printf("
:");puts(head->job); printf("
E-mail:");puts(head->email); putchar('
'); head=head->next;n++; if(n%8==0){ printf(" "); getchar(); system("cls"); caidan(); } } printf(" %d
",n); }// int length(lianxiren*head) { int n = 0; lianxiren *p; p = head; while(p != NULL) { p = p->next; n++; } return n; } void paixu1(lianxiren*head) { void caidan(); int n=length(head); int i,j; lianxiren temp,*p; p=head; lianxiren a[100]; for(i=1;i<=n;i++) { strcpy(a[i].name,p->name); strcpy(a[i].number,p->number); strcpy(a[i].job,p->job); strcpy(a[i].email,p->email); p=p->next; } for(i=1;i<=n-1;i++) { for(j=1;j<=n-i;j++) {if(strcmp(a[j].number,a[j+1].number)>0) { temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } } printf(" :"); for(i=1;i<=n;i++) { printf("
:");puts(a[i].name); printf("
:");puts(a[i].number); printf("
:");puts(a[i].job); printf("
E-mail:");puts(a[i].email); putchar('
'); if(i%8==0){ printf(" "); getchar(); system("cls"); caidan(); } } printf(" %d
",n); } void paixu2(lianxiren*head) { void caidan(); int n=length(head);int i,j; lianxiren temp,*p; p=head; lianxiren a[100]; for(i=1;i<=n;i++) { strcpy(a[i].name,p->name); strcpy(a[i].number,p->number); strcpy(a[i].job,p->job); strcpy(a[i].email,p->email); p=p->next; } for(i=1;i<=n-1;i++) { for(j=1;j<=n-i;j++) {if(strcmp(a[j].name,a[j+1].name)>0) { temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } } printf(" :"); for(i=1;i<=n;i++) { printf("
:");puts(a[i].name); printf("
:");puts(a[i].number); printf("
:");puts(a[i].job); printf("
E-mail:");puts(a[i].email); putchar('
'); if(i%8==0){ printf(" "); getchar(); system("cls"); caidan(); } } printf(" %d
",n); } void paixu_list(lianxiren*head) { void caidan(); if(head==NULL) {printf(" , !"); return; } char a; printf("1,
2,
"); printf(" :"); a=getchar(); getchar(); switch(a){ case'1':paixu1(head);break; case'2':paixu2(head);break; default:printf(" !
");break; } } void chazhao1(lianxiren*head) {if(head==NULL) { printf(" , "); return; } char name[10]; printf(" :");gets(name); while(strcmp(name,head->name)!=0) {head=head->next; if(head==NULL){printf("
"); return;} } printf("%s :",name); puts(head->number); printf("
:");puts(head->job); printf("
E-mail:");puts(head->email); }// void chazhao2(lianxiren*head) {if(head==NULL) { printf(" , "); return; } char number[20]; printf(" :");gets(number); while(strcmp(number,head->number)!=0) {head=head->next; if(head==NULL){printf("
"); return;} } printf("%s :",number); puts(head->name); printf("
:");puts(head->job); printf("
E-mail:");puts(head->email); }// void chazhao(lianxiren*head) { int n; printf(" 1,
2,
3,
:"); scanf("%d",&n); getchar(); while(1) { switch(n){ case 1:{chazhao1(head);printf(" :");scanf("%d",&n);getchar();}break; case 2:{chazhao2(head);printf(" :");scanf("%d",&n);getchar();}break; case 3:return;break; default:{printf(" !");printf(" :");scanf("%d",&n);getchar();}break; }} }// void add_list(lianxiren*head) { lianxiren*p1,*p2,*h; char name[10]; printf(" ( 0 )"); gets(name); if(strcmp(name,"0")!=0) { p1=(lianxiren*)malloc(LEN); strcpy(p1->name,name); printf(" :");gets(p1->number); printf(" :");gets(p1->job); printf(" E-mail:");gets(p1->email); } else return; h=p1; while(1) { p2=p1; printf(" ( 0 )"); gets(name); if(strcmp(name,"0")==0)break; else{ p1=(lianxiren*)malloc(LEN); strcpy(p1->name,name); printf(" :");gets(p1->number); printf(" :");gets(p1->job); printf(" E-mail:");gets(p1->email); p2->next=p1; } } p1=head->next; head->next=h; p2->next=p1; }// lianxiren*xiugai_list(lianxiren*head) { char a[20]; printf(" :"); gets(a); if(head==NULL) { printf(" , "); return head; } lianxiren*p=head; while(strcmp(a,p->name)!=0&&strcmp(a,p->number)!=0) { p=p->next; if(p==NULL){printf("
"); return head;} } printf(" !"); printf("
:");puts(p->name); printf("
:");puts(p->number); printf("
:");puts(p->job); printf("
E-mail:");puts(p->email); putchar('
'); int n; while(1) {printf(" (1, 2, 3, 4,E-mail 5, ):"); scanf("%d",&n); getchar(); switch(n) { case 1:{printf(" :");gets(p->name);}break; case 2:{printf(" :");gets(p->number);}break; case 3:{printf(" :");gets(p->job);}break; case 4:{printf(" E-mail:");gets(p->email);}break; case 5:return head;break; default:printf(" !");break; } } }// lianxiren*delete_list(lianxiren*head) { char a[20]; printf(" :"); gets(a); if(head==NULL) { printf(" , "); return head; } lianxiren*p=head,*p1; while(strcmp(a,p->name)!=0&&strcmp(a,p->number)!=0) { p1=p; p=p->next; if(p==NULL){printf("
"); return head;} } printf(" !"); printf("
:");puts(p->name); printf("
:");puts(p->number); printf("
:");puts(p->job); printf("
E-mail:");puts(p->email); putchar('
'); char n; printf(" (Y/N)"); n=getchar(); switch(n) { case 'y': case 'Y':{if(p==head){head=p->next;free(p);}else{p1->next=p->next;free(p);}printf(" !");}break; case 'N': case 'n':printf(" !");break; default:printf(" !");break; } return head; }// void save_list(lianxiren*head) {FILE *fp; if((fp=fopen("dianhuabu.dat","wb"))==NULL) { printf("File cannot be opened
"); exit(0);} if(head==NULL) { printf("
"); return; } lianxiren*p1=head; while(p1!=NULL) { if(fwrite(p1,LEN,1,fp)!=1){ printf("cannot open file
"); return;} p1=p1->next; } printf(" !
"); fclose(fp); }// lianxiren*load_list(lianxiren*head) {FILE *fp; if((fp=fopen("dianhuabu.dat","rb"))==NULL) { printf(" ,
"); exit(0);} lianxiren*p1,*p2; p1=(lianxiren*)malloc(LEN); if(fread(p1,LEN,1,fp)==0) {printf(" , "); return head; } head=p1; p2=p1; p1=(lianxiren*)malloc(LEN); while(fread(p1,LEN,1,fp)) { p2->next=p1; p2=p1; p1=(lianxiren*)malloc(LEN); } p2->next=NULL; free(p1); return(head); fclose(fp); }// int kouling() { char s[20]; printf(" :"); int n=0; while(n<3) {scanf("%s",s); getchar(); if(strcmp(s,"20160390527")==0) return 0; else{n++; if(n==3){ printf(" ,
"); return 1;} printf(" ,
"); } }return 1; }// , :20160390527 void caidan() { printf("
"); printf("********************************************
"); printf(" 1、 ( )
"); printf(" 2、
"); printf(" 3、
"); printf(" 4、
"); printf(" 5、
"); printf(" 6、 ( )
"); printf(" 7、
"); printf("********************************************
"); }// void main() { if(kouling()) return;// system("cls"); caidan();// printf(" :"); int n;scanf("%d",&n); getchar(); lianxiren*head; while(1){ system("cls"); caidan(); switch(n){ case 1:{ head=creat_list(); system("cls"); caidan(); print_list(head); save_list(head); shifang_list(head); printf("********************************************
"); printf("
, :"); scanf("%d",&n); getchar();}break;// ( 、 , ) case 2:{ head=load_list(head); chazhao(head); shifang_list(head); printf("********************************************
"); printf("
, :"); scanf("%d",&n); getchar();}break;// ( 、 、 ) case 3:{ head=load_list(head); add_list(head); system("cls"); caidan(); print_list(head); save_list(head); shifang_list(head); printf("********************************************
"); printf("
, :"); scanf("%d",&n); getchar();}break;// ( 、 、 、 ) case 4:{ head=load_list(head); head=xiugai_list(head); save_list(head); shifang_list(head); printf("********************************************
"); printf("
, :"); scanf("%d",&n); getchar();}break;// ( , 、 、 ) case 5:{ head=load_list(head); head=delete_list(head); save_list(head); shifang_list(head); printf("********************************************
"); printf("
, :"); scanf("%d",&n); getchar();}break;// ( , 、 、 ) case 6:{ head=load_list(head); paixu_list(head); shifang_list(head); printf("********************************************
"); printf("
, :"); scanf("%d",&n); getchar();}break;// ( , 、 ) case 7:{ system("cls"); return;}break;// default:{ printf("
, :"); scanf("%d",&n); getchar();}break; }} }
더 많은 학습 자 료 는 주제 인 에 주목 하 세 요.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기