c语言课程设计报告通讯录管理系统_第1页
c语言课程设计报告通讯录管理系统_第2页
c语言课程设计报告通讯录管理系统_第3页
c语言课程设计报告通讯录管理系统_第4页
c语言课程设计报告通讯录管理系统_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、 1设计题目的内容、任务及具体要求一需求分析实现通讯录管理系统任务:自学C语言有关链表及外部文件的内容,设计出通讯录管理系统,要求如下:建立通讯录信息,信息至少包含编号,姓名,年龄,电话,通讯录地址,电子邮箱等;能够提供添加,删除和修改通讯录信息的功能;能够提供按不同方式查询的功能;如按姓名或年龄,电话等查询;将通讯录保存在文件中;能够按表格方式输出通讯录信息要求:1.学生从以上几个设计任务中任选其中一个完成.2根据以上功能需求,自己定义单链表结点的存储结构;为了保证所有的数据可以长期被使用,要求程序能将相关数据存储在外部数据文件中,具体数据格式和文件名,路径等自定;提供友好的用户界面,方便用

2、户操作.二.源程序代码#include#include#include#defineBUFLEN80/*缓冲区最大字符数*/#defineLEN30/*学号和姓名最大字符数,实际请更改*/#defineN200/*最大学生人数,实际请更改*/charcharintcharcharcharcharcharstuN;codeLEN+1nameLEN+1age;sex3;timeLEN+1addLEN+1;telLEN+1;mailLEN+1/*学号*/*姓名*/structrecordintk=1,n,m;voidreadfile();/*函数声明*/voidseek();voidmodify()

3、;voidinsert();voiddel();voiddisplay();voidsave();voidmenu();intmain()while(k)menu();system(pause);return0;voidreadfile()/*建立信息*/charbufBUFLEN,*p=student.dat;FILE*fp;inti=0;if(fp=fopen(student.dat,r)=NULL)/*把此程序和文件student.dat放在同一目录下*/printf(Openfile%serror!Strikeanykeytoexit!,p);system(pause);exit(0)

4、;while(fscanf(fp,%s%s%d%s%s%s%s%s,stui.code,,&stui.age,stui.sex,stui.time,stui.add,stui.tel,stui.mail)=8)i+;fclose(fp);n=i;printf(“录入完毕!n);voidseek()inti,j,item,flag;chars1LEN+1;/*以姓名和学号最长长度+1为准*/printf(n);printf(l.按学号查询n);printf(2.按姓名查询n);printf(3.退出本菜单n);printf(n);while(1)printf(请选择子菜单编号:

5、);scanf(%d,&item);flag=0;switch(item)case1:printf(请输入要查询的学生的学号:n);scanf(%s,s1);for(i=0;in;i+)if(strcmp(stui.code,s1)=0)flag=1;printf(该学生学号,姓名,年龄,性别,出生年月,地址,电话,E-mail分别为:n);printf(%s%s%d%s%s%s%s%sn,stui.code,,stui.age,stui.sex,stui.time,stui.add,stui.tel,stui.mail);if(flag=0)printf(该学号不存在!n)

6、;break;case2: 武汉科技大学信息科学与工程学院C语言通讯录管理系统课程设计报告printf(请输入要查询的学生的姓名:n);scanf(%s,s1);for(i=0;in;i+)if(strcmp(,s1)=0)flag=1;printf(该学生学号,姓名,年龄,性别,出生年月,地址,电话,E-mail分别为:n);printf(%s%s%d%s%s%s%s%sn,stui.code,,stui.age,stui.sex,stui.time,stui.add,stui.tel,stui.mail);if(flag=0)printf(该姓名不存在!

7、n);break;case3:return;default:printf(请在1-3之间选择n);voidmodify()/*修改信息*/inti,j,item,num;charsex13,s1LEN+1,s2LEN+1;/*以姓名和学号最长长度+1为准*/printf(请输入要要修改的学生的学号:n);scanf(%s,s1);for(i=0;in;i+)if(strcmp(stui.code,s1)=0)num=i;printf(n);printf(l.修改姓名n);printf(2修改年龄n);printf(3.修改性别n);printf(4.修改出生年月n);printf(5.修改地址

8、n);printf(6.修改电话号码n);printf(7.修改E-mail地址n);printf(8.退出本菜单n);printf(n);while(1)printf(请选择子菜单编号:);scanf(%d,&item);switch(item)武汉科技大学信息科学与工程学院C语言通讯录管理系统课程设计报告 case1:printf(请输入新的姓名:n);scanf(%s,s2);strcpy(,s2);break;case2:printf(请输入新的年龄:n);scanf(%d,&stunum.age);break;case3:printf(请输入新的性别:n);sc

9、anf(%s,sex1);strcpy(stunum.sex,sex1);break;case4:printf(请输入新的出生年月:n);scanf(%s,s2);strcpy(stunum.time,s2);break;case5:printf(请输入新的地址:n);scanf(%s,s2);strcpy(stunum.add,s2);break;case6:printf(请输入新的电话号码:n);scanf(%s,s2);strcpy(stunum.tel,s2);break;case7:printf(请输入新的E-mail地址:n);scanf(%s,s2);strcpy(stunum.

10、mail,s2);break;case8:return;default:printf(“请在1-8之间选择n);voidinsert()inti=n,j,flag;printf(请输入待增加的学生数:n);scanf(%d,&m);doflag=1;while(flag)flag=0;printf(请输入第%d个学生的学号:n,i+l);scanf(%s,stui.code);for(j=0;ji;j+)if(strcmp(stui.code,stuj.code)=0)printf(已有该学号,请检查后重新录入!n);flag=1;break;/*如有重复立即退出该层循环,提高判断速度*/pr

11、intf(请输入第%d个学生的姓名:n,i+l);scanf(%s,);printf(请输入第%d个学生的年龄:n,i+l);scanf(%d,&stui.age);printf(请输入第%d个学生的性别:n,i+l);scanf(%s,stui.sex);printf(请输入第%d个学生的出生年月:(格式:年月)n,i+l);scanf(%s,stui.time);printf(请输入第%d个学生的地址:n,i+l);scanf(%s,stui.add);printf(请输入第%d个学生的电话:n,i+l);scanf(%s,stui.tel);printf(“请输入第%d

12、个学生的E-mail:n,i+1);scanf(%s,stui.mail);if(flag=0)i+;while(in+m);n+=m;printf(录入完毕!nn);voiddel()inti,j,flag=0;chars1LEN+1;printf(请输入要删除学生的学号:n);scanf(%s,s1);for(i=0;in;i+)if(strcmp(stui.code,s1)=0)flag=1;for(j=i;jn-1;j+)stuj=stuj+1;if(flag=0)printf(该学号不存在!n);if(flag=1)n-;printf(删除成功,显示结果请选择菜单6n);voiddi

13、splay()inti,j;printf(所有学生的信息为:n);for(i=0;in;i+)printf(%s%s%d%s%s%s%s%sn,stui.code,,stui.age,stui.sex,stui.time,stui.add,stui.tel,stui.mail);voidsave()inti,j,k,flag=0;FILE*fp;fp=fopen(student.dat,w);for(i=0;in;i+)fprintf(fp,%s%s%d%s%s%s%s%sn,stui.code,,stui.age,stui.sex,stui.time,st

14、ui.add,stui.tel,stui.mail);fclose(fp);voidmenu()/*界面*/intnum;printf(nn简易学生通讯录系统nn);printf(“*系统功能菜单*n);printf(n);printf(l.读入学生信息n);printf(2.查询学生信息n);printf(3.修改学生信息n);printf(4.增加学生信息n);printf(5.按学号删除信息n);printf(6.显示当前信息n);武汉科技大学信息科学与工程学院C语言通讯录管理系统课程设计报告 printf(7.保存当前学生信息(要把修改保存到文件,退出程序前必须执行本项)n);prin

15、tf(8.退出系统n);printf(n);printf(青选择菜单编号:);scanf(%d,&num);switch(num)case1:readfile();break;/在主函数中调用子函数时,子函数不要带上类型,这和声明子函数不同*/case2:seek();break;case3:modify();break;case4:insert();break;case5:del();break;case6:display();break;case7:save();break;case8:k=0;break;default:printf(请在1-8之间选择n);三.程序设计总结这次的程序设计实验是

温馨提示

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

评论

0/150

提交评论