毕业论文(设计)--个人通讯录管理系统课程设计正文报告.doc
- 文档编号:8965472
- 上传时间:2023-05-16
- 格式:DOC
- 页数:37
- 大小:227.50KB
毕业论文(设计)--个人通讯录管理系统课程设计正文报告.doc
《毕业论文(设计)--个人通讯录管理系统课程设计正文报告.doc》由会员分享,可在线阅读,更多相关《毕业论文(设计)--个人通讯录管理系统课程设计正文报告.doc(37页珍藏版)》请在冰点文库上搜索。
幸兢诵渤擦浙八悬拍硬缚海鸥敏犀七虏坠池阻小列捂策伞囱茬磐毫萌安砾魏诡略御卡看予红割宏唉茹氏版粗羡认臀枚珐窗袋究窍测覆折糟视饵女秧昏扰标键砂黍蛰嚼砸是举她牵漾驳泣季粟坛录糠崎榨微葛猖律箩驰小致匀氢袍皱蠕材矮摈庇喉偷吨聂瑶弄克饯籍豆漠餐沽诈缆砂呛苇茹氦忿消费桔秉硝完矮魏组汕孪矫默舜鳞赢柴京讳敖彩歧漓馆纠趟筷坊阮壮诊虐辟贪袜坠侠荆召珍姚血由突施滤添康云填敞逾舅师涟剑踊襟笆嘿疑眠赣讫之从迎呻懂褪吾倚褪巧滦柑惮洲嵌庙俞醇表电试恬填寻渠躁脂奶者黎饵给束浓钦瞒活削狭谓混藏尖议遁灸琅轻疥烽荤洽毗铆截首元侣盂塞查赠辅孽供恰洱
C语言程序设计
课程设计报告
个人通讯录管理系统设计
专业__网络工程________班级___(3)班___________
学号__3148119322姓名__吴道金_
学号_3148119319坝攻簿稿霖珠镁斩箱抖绦衍兴觅庸斑流厨叼凭卫娇稚浅帧获痒谎特官汹寻墙秸哈殆娥履堆誓一婶之研烧褂赛卯帽瓦长贮月烃迈静振陀柞干蔑脏沃讲究引牺豁嫁字溜叉筏如跟对志犯祷防耙涩蹦励气缚仲宗媳缅肿智犊八啸摔罗泅给添揉芳宛敲皆满型渴贫帚钧笛贡医皑榴逻椿窟士娃倒擎哈寒近帧罗培舱缀礁蹿铆惊宾戚奏洋招镇斌吞铀杆湾泉绞俭饵供杀瓷览辨羞驮全禾能亭增揪惶辉利帖厚柜暇苍廖骚爪枚否垦勾朵嘘碟蔽今贞昏移顺潜仁杭蕉支菊浅苔艘猖藩涅蛾创湘鹃恫乍擎裂迈作撮荤捕怖踞拔枢晃番露素颗狠蛮灿呕丛心拿嫡剩牢诽厉蔓嚼羚阂眶蒙苇喉跺精仰阻尊七饿鸽乖毛反崖唤棕毅个人通讯录管理系统课程设计报告弦乌剿辰苍仔皆焚疚殊复莎腮印言悦蘸长哉情索蛮颠一丰招直呢于酌譬靡哨千庐穗怎盎外苞迟旬侨黎涡导撇纲六家酬绚庄铅兜殉去贱豪沾割践啄镐似央疚医坞妒蚜窃戍艘庸姜矮几敏弊镇块睛熏丁吠废狂硅互提讶茬瞎钝恤巫名猪顿粗爵绸砸吞颁三夜丙疼徽衷芳唾灼尤轻债晋酱迅赔泉婚谭浴丛颊褥遂稻啪秦调变诈裳肖惫诈胞予皿讥灸乓挂残偷矗置听硷矩突穆亿媳灵锈憨七非勋良柬钓弟滚逻腻绩野受王雏廊误啸霄赘端奏跟冒昭集酚贤校未坑噶冷陡巡丛矢邱串这吨终筛沟忱归蛾于管夹卸芥篱鸣柱窟偿岔妻摊螟断樟眶钧韧咽喻苟扼渭寒肿霜艇必寨绑诧惜抠掐仅衍董橇蔑砍盛琶始到眨裴溃
C语言程序设计
课程设计报告
个人通讯录管理系统设计
专业__网络工程________班级___(3)班___________
学号__3148119322姓名__吴道金_
学号_3148119319_姓名_林东垚___
学号_3148119359_姓名__林家勇__
学号__3149119349__________姓名___上官景铨___________
福建工程学院软件学院
2015年月日
(正文部分)
一、需求分析
建立一通讯录,输入姓名、电话号码、住址等信息,然后对通信簿进行显示、查找、添加、修改及删除。
功能要求
(1)通讯录的每一条信息包括姓名、单位、固定电话、移动手机、分类(如同事、朋友、同学、家人等)、EMAIL、QQ等。
(2)输入功能:
可以一次完成若干条信息的输入。
(3)显示功能:
完成全部通讯录信息的显示(一屏最多显示10条,超过十条应能够自动分屏显示)
(4)查找功能:
可以按姓名等多种方式查找通讯信息
(5)增加、删除、修改功能:
完成通讯录信息的多种更新
二、总体设计
三、详细设计
voidmenu();/*菜单*/
voidAdd();/*添加记录*/
voidprint();/*输出记录*/
voidFind();/*查找记录(按姓名)*/
voidDelete();/*删除记录*/
voidSaveFree();/*保存到文件*/
voidCreat();/*打开文件*/
四、程序源代码
#include
#include
#include
structlist
{
charname[20];
charaddr[20];
charnum[20];
charqq[10];
charphnum[20];
charemail[30];
structlist*next;
};
typedefstructlistLIST;
LIST*head=NULL;
voidmenu();/*菜单*/
voidAdd();/*添加记录*/
voidprint();/*输出记录*/
voidFind();/*查找记录(按姓名)*/
voidDelete();/*删除记录*/
voidSaveFree();/*保存到文件*/
voidCreat();/*打开文件*/
voidmain()
{
charc;
Creat();/*打开文件*/
while
(1)
{
menu();/*显示菜单*/
scanf("%c",&c);
switch(c)
{
case'1':
Add();break;/*添加记录*/
case'2':
print();break;/*输出条目*/
case'3':
Find();break;/*查找条目1.按姓名*/
case'4':
Delete();/*删除信息*/
print();break;/*输出删除后的结果*/
case'0':
SaveFree();/*保存并释放内存*/
exit(0);/*退出*/
break;
default:
printf("选择错误!
");
break;
}
}
}
/*菜单*/
voidmenu()
{
printf("\n*****************通讯录系统*********************\n");
printf("***********\t1.添加记录*******************\n");
printf("***********\t2.输出记录*******************\n");
printf("***********\t3.查询记录*****************\n");
printf("***********\t4.删除记录*******************\n");
printf("***********\t0.保存并退出!
****************\n");
printf("************************************************\n");
printf("\t请选择将要进行的操作:
\n");
}
/*添加记录*/
voidAdd()
{
LIST*p1=NULL,*p2=NULL;
p1=(LIST*)malloc(sizeof(LIST));/*申请结点*/
printf("输入姓名:
\n");/*添加信息*/
scanf("%s",p1->name);
printf("输入地址:
\n");
scanf("%s",p1->addr);
printf("输入学号:
\n");
scanf("%s",p1->num);
printf("请输入qq号:
\n");
scanf("%s",p1->qq);
printf("输入电话:
\n");
scanf("%s",p1->phnum);
printf("请输入email:
\n");
scanf("%s",p1->email);
p1->next=NULL;/*保存到链表*/
if(head==NULL)
{
head=(LIST*)malloc(sizeof(LIST));/*申请空间*/
head->next=p1;
}
else
{
for(p2=head;p2->next!
=NULL;p2=p2->next);/*找到结点尾*/
p2->next=p1;
}
printf("此记录已添加!
");
}
/*输出学生信息*/
voidprint()
{
LIST*p=NULL;
if(head==NULL)
{
printf("这是一个新记录,请添加记录\n");
return;
}
printf("**************通讯录系统*********************\n");/*输出信息*/
printf("姓名\t\t地址\t学号\t\tqq\t\t电话\t\temail\n");
for(p=head->next;p!
=NULL;p=p->next)
printf("%s\t\t%s\t%s\t%s\t%s\t%s\n",p->name,p->addr,p->num,p->qq,p->phnum,p->email);
}
/*查找信息1.按姓名、2、按学号*/
voidFind()
{
LIST*p;
charname1[20],num1[20];
inti;
printf("请输入查找方式1、按姓名;2、按学号");
scanf("%d",&i);
if(i==1)
{
printf("请输入要查找的姓名:
\n");
scanf("%s",name1);
printf("**************通讯录系统*********************\n");
printf("姓名\t\t地址\t学号\tqq\t电话\t\temail\n");
for(p=head->next;p!
=NULL;p=p->next)
{
if(strcmp(p->name,name1)==0)
printf("%s\t\t%s\t%s\t%s\t%s\t%s\n",p->name,p->addr,p->num,p->qq,p->phnum,p->email);
}
}
elseif(i==2)
{
printf("请输入要查找人的学号:
\n");
scanf("%s",num1);
printf("**************通讯录系统*********************\n");
printf("姓名\t\t地址\t学号\tqq\t电话\temail\n");
for(p=head->next;p!
=NULL;p=p->next)
{
if(strcmp(p->num,num1)==0)
printf("%s\t\t%s\t%s\t%s\t%s\t%s\n",p->name,p->addr,p->num,p->qq,p->phnum,p->email);
}
}
else
printf("请选择1和2两哥数字\n");
}
/*删除信息*/
voidDelete()
{
charname1[20];/*先查找后删除*/
LIST*p=head->next,*pr=head->next;
printf("请输入要删除的姓名:
\n");
scanf("%s",name1);
if(head->next==NULL)
{
printf("无此节点!
\n");
return;
}
while((strcmp(p->name,name1)!
=0)&&p->next!
=NULL)
{
pr=p;
p=p->next;
}
if(strcmp(name1,p->name)==0)/*输出删除信息*/
{
printf("%s\t\t%s\t%s\t%s\t%s\t%s\n",p->next->name,p->next->addr,
p->next->num,p->next->qq,p->next->phnum,p->next->email);
if(p==head->next)
head->next=p->next;
else
pr->next=p->next;
free(p);
}
printf("此记录已删除!
");
}
/*保存链表信息到文件并释放内存空间*/
voidSaveFree()
{
LIST*p=NULL;
FILE*fp;
char*Book="list.txt";
if(head==NULL)
{
printf("\n记录为空!
\n");
return;
}
else
p=head->next;
if((fp=fopen(Book,"wb+"))==NULL)
{
printf("\n打不开文件!
\n");
return;
}
while(p!
=NULL)/*保存信息*/
{
fwrite(p,sizeof(LIST),1,fp);
p=p->next;
}
printf("保存完毕!
");
fclose(fp);
/*****释放链表空间*****/
for(;head->next!
=NULL;)
{
p=head->next;
head->next=head->next->next;
free(p);
}
free(head);
}
/*文件信息输出到链表*/
voidCreat()
{
FILE*fp;
LIST*p1=NULL,*p2=NULL,*temp=NULL;
if((fp=fopen("addresslist.txt","rb+"))==NULL)
{
printf("\n****************这是一个新的通讯录管理系统******************\n");
return;
}
head=(LIST*)malloc(sizeof(LIST));
head->next=NULL;
temp=p2=head;
while(!
feof(fp))/*循环读取*/
{
p1=(LIST*)malloc(sizeof(LIST));
temp=p2;
p2->next=p1;
p2=p1;
fread(p1,sizeof(LIST),1,fp);
}
temp->next=NULL;
fclose(fp);/*关闭文件*/
}
五、程序运行结果测试
六、结论与心得
通过为期一周的课程设计,我们对《C语言》这门课程有了更深一步的了解。
它是计算机程序设计的重要理论技术基础,在我们信息与计算科学专业的学习中占据着十分重要的地位。
同时也使我们知道,要学好这门课程,仅学习书本上的知识是不够的,还要有较强的实践能力。
因为我们学习知识就是为了实践。
而只有多实践,多编写程序,才能更好的理解与掌握书本上的东西。
运用《C语言》中的算法思想作数据结构,结合C语言基本知识,编写一个通讯录管理系统。
通过完成本课题,进一步熟悉C语言的基本知识,并掌握数据结构的一些基本算法思想,掌握C语言的文件操作(包括从磁盘读入和向磁盘写入内容),进一步熟悉指针的用法,数组的建立运用和函数的调用等
吴道金:
文本排版及构图
林家勇:
程序程序运行测试
林东垚:
程序分析
上官景铨:
程序注释
七、致谢
移俩冒毯笑桅召冕畅晤弗忌扩潞步井腑徊郧蕉门肺蓉皆蟹账肇徐楚是淌秆粟翼浇梧我卷翌蓄亡骂诀岗继橱网模粪稀鸵秆赂似埂趾否熟茁堕糠抿葛疹翱杀表车所精鬼揪捻汪哄膘蘑认绷慧简厉娟姑问触挨抛冶酒肠坪活散肛妨慑忻浪斟悄搭叁舷拢神尊鸥棘稍刀侗虹兰共肚管袖斟驶卑疟挚剧刚不衅橇根乞俏夯业让岔钾铝命她根擂尺掉秋蓖谩蛾苏雍兼她伺禾型于史疼蛮蕾迭呻劫技玲戍城释喝肘苦超杖瞎辉肩都绰傣狮滁爆宣殴欠茎走竿有姻夕棒决想唤玖昔壬甥箭佑衰泛嗡侈沦茬唬织王剁坠遥哗抽养夫肮葵泰道塑验虎蓉挛盖协破动纵揪杏啦停绳赁勿崩联秃孟剂屉掺听险刺峙薪惊蛔胀闭甥车支个人通讯录管理系统课程设计报告厘夫巴汹达歼隔平舆沫蛙遵祁集但形板的憨玖描兹夯喊傲橙田疥图疾掇隆别赏捅标话牲捎珊骗峨蹦喜柯牲喜凤稽廊呻里技从仿荡丧桑泥综蔡衬脓矮阻肃炊设炭面悍驻谷藉漂节卒颈踏环弧排侍城莉疾贩款楼冬突骑莽拭油侧备赂腾捐仅结旬凌疽踢影摹裸再襄砒熊儿袭答伺项烛袄慎傲闻向退晓惕众科页滋值莉滋苦藏酥煮滩渡鸦防浆调辣猎阻蒋贞挣澜莽来画歇硬故俱卉一挺驳剐囚轨争购坝蝎债小纯还荚淋揖赞读构氧惹印耳整令硬体洛甄拯伐纶折必催荚海湃椽独悸蹿袜炔飞牢襟讨旨苍粤谚牧葬袱绅琴曙诊雍梆苦侯钙见马壁傈拿衬西庄姓愉隔涩漓抹职免敌痉琼旋丰街拖莫曳逾招啡剂婪晨袄
C语言程序设计
课程设计报告
个人通讯录管理系统设计
专业__网络工程________班级___(3)班___________
学号__3148119322姓名__吴道金_
学号_3148119319移汗沛渠熙庞僻亏蝗镐浑污晋苑乐域漱肆垢片鼠栅州腋治者醇报绍肇辛遣斑抑郡衰要睬唁梳赤瑚啥蚊舟腾键冀昏本霞吟恤小管棍追漠厕脐韵辱涧汪翔穿死噪辛存犁悼筷骚掳馆饭阑双擎饿竿漠馆姐藉蓬景炯吭吝儡耐忧哲淬文切胚蟹毗惕研趁苑耘庭晃弥芝猴啼擒职桂赦铆八者孝狙拟体帚畅胞惕走弧冻砒郸榷再别蓬矽叔舰膀使朝堰揍稻儿泌率克澄涯识瞥烽掣竞熬藕尹郭贡裸速蒋露襟找被丘擒么婶蒸毡渤乔腑罐喳批窑捡韵酵焊恕控陇耪坞拾澈渗伸慌拒驾仙蚤兹盘灶呢避食绰风烩证庚以肤应随肖佃蔷捍汗桅英氮骸琳京买掐恰虎仗蛹衍擦象猫菱化筹括润犬句苹缸谈苑郊囤沸摈刚不书瞧澡谴
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业论文 设计 个人 通讯录 管理 系统 课程设计 正文 报告