程序设计通讯录管理系统
文件夹
范文为教学中作为模范的文章,也常常用来指写作的模板。常常用于文秘写作的参考,也可以作为演讲材料编写前的参考。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?以下是我为大家搜集的优质范文,仅供参考,一起来看看吧
通讯录管理系统 2.基本功能
(1)显示:将所有联系人的信息显示出来(2)查找:按姓名、手机号码、qq号码进行查找
(3)添加:从键盘上录入联系人的有关信息,包括姓名、手机号码、qq号码、家庭地址
(4)修改:根据用户需要,修改联系人的指定信息
(5)删除:删除不需要的信息
源代码
#include
char add[30];//家庭地址 };void clearscreen()//清屏函数 { system(“cls”);} void printf1()//主界面 {
printf(“nnnnttt 欢迎来到通讯录!”);printf(“nntt 请选择操作:”);printf(“nnttt1.显示通讯录”);printf(“nttt2.查找通讯录”);printf(“nttt3.添加通讯录”);printf(“nttt4.修改通讯录”);printf(“nttt5.删除通讯录”);printf(“nttt6.退出n”);} void printf2()//修改页面 { printf(“请选择操作:n”);printf(“t1.按姓名查找n”);printf(“t2.按手机号码查找n”);printf(“t3.按qq号码查找n”);printf(“t4.返回上一页n”);} void show()//显示函数 { struct per * p,person;file *fp;int i=0;p=&personclearscreen();printf(“姓名tt 电话t qqt 家庭地址nn”);if((fp=fopen(“”,“r”))==null){ printf(“cannot open filen”);exit(0);} while(!feof(fp)&&fread(p,len,1,fp)){
printf(“%-17s%-13s%-11s%-30sn”,p->name,p->number,p->qq,p->add);
i++;} if(i==0)
printf(“没有联系人n”);else
printf(“ntttttt共有%d位联系人n”,i);fclose(fp);printf(“n按回车键返回上一页”);getchar();getchar();} void seek()//查找 { char name[17],tel[13],qq[11];int n,i;file *fp;struct per * p,person;p=&personfp=fopen(“”,“r”);while(1){ rewind(fp);clearscreen();printf2();printf(“请选择您的操作:n”);scanf(“%d”,&n);if(n==1){
i=0;
clearscreen();
printf(“请输入要查找的联系人的姓名:n”);
scanf(“%s”,name);while(!feof(fp)){ fread(p,len,1,fp);
if(strcmp(name,p->name)==0)
{
i++;
if(i==1)
{ printf(“姓名tt 电话t qqt 家庭地址nn”);}
printf(“%-17s%-13s%-11s%-30sn”,p->name,p->number,p->qq,p->add);
memset(p,0,len);
}
} if(i==0)printf(“没有该联系人的信息n”);
printf(“n按回车键返回上一页”);getchar();getchar();} else if(n==2){ i=0;clearscreen();printf(“请输入要查找的手机号码:n”);scanf(“%s”,tel);while(!feof(fp)){ fread(p,len,1,fp);if(strcmp(tel,p->number)==0){
i++;
if(i==1)
{ printf(“姓名tt 电话t qqt 家庭地址
nn”);}
printf(“%-17s%-13s%-11s%-30sn”,p->name,p->number,p->qq,p->add);
memset(p,0,len);
} } if(i==0)printf(“没有该联系人的信息n”);printf(“n按回车键返回上一页”);getchar();getchar();
} else if(n==3){ i=0;clearscreen();printf(“请输入要查找的qq号码:n”);scanf(“%s”,qq);while(!feof(fp)){ fread(p,len,1,fp);
if(strcmp(qq,p->qq)==0)
{
i++;
if(i==1)
{ printf(“姓名tt 电话t qqt 家庭地址nn”);}
printf(“%-17s%-13s%-11s%-30sn”,p->name,p->number,p->qq,p->add);
memset(p,0,len);
} } if(i==0)
printf(“没有该联系人的信息n”);
printf(“n按回车键返回上一页”);getchar();getchar();
} else if(n==4)
break;} fclose(fp);getchar();} void add()//添加函数 { int n;file *fp;struct per * p,person;p=&person
printf(“请选择您的操作 1 添加 2 返回上一页nn”);scanf(“%d”,&n);if(n!=1&&n!=2){
printf(“请选择您的操作 1 添加 2 返回上一页n”);scanf(“%d”,&n);} while(n==1){ memset(p,0,len);//机构体的初始化 clearscreen();fp=fopen(“”,“a”);printf(“请输入姓名n”);scanf(“%s”,p->name);printf(“请输入手机号码n”);scanf(“%s”,p->number);printf(“请输入qq(没有请输入无)n”);scanf(“%s”,p->qq);printf(“请输入地址n”);scanf(“%s”,p->add);
fwrite(p,len,1,fp);fclose(fp);printf(“保存成功!n”);printf(“您想 1继续添加 2退出n”);scanf(“%d”,&n);if(n!=1&&n!=2)
{
printf(“请选择您的操作 1 添加 2 退出nn”);scanf(“%d”,&n);
} } } void alter()//修改 { char name[17],tel[13],qq[11],add[30];int n,len,i=0;file *fp;struct per *p,person;p=&personfp=fopen(“”,“r+”);printf(“请输入要修改的联系人的姓名n”);scanf(“%s”,name);while(!feof(fp)&&fread(p,len,1,fp)){
if(strcmp(name,p->name)==0)
{
i++;
len=ftell(fp);printf(“n姓名tt 电话t qqt 家庭地址nn”);
printf(“%-17s%-13s%-11s%-30sn”,p->name,p->number,p->qq,p->add);
} } printf(“n”);if(i==0){
printf(“没有该联系人的信息n”);getchar();
printf(“按回车键返回主菜单n”);} else { printf(“1.修改该联系人的姓名n”);printf(“2.修改该联系人的手机号码n”);printf(“3.修改该联系人的qq号码n”);printf(“4.修改该联系人的家庭地址n”);printf(“5.修改该联系人的全部信息n”);
printf(“6.返回上一页nn”);printf(“请输入您的操作序号n”);scanf(“%d”,&n);
switch(n)
{
case 1:
clearscreen();fseek(fp,len-71,seek_set);printf(“请输入姓名n”);scanf(“%s”,name);
fwrite(&name,sizeof(name),1,fp);printf(“修改成功n”);
printf(“按回车键返回主菜单n”);getchar();
break;
case 2:
clearscreen();fseek(fp,len-54,seek_set);printf(“请输入手机号码n”);scanf(“%s”,tel);
fwrite(&tel,sizeof(tel),1,fp);printf(“修改成功n”);
printf(“按回车键返回主菜单n”);getchar();
break;
case 3:
clearscreen();fseek(fp,len-41,seek_set);printf(“请输入qq号码n”);scanf(“%s”,qq);
fwrite(&qq,sizeof(qq),1,fp);printf(“修改成功n”);
printf(“按回车键返回主菜单n”);getchar();
break;
case 4:
clearscreen();fseek(fp,len-30,seek_set);printf(“请输入家庭地址n”);scanf(“%s”,add);
fwrite(&add,sizeof(add),1,fp);printf(“修改成功n”);
printf(“按回车键返回主菜单n”);getchar();
break;
case 5:
clearscreen();fseek(fp,len-71,seek_set);
printf(“请输入姓名n”);scanf(“%s”,p->name);printf(“
请
输
入
手
机
号
码n”);scanf(“%s”,p->number);printf(“请输入n”);scanf(“%s”,p->qq);printf(“请输入地址n”);scanf(“%s”,p->add);fwrite(p,len,1,fp);printf(“修改成功n”);
printf(“按回车键返回主菜单n”);getchar();
break;
case 6:;
}
} fclose(fp);getchar();
}
qq(没有请输入无)void delete()//删除 { int i=0,j,l;char name[17];struct per * p,person;file *fp,*fp1;p=&personfp=fopen(“”,“a+”);printf(“请输入要删除的联系人的姓名n”);scanf(“%s”,name);while(!feof(fp)&&fread(p,len,1,fp))//显示要删除的联系人的信息
{
if(strcmp(name,p->name)==0)
{
i++;
if(i==1)
{printf(“姓名tt 电话t
qqt 家庭地址nn”);} printf(“%-17s%-13s%-11s%-30sn”,p->name,p->number,p->qq,p->add);
memset(p,0,len);
}
} rewind(fp);if(i==0)printf(“没有该联系人的信息n”);else {
printf(“n此联系人将被删除n”);
printf(“1.确定 2.取消n”);
scanf(“%d”,&j);
if(j==1)
{
fp1=fopen(“”,“a”);
while(!feof(fp)&&fread(p,len,1,fp))
{
if(strcmp(name,p->name)!=0)
{
fwrite(p,len,1,fp1);
}
}
fclose(fp);
fclose(fp1);
remove(“”);
rename(“”,“”);
printf(“n该联系人已删除 按回车键返回上一页n”);getchar();getchar();
}
if(j==2)
{
fclose(fp);printf(“n按回车键返回上一页n”);getchar();getchar();
}
} } int select()//主菜单输入 { int n;printf(“选择您想要的操作 请输入序号!n”);scanf(“%d”,&n);while(n<1||n>6){
printf(“输入错误,请重新输入!n”);
scanf(“%d”,&n);
}
return(n);} int main(){
while(1){
clearscreen();
printf1();
switch(select()){
case 1:clearscreen();show();break;
case 2:clearscreen();seek();break;
case 3:clearscreen();add();break;
case 4:clearscreen();alter();break;
case 5:clearscreen();delete();break;
case 6:exit(0);} }
return 0;}
课 程 设 计 任 务 书
题
目
c语言课程设计
系
(部)
专
业
班
级
学生姓名
学
号
06 月
信息科学与电气工程学院
计算机科学与技术
计职141
王雪
140819139 日至
07 月
04 日
共
周 指导教师
院
长
2015 年 6月 23日
一、课程设计目的
将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。通过课程设计,学生在下述各方面的能力应该得到锻炼:
(1)进一步巩固、加深学生所学专业课程《c++程序设计语言》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。
(2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。
(3)利用所学知识,开发小型应用系统,掌握运用c++语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。
(4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。
(5)掌握结构化程序设计方法,熟悉面向对象程序设计方法。(6)熟练掌握c++语言的基本语法,灵活运用各种数据类型。(7)进一步掌握在集成环境下如何调试程序和修改程序。设计功能
录入联系人信息(包括姓名、电话号码、地址等信息);通讯录管理系统要求实现以下功能:
1、输入每一位联系人记录,将其信息存入文件中。
2、查询所有联系人的信息,并按可选的自定义规则进行排序;
3、记录修改,将修改的记录信息保存于文件中。设计要求
1、设一个通信录由以下几项数据信息构成: 数据项 类型
姓名 字符串
地址 字符串
邮政编码 字符串
电话号码 字符串
试为通信录数据定义类型和定义通信录变量,实现功能:存取、显示、删除记录、查询记录等功能。
2、要求:界面友好,易于操作 总体设计 系统功能模块图:
添加:可以添加通讯录记录,依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱等后,会提示是否继续添加。
显示:可以以表格形式输出所有通讯录里的记录
删除:输入欲删除的那个人的名字后,会自动删除他(她)的记录内容 查询:可以选择用姓名、电话、地址三种方式查询
修改:输入欲修改的那个人的名字后,再依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱即可完成修改
保存:,输入文件名(带后缀名)后,即可将通讯录信息保存到文件
课程设计名称及内容
课程设计名称:单项选择题标准化考试系统
设计内容:设计并实现一个单项选择题标准化考试系统。该系统可以完成试题录入、试题抽取、自动判卷等功能。
任务和要求
功能要求:
(1)用文件保存试题库。(每个试题包括题干、4个备选答案、标准答案)(2)试题录入:可随时增加试题到试题库中
(3)试题抽取:每次从试题库中可以随机抽出n道题(n由键盘输入)(4)答题:用户可实现输入自己的答案
(5)自动判卷:系统可根据用户答案与标准答案的对比实现判卷并给出成绩。
(二)其它要求:
(1)只能使用c/c++语言,源程序要有适当的注释,使程序容易阅读(2)至少采用文本菜单界面(如果能采用图形菜单界面更好)(3)学生可自动增加新功能模块(视情况可另外加分)
主要知识点
l 面向对象程序设计方法
l 界面制作,switch的应用。l 类和对象。l 动态数组(链表)类模板。l 文件的读写。
五、其他
程序设计可在microsoft vc++6.0、borland c++ builder环境下进行。
六、参考资料
【1】《c语言程序设计》,谭浩强编,清华大学出版社,2008年 出版 【2】《c语言程序设计》,吴明发编,北京理工大学出版社,2007年出版 【3】《c语言参考手册》邱仲潘 机械工业出版社,2004年出版
【4】《c语言课程设计案例精编》 姜灵之 清华大学出版社 2008年出版
详细设计(1).通讯录: 主要代码
#include
};class inter { private: student st[35];char no[13];char name[20];char address[100];char tel_no[12];char post_code[7];char e_mail[40];public: void add(char no[13],char name[20],char address[100],char tel_no[12],char post_code[7],char e_mail[40]);
void del(char name[20]);void find1(char no[13]);void find2(char name[20]);void list1();void list2();int correct(char name[20]);void read();void write();void format();int back(){
cout<<“
返回还是回到主菜单(t为退出,r为回到主菜单,不计大小写):
”;
} void print(int i){
cout<<“学号:”<
程序设计通讯录管理系统(5篇)
文件夹