C语言课程设计手机名片管理系统.docx
《C语言课程设计手机名片管理系统.docx》由会员分享,可在线阅读,更多相关《C语言课程设计手机名片管理系统.docx(16页珍藏版)》请在冰豆网上搜索。
C语言课程设计手机名片管理系统
C语言课程设计-手机名片管理系统
综合性程序设计报告
设计题目:
手机名片管理系统
指导教师:
班级:
学号:
设计者:
成绩:
设计时间:
2013年05月12日
[综合性程序设计报告题目]
手机名片管理系统
[题目描述]
通过计算机对数据文件的存储和读取,实现名片的输入,输出,查找,修改,删除,分类存储等功能。
最大可以管理300张名片。
要求:
命令行界面
有输入功能
有删除条目功能
有输出功能
有显示列表功能
有根据某一特点的查找功能
有分类存储功能
[功能模块分解及说明]
首先设计出主函数,然后根据去要实现的功能分别设计,添加、显示、删除、查找、修改、添加功能的子函数。
在显示的函数设计过程中通过把文件的内容读取到内存然后打印出来。
删除函数的设计是首先从文件内找到要删除的人,然后通过写一个实现删除目的的FOR循环将该人从内存里删除,然后再用写的方式打开文件,将内存内的信息写入文件,实现删除。
查找也是先打开文件,用一个字符串对比的方法找出用户要查找的人,然后打印出来。
修改也大体和删除相同,添加函数在设计时通过申请一片空间,然后通过指针将需要添加的信息添加进去,从而实现添加功能
[数据库设计及说明]
使用了数据结构体:
typedefstruct
{
charscore;/*编号*/
charname[10];/*姓名*/
charnum[15];/*号码*/
charemail[20];/*邮箱*/
charage[8];/*年龄*/
charadds[20];/*住址*/
}Person;Personpe[80];
对用户的信息进行保存,他们都以二进制的形式读写。
其中:
Charscore;
charname[10];
charnum[15];
charemail[20];
charage[8];
charadds[20]
分别对编号、姓名、电话号码、邮编、年龄、住址进行储存
在子函数中还使用了结构体数组:
structPersonpe[300];
使用了exit()、fclose()等库函数。
运用了头文件:
#include"string.h"
#include
#include
部分子函数的详细代码:
intDelete_a_record(Personper[],intn)
{
chars[20];
inti=0,j;
printf("\t请输入想删除记录中的名字:
");
scanf("%s",s);
while(strcmp(per[i].name,s)!
=0&&iif(i==n)
{
printf("\t通讯录中没有此人!
\n");
return(n);
}
for(j=i;j{
strcpy(per[j].num,per[j+1].num);
strcpy(per[j].name,per[j+1].name);
strcpy(per[j].age,per[j+1].age);
strcpy(per[j].adds,per[j+1].adds);
strcpy(per[j].email,per[j+1].email);
per[j].score=per[j+1].score;
}
printf("\t\t\t已经成功删除!
\n");
return(n-1);
}
[界面说明]
1、当软件中总有输入人员信息时:
(1).添加人员信息:
根据提示输入1按回车
输入添加的信息
编号:
姓名:
年龄:
电话号码:
通讯地址:
电子邮箱:
每次输入完毕后按回车
根据是否继续添加,输入Y/N,继续或结束添加
可以再根据提示使用查找功能。
该操作可以看见刚才添加的人员信息。
(2).查看全部信息时:
根据提示输入2按回车
(3).删除人员信息:
根据提示输入3按回车
显示人员信息
输入需要删除人员姓名:
按回车
显示需要删除人员信息并删除。
(4).查找人员信息:
根据提示输入4按回车
根据提示选择查找方式:
如(输入1按回车,按姓名查找)
输入要查找的人员名字,按回车
显示查找到的人员信息。
(5).修改人员信息:
根据提示输入5按回车
输入需要修改的人员姓名,按回车
显示修改前的信息。
根据提示输入修改的信息。
2、当软件中总没有输入人员信息时:
(1).查看全部信息时:
根据提示输入2按回车
显示:
无法从已有通讯录输入!
\n可能是因为原通讯录不存在或为空!
\n建检查你的通讯录文挡!
(2).删除人员信息:
根据提示输入3按回车
输入需要删除人员姓名,按回车
没有信息。
(3).查找人员信息:
根据提示输入4按回车
输入要查找的人员名字,按回车
显示:
对不起,通讯簿中没有此人的记录。
(4).修改人员信息:
根据提示输入5按回车
输入需要修改的人员姓名:
例如(黑楠)按回车
没有显示
(5).添加人员信息:
根据提示输入1按回车
输入添加的信息
姓名:
地址:
邮编:
电话号码:
输入完毕后按回车
可以再根据提示使用查找功能。
该操作可以看见刚才添加的人员信息。
[主要算法说明]
总的程序流程图(见下页)
[代码清单及注释]
[设计测试说明]
1、运行进入程序主菜单
2.添加模块
3.显示模块
4.删除模块
5.查找模块
6.修改模块
7.保存模块
8.退出
[设计体会]
通过自己动手,发现和解决问题,我发现了自己的许多缺陷与不足。
平时没有掌握好的知识在这次实验中彻底暴露出来。
在经过不断思考和总结,以及不断查阅资料和上机运行,尝试再尝试的过程中,我终于解决其中大部分问题,但是还是存在一些问题无法解决。
但我相信,在今后的自我学习过程中能够解决好它们。
通过这次C课程设计,我收获了很多。
我不仅对C的操作有了进一步的熟悉与掌握,还了解到了程序设计的设计思想、结构构想、书写风格及其注释的格式。
在C课程设计过程中,遇到的许许多多的困难都让人抓狂。
在软件一次次的调试失败下想放弃的念头也不断出现,但最后我还是让自己坚持了下来。
在同学的帮助与老师之前的讲解下,我总算是不太顺利的完成了课程设计。
当软件调试成功时那种喜悦的感觉,真好,它是没有什么东西可以代替,这也有也是程序设计员都会为之兴奋之事吧。
在程序的编写过程中,发现的很多的知识的漏洞和缺陷,都将是我以后学的借鉴之处,通过不足,才知道如果改进、完善,才会更迫切的努力学习来弥补不足。
这次的最深刻的体会就是,书上和老师教的内容是很有限的,如果真的想学会C语言和其他科目,我们需要的不但是老师的教导,更应该不断地靠自己去学习,去向他人请教,积极地去了解和掌握更多的知识,而不能被动学习,这样我们才能编出更好的C程序,这样我们才能学好更多。