附表2
C++(或C)语言课程设计总结报告
学生学号 专 业 所属学期 一、项目介绍与设计目的 项目介绍:这是一个“学生通讯录管理系统”的程序。它具有如下功能(1)产生一个菜单选项,根据用户的需要进行选择,进行相关的操作;(2)对通讯录的内 容进行创建(输入学生的学号,姓名以及电话号码),(3)显示通讯录的全部记录,(4)按学号查询学生的相关信息,(5)按学号删除通讯录的记录, (6)对通讯录的内容进行修改 设计目的:(1)巩固c语言的基础知识,进一步了解c语言的内容 (2)加深对数组、指针等重点难点的理解 (3)掌握C 语言编程和程序调试的基本技能 (4)利用C 语言进行基本的软件设计 (5)激发学习兴趣,养成良好的编程习惯 二、项目环境要求 在vc环境下都可运行 三、项目功能模块 本程序中主要定义了七个函数: (1) 主函数void main()/*能够调用其他的功能的函数,在switch语句中根据用户的 选择,调用其他功能的函数。*/ (2)void myprint()/* 显示菜单选项,供用户选择*/ (3)void mycreate(char num[N][12],char name[N][12],char tel[N][15],int *n) /* 创建通讯录的函数;输入学生的学号、姓名,电话号码,当输完最后一个学生的电话时,按其他任意键结束输入(除了数字以外),并统计通讯录中实际记录数。*/ 姓名 班 级 (4)void mydisplay(char num[N][12],char name[N][12],char tel[N][15],int n) /* 显示通讯录的内容的函数 */ (5)void mysearch(char num[N][12],char name[N][12],char tel[N][15],int n) /* 按学号查询通讯录的函数,根据用户输入的学号,查找是否有该学生,如果 有的话,就输出学号,姓名,电话号码;如果没有的话就输出“无此人”。*/ (6)void mydelete(char num[N][12],char name[N][12],char tel[N][15],int *n) / * 删除通讯录的记录的函数;根据用户输入的学号,查找要删除的人,找到的话就删掉此人,总记录数减少一个 */ (7)void mymodify(char num[N][12],char name[N][12],char tel[N][15],int n) /* 修改通讯录内容的函数 ;根据用户输入的学号查找是否有此人,如果有的话 就从新输入学生的信息,没有的话就输出“无此人”。 */ 四、小组成员名单及分工情况(要求包括小组成员名单、工作分配及小组各成员贡献度)) 本程序是由我一个人编写完成。 五、程序用户名及密码 本程序无
六、体会与感想 通过这次编程实践,巩固了c语言的知识,对c语言的内容有了进一步的了解, 增强了动手能力,感受到了c语言的奥妙,找到了学习编程的乐趣。同时在编程过 程中,也发现了自身学习态度的问题。由于上学期上课没认真听讲,课后又没及时花 时间去复习,造成了许多知识的缺漏,很多知识不能很好的运用,编写过程面临困 难。事实告诫了我:今后上课一定要认真听讲,及时复习,多动手去编程,增强实 践能力。 七、指导教师意见 指导教师(签名): 年 月 日 注:该表格由学生填写,内容采用小四号宋体。
源代码:
/* 学生通讯录管理系统,能够实现对通讯录的内容进行创建、显示、查询、删除以及 修改等功能 */
# include
# include
void mycreate(char num[N][12],char name[N][12],char tel[N][15],int *n); void mydisplay(char num[N][12],char name[N][12],char tel[N][15],int n); void mysearch(char num[N][12],char name[N][12],char tel[N][15],int n); void mydelete(char num[N][12],char name[N][12],char tel[N][15],int *n); void mymodify(char num[N][12],char name[N][12],char tel[N][15],int n);
/* 主函数 */ void main() {
char choose,yes_no,num[N][12],name[N][12],tel[N][15]; int n=0; do{
myprint();
choose=getch(); switch(choose) {
case '1':mycreate(num,name,tel,&n); break; case '2':if(n==0) { printf(\ 无记录,请创建通讯录!\\n\ break; } mydisplay(num,name,tel,n); break; case '3':if(n==0) { printf(\ 无记录,请创建通讯录!\\n\ break; }
mysearch(num,name,tel,n); break;
case '4':if(n==0) { printf(\ 无记录,请创建通讯录!\\n\ break; } mydelete(num,name,tel,&n);
break; case '5':if(n==0) { printf(\ 无记录,请创建通讯录!\\n\ break; } mymodify(num,name,tel,n); break; case '0': break;
default: printf(\ %c为非法选项!\\n\ }
if(choose=='0') break;
printf(\ 要继续选择吗(Y/N)?\\n\ do { yes_no=getch(); }
while(yes_no!='Y' && yes_no!='y' && yes_no!='N' && yes_no!='n'); }
while(yes_no=='Y'&& yes_no=='y'); }
/* 定义显示菜单界面的函数 */ void myprint() {
printf(\请输入选项编号(0-5): \\n\ printf(\创建通讯录 \\n\ printf(\显示通讯录 \\n\ printf(\查询通讯录 \\n\
printf(\删除通讯录中的记录 \\n\ printf(\修改通讯录 \\n\ printf(\退出 \\n\}
/* 定义创建通讯录的函数 */
void mycreate(char num[N][12],char name[N][12],char tel[N][15],int *n) {