计算机科学与技术系课程设计任务及成绩评定表_第1页
计算机科学与技术系课程设计任务及成绩评定表_第2页
计算机科学与技术系课程设计任务及成绩评定表_第3页
计算机科学与技术系课程设计任务及成绩评定表_第4页
计算机科学与技术系课程设计任务及成绩评定表_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机科学与技术系课程设计任务及成绩评定表专业:计算机科学与技术系 教研室:学号姓名班级课程设计题目单位员工通讯录管理系统的设计设计的任务与要求(1)掌握数据结构编程的基础知识。(2)较熟练地编写数据结构应用程序。(3)了解数据结构的常用标准函数、编程技巧、异常处理。(4)联系已学过的内容,巩固所学的理论,增强独立学习能力。(5)通过设计主要使学生有一个独立编写程序的过程,对理论学习及动手能力有一个较大的提高。(6)通过本次设计,使学生对本专业有进一步的了解,进一步培养学生热爱专业的思想,同时对本专业综合素质的提高起积极的推动作用。(7)课程设计过程中,要严格遵守实践环节的时间安排,听从指导教

2、师的指导。正确地完成上述内容,做好记录(日记),规范完整地撰写出课程设计报告。学生课程设计方案综述#include <stdio.h>#include <string.h>#include<stdlib.h> typedef struct /*员工通讯信息的结构类型定义*/ char num5; /*员工编号*/ char name15; /*员工姓名*/ char sex15; /*员工性别*/ char phone13; /*手机号码*/ char call15; /*办公室电话号码*/ char e_mail30; /*员工邮箱*/datatype;

3、/*通讯录单链表的结点类型*/ typedef struct node datatype data; /*结点的数据域*/ struct node * next; /*结点的指针域*/ Dnode;Dnode *head;Dnode *p;typedef struct node linklist;int menu() int i; printf("ntt*单位员工通讯录管理系统*n"); printf("ntt| 1.通讯录的建立 |n"); 学生课程设计方案综述(续) printf("ntt| 2.添加员工信息 |n"); prin

4、tf("ntt| 3.删除员工信息 |n"); printf("ntt| 4.查询员工信息 |n"); printf("ntt| 5.输出员工信息 |n"); printf("ntt| 6.修改员工信息 |n"); printf("ntt| 0.结束所有操作 |n"); printf("ntt| 请选择(0-6): |n"); printf("ntt*n"); scanf("%d",&i);return i;Dnode *cre

5、atelist()Dnode *head=(Dnode *)malloc(sizeof(Dnode);Dnode *p;Dnode *rear;char c='n' rear=head;while(c='n') p=(Dnode *)malloc(sizeof(Dnode); printf("请输入编号: n"); scanf("%s",p->data.num); printf("请输入姓名: n"); scanf("%s",p->); printf(&

6、quot;请输入性别: n"); scanf("%s",p->data.sex); printf("请输入手机号码: n"); scanf("%s",p->data.phone); printf("请输入办公室电话号码: n"); scanf("%s",p->data.call); printf("请输入电子邮箱: n"); scanf("%s",p->data.e_mail); rear->next=p; rear

7、=p; scanf("%c",&c); rear->next=NULL; return head;void Add(Dnode *head,Dnode *p) Dnode *p1; Dnode *p2;学生课程设计方案综述(续) p1=head; p2=p1->next; while(p2!=NULL&&strcmp(p2->data.num,p->data.num)<0) p1=p2; p2=p2->next; p1->next=p; p->next=p2;void Delete(Dnode *hea

8、d) char a,b; Dnode *p; Dnode *q; char num5; char name10; int x; printf("1.按编号删除n"); printf("2.按姓名删除n "); printf("请选择(1或2): "); p=head->next; scanf("%d",&x); if(x=1) printf("请输入要查询者的编号:"); scanf("%s",num); while(p&&strcmp(p-&g

9、t;data.num,num)<0) p=p->next; if(p=NULL|strcmp(p->data.num,num)>0) p=NULL; if(x=2) printf("请输入要查询者的姓名:"); scanf("%s",name); while(p&&strcmp(p->,name)!=0) p=p->next; scanf("%c",&b); if(p=NULL)学生课程设计方案综述(续) printf("对不起没有您要查询者的信息

10、n"); return; printf("要删除该结点吗?(y/n) :"); scanf("%c",&a); printf("通讯者已经被删除 n");Dnode *research(Dnode *head) Dnode *p; char num5; char name10; char phone15; char call15; int x; printf("1.按编号查询:n"); printf("2.按姓名查询:n"); printf("3.按手机号码查询:n&

11、quot;); printf("4.按办公室电话号码查询:n"); printf("请选择(1-4): "); p=head->next; scanf("%d",&x); if(x=1) printf("请输入要查询者的编号:"); scanf("%s",num); while(p&&strcmp(p->data.num,num)<0) p=p->next; if(p=NULL|strcmp(p->data.num,num)>0) p=

12、NULL; if(x=2) printf("请输入要查询者的姓名:"); scanf("%s",name); while(p&&strcmp(p->,name)!=0) p=p->next; if(x=3)学生课程设计方案综述(续) printf("请输入要查询者的手机号码:"); scanf("%s",phone); while(p&&strcmp(p->data.phone,phone)!=0) p=p->next; if(x=4) pr

13、intf("请输入要查询者的办公室电话号码:"); scanf("%s",call); while(p&&strcmp(p->data.call,call)!=0) p=p->next; return p;void print_list(Dnode *head) Dnode *p; p=head->next; printf("编号 姓名 性别 手机号码 办公室电话号码 邮箱n"); while(p!=NULL) printf("%-5st",p->data.num); pri

14、ntf("%-10st",p->); printf("%-10st",p->data.sex); printf("%-10st",p->data.phone); printf("%-10st",p->data.call); printf("%-15stn",p->data.e_mail); p=p->next; Dnode *Change(Dnode *head,char k) Dnode *q; q=research(head); if(q

15、=0) printf("没有要修改的信息!n"); return 0; else 学生课程设计方案综述(续) int i; k15='0' printf("编号 姓名 性别 手机号码 办公室电话号码 邮箱n"); printf("%-5st%-10st%-10st%-10st%-15stn",q->data.num,q->,q->data.phone,q->data.call,q->data.e_mail); printf("1-修改姓名n");pri

16、ntf("2-修改性别n"); printf("3-修改手机号码n"); printf("4-修改办公室电话号码n"); printf("5-修改电子邮箱n"); printf("请选择按键(1-5):n"); scanf("%d",&i); switch(i) case 1: printf("修改姓名-n"); strcpy(q->,k); printf("请输入要改的姓名:n"); getchar()

17、; gets(k); printf("n"); strcpy(q->,k); break; case 2: printf("修改性别-n"); strcpy(q->data.sex,k); printf("请输入要修改的性别:n"); getchar(); gets(k); printf("n"); strcpy(q->data.sex,k ); break; case 3: printf("修改手机号码-n"); strcpy(q->data.phon

18、e,k); printf("请输入要修改的号码:n"); getchar(); gets(k); printf("n"); strcpy(q->data.phone,k ); break; case 4: printf("修改办公室电话号码-n"); strcpy(q->data.call,k); printf("请输入要修改的号码:n"); getchar(); 学生课程设计方案综述(续) gets(k); printf("n"); strcpy(q->data.call,k

19、); break; case 5: printf("修改电子邮箱-n"); strcpy(q->data.e_mail,k); printf("请输入要修改的电子邮箱:n"); getchar(); gets(k); printf("n"); strcpy(q->data.e_mail,k); break; default :printf("输入错误!n");break; return q; void Saveandfree() linklist *p=NULL; FILE *fp; char *zil

20、iao="ziliao.txt" if(head=NULL) printf("n记录为空!n"); return; else p=head->next; if(fp=fopen(ziliao,"wb+")=NULL) printf("n打不开文件!n"); return; while(p!=NULL) fwrite(p,sizeof(linklist),1,fp); p=p->next; printf("保存完毕!n"); fclose(fp); for( ;head->nex

21、t!=NULL; )学生课程设计方案综述(续) p=head->next; head->next=head->next->next; free(p); free(head);void Open() FILE *fp; linklist *p1=NULL,*p2=NULL,*temp=NULL; if(fp=fopen("ziliao.txt","rb+")=NULL) printf("ntt*通讯录*n"); return; head=(linklist *)malloc(sizeof(linklist); h

22、ead->next=NULL; temp=p2=head; while(! feof(fp) p1=(linklist *)malloc(sizeof(linklist); temp=p2; p2->next=p1; p2=p1; fread(p1,sizeof(linklist),1,fp); temp->next=NULL; fclose(fp); void main()Open();while(1)system("color 3E");switch(menu() case 1: printf("tt*n"); printf(&qu

23、ot;tt 通 讯 录 链 表 的 建 立 n"); printf("tt*n"); head=createlist(); break;学生课程设计方案综述(续) case 2:p=(Dnode *)malloc(sizeof(Dnode); printf("tt*n"); printf("tt 通 讯 者 信 息 的 添 加 n"); printf("tt*n"); printf("员工编号: n");scanf("%s",p->data.num); pri

24、ntf("员工姓名: n");scanf("%s",p->); printf("员工性别: n");scanf("%s",p->data.sex); printf("员工手机号码: n");scanf("%s",p->data.phone); printf("员工办公室电话号码: n");scanf("%s",p->data.call); printf("员工电子邮箱: n");scanf("%s",p->data.e_mail);printf("操作已成功!n"); Add(head,p); break; case 3: printf("tt*n"); printf("tt 通 讯 录 信 息 的 删 除 n"); printf("tt*n"); Delete(head); break; case 4: pri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论