《C++课程设计之同学通讯录.docx》由会员分享,可在线阅读,更多相关《C++课程设计之同学通讯录.docx(12页珍藏版)》请在三一办公上搜索。
1、C+ 课程设计之同学通讯录#include #include #include #include #define ID struct id struct id char name20; char tele20; ID *next; ; int pc=0;/全局变量 ID *creat /创建链表 ID *p1,*p2,*head; char str20; p1=p2=head=NULL; printf(tt请开始输入记录(当输入#时结束 )!n); while(1) printf(请输入姓名:n);scanf(%s,str);getchar; if(strcmp(str,#)=0) break
2、; p1=(ID*)malloc(sizeof(ID); strcpy(p1-name,str); printf(请输入电话号码);scanf(%s,p1-tele);getchar; if(head=NULL) head=p1; p2=p1; else p2-next=p1; p2=p1; pc+; p2-next=NULL; return(head); /*输入/添加记录*/ ID *insert(ID *head) ID *temp,*p1,*p2; printf(插入操作开始!n); temp=(ID *)malloc(sizeof(ID); printf(请输入姓名:n);scanf
3、(%s,temp-name);getchar; printf(请输入电话号码:n);scanf(%s,temp-tele);getchar; if (head=NULL) head=temp; temp-next=NULL; else p1=head; while(p1!=NULL) p2=p1; p1=p1-next; p2-next=temp; temp-next=p1; printf(插入成功); pc+; return (head); /*删除记录*/ ID *delet(ID *head) ID *p1,*p2; char str20; printf(请输入要删除的姓名:);scan
4、f(%s,str);getchar; p1=head; if (head=NULL) printf(没有记录n); goto end; while(p1!=NULL & strcmp(p1-name,str) p2=p1;p1=p1-next; if(p1=NULL) printf(未找到符合记录!n); else if(strcmp(p1-name,str)=0) if (p1=head) head=p1-next; else p2-next=p1-next; printf(删除成功!n); pc-; end:return head; /*查找记录*/ ID *search(ID *head
5、) ID *p1,*p2; int flag=0; char c; printf(请输入姓名的首字:);scanf(%c,&c);getchar; p1=head; while( p1!=NULL) if(p1-name0=c) printf(姓名:%st电话号码:%sn,p1-name,p1-tele); flag=1; p2=p1;p1=p1-next; if(flag=0) printf(未找到符合记录!n); return head; /*修改记录*/ ID *modify(ID *head) ID *p1,*p2; int mode; char str20; printf(请输入要修
6、改的记录姓名:);scanf(%s,str);getchar; p1=head; while( p1!=NULL) if(strcmp(p1-name,str)=0) printf(1.姓名:%st2.电话号码:%sn,p1-name,p1-tele); printf(请选择要修改选项:n); printf(1.修改姓名n2.修改电话号码n); scanf(%d,&mode);getchar; if(mode=1) printf(请输入修改后的姓名n); scanf(%s,p1-name);getchar; else if(mode=2) printf(请输入修改后的电话号码n); scanf
7、(%s,p1-tele);getchar; else printf(输入有误!n); break; p2=p1;p1=p1-next; if(p1=NULL) printf(未找到符合要求的记录!n); return head; /*显示结果函数*/ void print(ID *head) ID *p; p=head; printf(ttt*n); printf(显示结果是:n); printf(姓名电话号码n); if(head!=NULL) do printf(%st%sn,p-name,p-tele); p=p-next; while(p!=NULL); void main ID *h
8、ead=NULL; int choise; printf(tt* * * * C语言课程设计之同学电话薄管理系统 * * * *nnnnn); printf(ttttt -计科0805田凯 n); while(1) printf(n); printf(t 菜单: n); printf(tt 1.输入 n); printf(tt 2.显示 n); printf(tt 3.查找 n); printf(tt 4.插入 n); printf(tt 5.删除 n); printf(tt 6.修改 n); printf(tt 0.退出 n); printf(n); printf(n); printf(请选
9、择(0-6):); scanf(%d,&choise); getchar; switch(choise) case 1: head=creat; /*如果输入1,则指针指向creat函数*/ break; case 2: print(head); /*如果输入2,则指针指向print函数*/ break; case 3: head=search(head); /*如果输入3,则指针指向search函数*/ break; case 4: head=insert(head); /*如果输入4,则指针指向insert函数*/ break; case 5: head=delet(head);/*如果输
10、入5,则指针指向delet函数*/ break; case 6: head=modify(head);/*如果输入6,则指针指向delet函数*/ break; case 0: exit(0); /*如果输入0,则退出程序*/ break; default :printf(输入错误,请重新输入!n); /若输入其他则显示输入错误 #include #include #include #include #define ID struct id struct id char name20; char tele20; ID *next; ; int pc=0;/全局变量 ID *creat /创建链
11、表 ID *p1,*p2,*head; char str20; p1=p2=head=NULL; printf(tt请开始输入记录(当输入#时结束 )!n); while(1) printf(请输入姓名:n);scanf(%s,str);getchar; if(strcmp(str,#)=0) break; p1=(ID*)malloc(sizeof(ID); strcpy(p1-name,str); printf(请输入电话号码);scanf(%s,p1-tele);getchar; if(head=NULL) head=p1; p2=p1; else p2-next=p1; p2=p1;
12、pc+; p2-next=NULL; return(head); /*输入/添加记录*/ ID *insert(ID *head) ID *temp,*p1,*p2; printf(插入操作开始!n); temp=(ID *)malloc(sizeof(ID); printf(请输入姓名:n);scanf(%s,temp-name);getchar; printf(请输入电话号码:n);scanf(%s,temp-tele);getchar; if (head=NULL) head=temp; temp-next=NULL; else p1=head; while(p1!=NULL) p2=p
13、1; p1=p1-next; p2-next=temp; temp-next=p1; printf(插入成功); pc+; return (head); /*删除记录*/ ID *delet(ID *head) ID *p1,*p2; char str20; printf(请输入要删除的姓名:);scanf(%s,str);getchar; p1=head; if (head=NULL) printf(没有记录n); goto end; while(p1!=NULL & strcmp(p1-name,str) p2=p1;p1=p1-next; if(p1=NULL) printf(未找到符合
14、记录!n); else if(strcmp(p1-name,str)=0) if (p1=head) head=p1-next; else p2-next=p1-next; printf(删除成功!n); pc-; end:return head; /*查找记录*/ ID *search(ID *head) ID *p1,*p2; int flag=0; char c; printf(请输入姓名的首字:);scanf(%c,&c);getchar; p1=head; while( p1!=NULL) if(p1-name0=c) printf(姓名:%st电话号码:%sn,p1-name,p1
15、-tele); flag=1; p2=p1;p1=p1-next; if(flag=0) printf(未找到符合记录!n); return head; /*修改记录*/ ID *modify(ID *head) ID *p1,*p2; int mode; char str20; printf(请输入要修改的记录姓名:);scanf(%s,str);getchar; p1=head; while( p1!=NULL) if(strcmp(p1-name,str)=0) printf(1.姓名:%st2.电话号码:%sn,p1-name,p1-tele); printf(请选择要修改选项:n);
16、 printf(1.修改姓名n2.修改电话号码n); scanf(%d,&mode);getchar; if(mode=1) printf(请输入修改后的姓名n); scanf(%s,p1-name);getchar; printf(修改后的记录为:n姓名:%st电话号码:%sn,p1-name,p1-tele); else if(mode=2) printf(请输入修改后的电话号码n); scanf(%s,p1-tele);getchar; printf(修改后的记录为:n姓名:%st电话号码:%sn,p1-name,p1-tele); else printf(输入有误!n); break;
17、 p2=p1;p1=p1-next; if(p1=NULL) printf(未找到符合要求的记录!n); return head; /*显示结果函数*/ void print(ID *head) ID *p; p=head; printf(ttt*n); printf(显示结果是:n); printf(姓名电话号码n); if(head!=NULL) do printf(%st%sn,p-name,p-tele); p=p-next; while(p!=NULL); void main ID *head=NULL; int choise; printf(tt* * * * C语言课程设计之同学
18、电话薄管理系统 * * * *nnnnn); printf(ttttt -计科0805田凯 n); while(1) printf(n); printf(t 菜单: n); printf(tt 1.输入 n); printf(tt 2.显示 n); printf(tt 3.查找 n); printf(tt 4.插入 n); printf(tt 5.删除 n); printf(tt 6.修改 n); printf(tt 0.退出 n); printf(n); printf(n); printf(请选择(0-6):); printf( 如果您第一次使用,请先建立通讯录请输入1 n); scanf(
19、%d,&choise); getchar; switch(choise) case 1: head=creat; /*如果输入1,则指针指向creat函数*/ break; case 2: print(head); /*如果输入2,则指针指向print函数*/ break; case 3: head=search(head); /*如果输入3,则指针指向search函数*/ break; case 4: head=insert(head); /*如果输入4,则指针指向insert函数*/ break; case 5: head=delet(head);/*如果输入5,则指针指向delet函数*/ break; case 6: head=modify(head);/*如果输入6,则指针指向delet函数*/ break; case 0: exit(0); /*如果输入0,则退出程序*/ break; default :printf(输入错误,请重新输入!n); /若输入其他则显示输入错误
链接地址:https://www.31ppt.com/p-3153774.html