ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:97.39KB ,
资源ID:10268816      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10268816.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(最新C语言通讯录管理系统程序代码资料.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

最新C语言通讯录管理系统程序代码资料.docx

1、最新C语言通讯录管理系统程序代码资料一、 课程设计题目及要求题目 通讯录管理系统任务:自学C语言中相关知识,设计出通讯录管理系统。要求如下所述: 建立通讯录信息,信息至少包含编号、姓名、年龄、电话、通讯地址、电子邮箱等; 能够提供添加、删除和修改通讯录信息的功能; 能够提供按姓名或电话等查询; 将通讯录保存在文件中; 能够按表格方式输出通讯录信息。二、系统设计方案 (一)总体框架图: 通讯录管理系统:1、录入通讯录信息 2、修改通讯录信息 3、查询通讯录信息 4、浏览通讯录信息 5、增加通讯录信息 6、推出系通讯录统 (二)模块设计 模块一:头文件,变量定义,函数的声明 对系统所使用的变量进行

2、定义,对函数进行声明 模块二:录入通讯录信息 声明函数void readfile(),说明一个文件指针FILE *fp 打开文件student.txt 模块三:通讯录信息的查找 声明void seek()为查找函数,通过switch(item)设定用学号查找,用姓名查找两个分支 模块四:通讯录信息的修改 声明void modify()为学生信息修改函数,通过switch(item)设定所要修改的项目 模块五:通讯录信息按学号排序 声明void sort()将录入通讯录信息系按升序排列,用的是“冒泡排序法”实现排序 模块六:加通讯录信息 声明void insert()插入通讯录信息,先通过判断通

3、讯录是否存在,若否则继续输入,若是跳出,重新循环 模块七:通讯录信息 声明void del()实现通讯录信息删除,通过学号对比确定要删除的信息,然后用后一个替换掉。 模块八:示学生信息 通过display()函数输出通讯录信息 模块九;存信息 通过fp=fopen(student.txt,w);写入信息 模块十:界面菜单 通过switch(num)调用,以上各函数,实现功能三、设计详情1. 主函数主函数设计要求简洁,只提供部分提示语和函数的调用【程序】图1. 主函数流程图void menu()/* 界面 */ int num;printf( nn 自动化0901通讯录管理系统 nn);prin

4、tf( * nn);printf( * 制作人:翁行兴 * n n);printf( * nn); printf(*系统功能菜单* n);printf( - - n);printf( * 1.刷新学生信息 * * 2.查询学生信息 * n);printf( * 3.修改学生信息 * * 4.增加学生信息 * n);printf( * 5.按学号删除信息 * * 6.显示当前信息 * n);printf( * 7.保存当前学生信息 * * 8.退出系统 * n);printf( - - n);printf(请选择菜单编号:);scanf(%d,&num);switch(num) case 1:r

5、eadfile();break;case 2:seek();break;case 3:modify();break;case 4:insert();break;case 5:del();break;case 6:display();break;case 7:save();break;case 8:k=0;break;default:printf(请在1-8之间选择n);四、源代码#include #include #include #define BUFLEN 100 #define LEN 15 #define N 100 struct record /*结构体*/char codeLEN+

6、1; /* 学号 */char nameLEN+1; /* 姓名 */int age; /* 年龄 */char sex3; /* 性别 */char timeLEN+1; /* 出生年月 */char add30; /* 家庭地址 */char telLEN+1; /* 电话号码 */char mail30; /* 电子邮件地址 */stuN;int k=1,n,m; /* 定义全局变量 */ void readfile();/* 函数声明 */void seek();void modify();void insert();void del();void display();void sav

7、e();void menu(); int main() while(k)menu();system(pause);return 0; void readfile()/* 建立信息 */char *p=student.txt;FILE *fp;int i=0;if (fp=fopen(student.txt,r)=NULL) printf(Open file %s error! Strike any key to exit!,p);system(pause);exit(0);while(fscanf(fp,%s %s%d%s %s %s %s %s,stui.code,stui.name,&st

8、ui.age,stui.sex,stui.time,stui.add,stui.tel,stui.mail)=8)i+; i=i;fclose(fp);n=i;printf(录入完毕!n); void seek() /*查找*/int i,item,flag;char s121; /* 以姓名和学号最长长度+1为准 */printf(-n);printf(-1.按学号查询-n);printf(-2.按姓名查询-n);printf(-3.退出本菜单-n);printf(-n);while(1)printf(请选择子菜单编号:);scanf(%d,&item);flag=0;switch(item

9、) case 1:printf(请输入要查询的学生的学号:n);scanf(%s,s1);for(i=0;in;i+)if(strcmp(stui.code,s1)=0)flag=1;printf(学号 姓名 年龄 性别 出生年月 地址 电话 E-mailn);printf(-n);printf(%6s %7s %6d %5s %9s %8s %10s %14sn,stui.code,stui.name,stui.age,stui.sex,stui.time,stui.add,stui.tel,stui.mail);if(flag=0)printf(该学号不存在!n); break;case

10、2:printf(请输入要查询的学生的姓名:n);scanf(%s,s1);for(i=0;in;i+)if(strcmp(stui.name,s1)=0)flag=1;printf( 学号 姓名 年龄 性别 出生年月 地址 电话 E-mailn);printf(-n);printf(%6s %7s %6d %5s %9s %8s %10s %14sn,stui.code,stui.name,stui.age,stui.sex,stui.time,stui.add,stui.tel,stui.mail);if(flag=0)printf(该姓名不存在!n); break;case 3:retu

11、rn;default:printf(请在1-3之间选择n); void modify() /*修改信息*/int i,item,num;char sex13,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(1.修改姓名n);printf(2.修改年龄n);printf(3.修改性别n);printf(4.修改出生年月n);printf(5.修

12、改地址n);printf(6.修改电话号码n);printf(7.修改E-mail地址n);printf(8.退出本菜单n);printf(-n);while(1)printf(请选择子菜单编号:);scanf(%d,&item);switch(item)case 1:printf(请输入新的姓名:n);scanf(%s,s2);strcpy(stunum.name,s2); break;case 2:printf(请输入新的年龄:n);scanf(%d,&stunum.age);break;case 3:printf(请输入新的性别:n);scanf(%s,sex1);strcpy(stun

13、um.sex,sex1); break;case 4:printf(请输入新的出生年月:n);scanf(%s,s2);strcpy(stunum.time,s2); break;case 5:printf(请输入新的地址:n);scanf(%s,s2);strcpy(stunum.add,s2); break;case 6:printf(请输入新的电话号码:n);scanf(%s,s2);strcpy(stunum.tel,s2); break;case 7:printf(请输入新的E-mail地址:n);scanf(%s,s2);strcpy(stunum.mail,s2); break;

14、case 8:return;default:printf(请在1-8之间选择n); void sort()/*按学号排序*/int i,j,*p,*q,s; char temp10;for(i=0;ii;j-)if(strcmp(stuj-1.code,stuj.code)0)strcpy(temp,stuj-1.code);strcpy(stuj-1.code,stuj.code);strcpy(stuj.code,temp);strcpy(temp,stuj-1.name);strcpy(stuj-1.name,stuj.name);strcpy(stuj.name,temp);strcp

15、y(temp,stuj-1.sex);strcpy(stuj-1.sex,stuj.sex);strcpy(stuj.sex,temp);strcpy(temp,stuj-1.time);strcpy(stuj-1.time,stuj.time);strcpy(stuj.time,temp);strcpy(temp,stuj-1.add);strcpy(stuj-1.add,stuj.add);strcpy(stuj.add,temp);strcpy(temp,stuj-1.tel);strcpy(stuj-1.tel,stuj.tel);strcpy(stuj.tel,temp);strcp

16、y(temp,stuj-1.mail);strcpy(stuj-1.mail,stuj.mail);strcpy(stuj.mail,temp); p=&stuj-1.age; q=&stuj.age; s=*q; *q=*p; *p=s; void insert() /*插入函数*/ int i=n,j,flag;printf(请输入待增加的学生数:n);scanf(%d,&m);do flag=1;while(flag)flag=0;printf(请输入第 %d 个学生的学号:n,i+1);scanf(%s,stui.code);for(j=0;ji;j+)if(strcmp(stui.c

17、ode,stuj.code)=0)printf(已有该学号,请检查后重新录入!n);flag=1;break; /*如有重复立即退出该层循环,提高判断速度*/printf(请输入第 %d 个学生的姓名:n,i+1);scanf(%s,stui.name);printf(请输入第 %d 个学生的年龄:n,i+1);scanf(%d,&stui.age);printf(请输入第 %d 个学生的性别:n,i+1);scanf(%s,stui.sex);printf(请输入第 %d 个学生的出生年月:(格式:年.月)n,i+1);scanf(%s,stui.time);printf(请输入第 %d 个

18、学生的地址:n,i+1);scanf(%s,stui.add);printf(请输入第 %d 个学生的电话:n,i+1);scanf(%s,stui.tel);printf(请输入第 %d 个学生的E-mail:n,i+1);scanf(%s,stui.mail);if(flag=0) i=i;i+;while(in+m);n+=m;printf(录入完毕!nn);sort(); void del()int i,j,flag=0;char s1LEN+1;printf(请输入要删除学生的学号:n);scanf(%s,s1);for(i=0;in;i+)if(strcmp(stui.code,s

19、1)=0) flag=1;for(j=i;jn-1;j+)stuj=stuj+1;if(flag=0)printf(该学号不存在!n);if(flag=1)printf(删除成功,显示结果请选择菜单6n);n-; void display() int i;printf(所有学生的信息为:n);printf(学号 姓名 年龄 性别 出生年月 地址 电话 E-mailn);printf(-n);for(i=0;in;i+) printf(%6s %7s %5d %5s %9s %8s %10s %14sn,stui.code,stui.name,stui.age,stui.sex,stui.tim

20、e,stui.add,stui.tel,stui.mail); void save()int i;FILE *fp;fp=fopen(student.txt,w); /*写入*/for(i=0;in;i+)fprintf(fp,%s %s %d %s %s %s %s %sn,stui.code,stui.name,stui.age,stui.sex,stui.time,stui.add,stui.tel,stui.mail);fclose(fp); void menu()/* 界面 */int num;printf( nn 自动化0901学生信息管理系统 nn);printf( * nn);

21、printf( * 制作人:翁行兴 * n n);printf( * nn); printf(*系统功能菜单* n);printf( - - n);printf( * 1.刷新学生信息 * * 2.查询学生信息 * n);printf( * 3.修改学生信息 * * 4.增加学生信息 * n);printf( * 5.按学号删除信息 * * 6.显示当前信息 * n);printf( * 7.保存当前学生信息 * * 8.退出系统 * n);printf( - - n);printf(请选择菜单编号:);scanf(%d,&num);switch(num) case 1:readfile();

22、break;case 2:seek();break;case 3:modify();break;case 4:insert();break;case 5:del();break;case 6:display();break;case 7:save();break;case 8:k=0;break;default:printf(请在1-8之间选择n);五调试过程一主界面二测试数据当选择4增加学生信息时,出现对话框,先输入增加的数量。再按要求依次输入,如图输入两组数据,按6查询。如图按3修改信息,如图,输入要修改学生的学号然后选择要修改的选项,例如修改姓名,如图The 鏈嶅姟 Liao rules

23、 ?然后再按6查询,如图The Lu 墿鍚嶇The 鐗祫 Mei 佷笟修改成功!The Qi 締鍗囬檷 Hao Juan 棬删除信息,先选择5,按学号删除,如图再依据提示按6查询剩余的通讯录,如图鎶叧学号为03的已经成功删除!The Wa Juan ? 閮 ?The 鍒嗘 Ma 愰?三依然存在的问题The Ying 樿 Chuai Xian 侀? 閫熷 harms1,第一次输入的数据到了第二次就不能够保存,可能是编写保存的函数没有编到位2,对于显示时不能每一次操作之后都换一个屏,使得众多的操作都集中在一个屏上,显得不美观。The 鍒嗘 Ma 愰?六课程设计总结通过C课程设计这门课,使我对C语言这门课程有了更深一步的了解。它是计算机程序设计的重要理论技术基础,在我们信息科学与工程学院自动化专业的学习中占据着十分重要的地位。同时也使我们知道,要学好这门课程,仅学习书本上的知识是不够的,还要有较强的实践能力。因为我们学习知识就是为了实践。而只有多实践,多编写程序,才能更好的理解与掌握书本上的东西。在遇到不懂的时候,要善于请教他认,不要认为自己什么都懂,这种想法是极其错误的,只有不断吸收他人好的方面,充实自己,自己才能不断的进步。The 鍏泦 Mei 呯 鑸 ?

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1