学生通讯录管理系统设计(数据结构)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计报告

(本科)

课程:

高级语言程序设计

学号:

1310411023

姓名:

吴志友

班级:

2013级计算机科学与技术

教师:

冯凤

时间:

2014年1月

计算机科学与技术系

结果与分析:

1、学生通讯录管理系统的界面:

2、学生通讯录管理系统的添加记录:

3、学生通讯录管理系统显示记录:

4、学生通讯录管理系统删除记录:

5、学生通讯录管理系统查询记录:

6、学生通讯录管理系统修改记录:

7、学生通讯录管理系统保存记录:

8、学生通讯录管理系统退出程序:

9学生通讯录管理系统以文件的形式保存:

分析:

此学生通讯录管理系统界面友好,清楚可见,易于操作.可以根据学生通讯录管理系统的字幕提示进行实验操作,可以进行通讯录的添加、通讯录的显示、通讯录的删除、通讯录的查询和通讯录的保存。

设计体会与建议:

吴志友:往事如观流水,来者如昂高山!转眼间学习C语言也有半年了。这次的程序实设计实验是对自己进入大学以来学习C语言结果的一次大检验。自己动手,自己发现和解决问题。发现了自己的许多不足。平时没有掌握好的知识在这次实验中彻底暴露出来,经过不断思考,不断查阅资料和上机运行,解决其中大部分问题,当然还存在一些问题没有解决。相信在以后的学习能够解决好它们。但是,收获还是不小的,我不仅对C的操作有了进一步的掌握,还了解到了程序设计的书写风格及其注释的格式。

当我选择通讯录这个题目时,一开始觉得有很大的难度,感觉自己可能无法完成,但是在慢慢琢磨之后,觉得这个或许自己可以完成,于是改变了思路。当然还有不少文件的读写问题,不过还是通过不断测试之后顺利解决了。另外一点要说的就是这个程序用了很多的循环,因此对于循环的控制要十分小心,有时while和do-while的区别也是十分重要的。虽然这个程序不是我自己亲自编写的,但是在此次课程设计中,我知道了许多平时不注意的事项,全面对C语言进行了整合和复习,受益颇深。

还有一点体会就是,书上和老师教的内容是有限的,我们需要不断地靠自己去学习,向他人请教,了解和掌握更多的知识,这样我们才能编出更好的C程序。总体来说,这次C语言课程设计还是比较顺利的,虽然最终程序还存在一些不足,但能在有限的时间里完完整整的完成任务我还是比较高兴的。

附录:

#include

#include

#include

typedef struct

{

char score; /*编号*/

char name[10]; /*姓名*/

char num[15]; /*号码*/

char email[20]; /*邮箱*/

char age[8]; /*年龄*/

char adds[20]; /*住址*/ }Person;

Person pe[80];

int menu_select()

{

char c;

do{

system("cls");

printf("\t\t *****通讯录***** \n");

printf("\t\t┌───────┐\n");

printf("\t\t│1. 添加记录│\n");

printf("\t\t│2. 显示记录│\n");

printf("\t\t│3. 删除记录│\n");

printf("\t\t│4. 查询记录│\n");

printf("\t\t│5. 修改记录│\n");

printf("\t\t│6. 保存记录│\n");

printf("\t\t│0. 退出程序│\n");

printf("\t\t└───────┘\n");

printf("\t\t请您选择(0-6):");

c=getchar();

}while(c<'0'||c>'6');

return(c-'0');

}

int Input(Person per[],int n)

{

int i=0;

char sign,x[10];

while(sign!='n'&&sign!='N')

{

printf("\t编号:");

scanf("\t%d",&per[n+i].score);

printf("\t姓名:");

scanf("\t%s",per[n+i].name);

printf("\t年龄:");

scanf("\t%s",per[n+i].age);

printf("\t电话号码:");

scanf("\t%s",per[n+i].num);

printf("\t通讯住址:");

scanf("\t%s",per[n+i].adds);

printf("\t电子邮箱:");

scanf("\t%s",per[n+i].email);

gets(x);

printf("\n\t是否继续添加?(Y/N)");

scanf("\t%c",&sign);

i++;

}

return(n+i);

}

void Display(Person per[],int n)

{

int i;

printf("----------------------------------------------------------------------\n"); /*格式*/

printf("编号姓名年龄电话号码通讯地址电子邮箱\n");

printf("----------------------------------------------------------------------\n");

for(i=1;i

{

printf("%-5d%-8s%-6s%-13s%-15s%-15s\n",per[i-1].score,per[i-1].name,per[i-1].age,per[i-1 ].num,per[i-1].adds,per[i-1].email);

if(i>1&&i%10==0)

{

printf("\t-----------------------------------\n");

printf("\t");

system("pause");

printf("\t-----------------------------------\n");

}

}

printf("----------------------------------------------------------------------\n");

system("pause");

}

相关文档
最新文档