《最新c语言课程设计总结报告(1).doc》由会员分享,可在线阅读,更多相关《最新c语言课程设计总结报告(1).doc(44页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-datec语言课程设计总结报告(1)毕业论文任务书附表2C+(或C)语言课程设计总结报告学生学号姓名专 业班 级所属学期一、项目介绍与设计目的项目介绍:这是一个“学生通讯录管理系统”的程序。它具有如下功能(1)产生一个菜单选项,根据用户的需要进行选择,进行相关的操作;(2)对通讯录的内 容进行创建(输入学生的学号,姓名以及电话号码),(3)显示通讯录的全部记录,(4)按学号查
2、询学生的相关信息,(5)按学号删除通讯录的记录, (6)对通讯录的内容进行修改设计目的:(1)巩固c语言的基础知识,进一步了解c语言的内容 (2)加深对数组、指针等重点难点的理解 (3)掌握C 语言编程和程序调试的基本技能 (4)利用C 语言进行基本的软件设计 (5)激发学习兴趣,养成良好的编程习惯二、项目环境要求在vc环境下都可运行三、项目功能模块本程序中主要定义了七个函数:(1) 主函数void main()/*能够调用其他的功能的函数,在switch语句中根据用户的选择,调用其他功能的函数。*/ (2)void myprint()/* 显示菜单选项,供用户选择*/(3)void mycr
3、eate(char numN12,char nameN12,char telN15,int *n)/* 创建通讯录的函数;输入学生的学号、姓名,电话号码,当输完最后一个学生的电话时,按其他任意键结束输入(除了数字以外),并统计通讯录中实际记录数。*/(4)void mydisplay(char numN12,char nameN12,char telN15,int n) /* 显示通讯录的内容的函数 */(5)void mysearch(char numN12,char nameN12,char telN15,int n) /* 按学号查询通讯录的函数,根据用户输入的学号,查找是否有该学生,如
4、果 有的话,就输出学号,姓名,电话号码;如果没有的话就输出“无此人”。*/(6)void mydelete(char numN12,char nameN12,char telN15,int *n) / * 删除通讯录的记录的函数;根据用户输入的学号,查找要删除的人,找到的话就删掉此人,总记录数减少一个 */(7)void mymodify(char numN12,char nameN12,char telN15,int n) /* 修改通讯录内容的函数 ;根据用户输入的学号查找是否有此人,如果有的话 就从新输入学生的信息,没有的话就输出“无此人”。 */ 四、小组成员名单及分工情况(要求包括小
5、组成员名单、工作分配及小组各成员贡献度) 本程序是由我一个人编写完成。五、程序用户名及密码本程序无六、体会与感想通过这次编程实践,巩固了c语言的知识,对c语言的内容有了进一步的了解,增强了动手能力,感受到了c语言的奥妙,找到了学习编程的乐趣。同时在编程过程中,也发现了自身学习态度的问题。由于上学期上课没认真听讲,课后又没及时花时间去复习,造成了许多知识的缺漏,很多知识不能很好的运用,编写过程面临困难。事实告诫了我:今后上课一定要认真听讲,及时复习,多动手去编程,增强实践能力。七、指导教师意见 指导教师(签名): 年 月 日注:该表格由学生填写,内容采用小四号宋体。源代码:/* 学生通讯录管理系
6、统,能够实现对通讯录的内容进行创建、显示、查询、删除以及 修改等功能 */# include# include# include# include# define N 100void myprint();void mycreate(char numN12,char nameN12,char telN15,int *n);void mydisplay(char numN12,char nameN12,char telN15,int n);void mysearch(char numN12,char nameN12,char telN15,int n);void mydelete(char num
7、N12,char nameN12,char telN15,int *n);void mymodify(char numN12,char nameN12,char telN15,int n);/* 主函数 */void main() char choose,yes_no,numN12,nameN12,telN15; int n=0; do myprint(); choose=getch(); switch(choose) case 1:mycreate(num,name,tel,&n); break; case 2:if(n=0) printf(n 无记录,请创建通讯录!n); break; m
8、ydisplay(num,name,tel,n); break; case 3:if(n=0) printf(n 无记录,请创建通讯录!n); break; mysearch(num,name,tel,n); break; case 4:if(n=0) printf(n 无记录,请创建通讯录!n); break; mydelete(num,name,tel,&n); break; case 5:if(n=0) printf(n 无记录,请创建通讯录!n); break; mymodify(num,name,tel,n); break; case 0: break; default: print
9、f(n %c为非法选项!n,choose); if(choose=0) break; printf(n 要继续选择吗(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( 1 创建通讯录 n); printf( 2 显示通讯录 n); printf( 3 查询通讯录 n); printf( 4 删除通讯录
10、中的记录 n); printf( 5 修改通讯录 n); printf( 0 退出 n);/* 定义创建通讯录的函数 */void mycreate(char numN12,char nameN12,char telN15,int *n) int i=0; char tempnum12,tempname12,temptel15; printf(n 请输入第1个记录: n); printf( 学号(用#结束输入):); do gets(tempnum); while(strcmp(tempnum, )=0); printf( 姓名(用#结束输入):); gets(tempname); print
11、f( 电话号码(用#结束输入):); gets(temptel); while(tempnum0!=# & tempname0!=# & temptel0!=#) strcpy(numi,tempnum); strcpy(namei,tempname); strcpy(teli,temptel); i+; printf(n 请输入第%d个记录:n,i+1); printf( 学号(用#结束输入):); dogets(tempnum); while(strcmp(tempnum, )=0); printf( 姓名(用#结束输入):); gets(tempname); printf( 电话号码(用
12、#结束输入):); gets(temptel); if(!isdigit(temptelstrlen(temptel)-1) break; (*n)=i;/* 定义显示通讯录的函数 */void mydisplay(char numN12,char nameN12,char telN15,int n) int i; printf( 学号 姓名 电话号码 n); for (i=0;in;i+) printf(%12s%12s%15sn,numi,namei,teli);/* 定义按学号查询通讯录的函数 */void mysearch(char numN12,char nameN12,char t
13、elN15,int n) int i; char tempnum12; printf(n 请输入要查询记录的学号:); gets(tempnum); for(i=0; in; i+) if (strcmp(tempnum,numi)=0) printf( 学号 姓名 电话号码n); printf(%12s%12s%15sn,numi,namei,teli); else printf( 无此人!n);/* 定义按学号删除通讯录中记录的函数 */void mydelete(char numN12,char nameN12,char telN15,int *n) int i,k; char temp
14、num12; printf(n 请输入要删除记录的学号:); gets(tempnum); for(k=0;k(*n);k+) if(strcmp(tempnum, numk)=0) break; if(k(*n) for(i=k; i(*n)-1;i+) strcpy(numi,numi+1); strcpy(namei,namei+1); strcpy(teli,teli+1); (*n)-; else printf( 无此人!n);/* 定义修改通讯录的内容的函数 */void mymodify(char numN12,char nameN12,char telN15,int n) in
15、t i,find; char c,tempnum12, tempname12, temptel15; printf(n 请输入要修改记录的学号:); gets(tempnum); for(i=0;in;i+) if(strcmp(tempnum,numi)=0) find=i; break; if(i=n) printf(无此人!n); else doprintf(n 请输入正确的学号:);do gets(tempnum);while(strcmp(tempnum, )=0);printf( 请输入正确的学号:);gets(tempname);printf( 请输入正确的电话号码:);gets(temptel);for(i=0;in;i+)if(strcmp(tempnum,numi)=0) & (i!=find) printf( 学号重复,要重新输入码(Y/N)?); do c=getche(); while(c!=Y & c!=y & c!=N & c!=n); break;if(i=n) strcpy(numfind,tempnum); strcpy(namefind,tempname); strcpy(telfind,temptel); break;while(c=y & c=Y); -