面向对象程序设计试验报告

上传人:人*** 文档编号:473278898 上传时间:2022-08-22 格式:DOC 页数:15 大小:129.50KB
返回 下载 相关 举报
面向对象程序设计试验报告_第1页
第1页 / 共15页
面向对象程序设计试验报告_第2页
第2页 / 共15页
面向对象程序设计试验报告_第3页
第3页 / 共15页
面向对象程序设计试验报告_第4页
第4页 / 共15页
面向对象程序设计试验报告_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《面向对象程序设计试验报告》由会员分享,可在线阅读,更多相关《面向对象程序设计试验报告(15页珍藏版)》请在金锄头文库上搜索。

1、真诚为您提供优质参考资料,若有不当之处,请指正。面向对象程序设计通讯录(c语言版)学院: 信息学院班级: A0611学号: 05姓名: 赵光斌指导老师:吴维勇 2008.11.18 面向对象程序设计报告通讯录简析根据老师的要求和我自己的构想,这个学期的试验课我准备做一个通讯录系统,就是可以实现一个人的信息的输入,查询,浏览,插入,删除等功能,并尽量使界面友好。下面,我来介绍下我的整个设计过程和编码中遇到的问题和解决方法。首先是实现什么样的功能,这个我已经在上面介绍过了,那么,现在要实现这样的一个功能,究竟要怎么样的程序才能做到呢?我们先来画个系统功能图来看下:通讯录系统注册登陆输入删除查询浏览

2、通过这个功能图,我们可以清楚的看到这个系统到底是要实现什么样的作用,我们要根据这个图来当做模板,做出自己的系统。好了,功能都清楚了,现在就是去实现了。但是在实现之前,我们还要知道如何去实现这个系统。因为一个系统,要实现有一定的顺序,模块和模块之间的关系都是不同的,要通过不同的手段来实现。下面我们还是通过系统流程图来观察下:开始是否注册注册登陆进入主界面输入查询删除浏览退出通过上图,我们应该知道这个系统的大概流程是什么了。下面我要选择用C语言实现它。首先,我们要确定一点,我们这个系统的操作对象或者说是研究对象是什么 。这个程序应该有2个操作对象,一个是用户的注册信息,即账号和密码信息,一个是通讯

3、录里成员的信息。这2个信息是我们在系统里一直使用和修改的。这2个信息也有不同,用户的注册信息是不能修改的,只能在注册和登陆是使用一次,其他情况下不能调用;而通讯录里用户的信息是可以进行操作的。这点需要注意。struct txl /定义一个成员结构体,里面定义了通讯录里成员的信息。 char name15; /定义用户姓名 char sex5; /定义用户性别 int age; /定义年龄 char tel13; /定义电话 char major20;/定义专业 char school30;/定义学校 char others90;/定义其他信息; struct zh /定义一个账号结构体,里面定

4、义账号密码信息。 char id15;/定义账号 char mima10;/定义密码;这就是这2个信息的定义,我们要操作的对象。现在要定义2个函数,来实现对我们操作对象的各种调用和修改方式。int print2() int m;printf(t-n);printf(t欢迎来到赵光斌的同学录,请同学们先登陆,若没有注册的,请先注册!n); printf(t 注册请选择6,登陆请选择7,退出请选择8n); printf(t-n);scanf(%d,&m);return m; 这是对账号密码信息调用的界面,通过这个界面,我们可以通过数字键来实现对账号密码信息的调用和修改。当然,这只是个空框架,具体实

5、现还要靠主函数来实现。int print1() int n; printf( -n); printf(tttt同学录n); printf(t欢迎来到赵光斌的同学录,如果有什么不足,请大家提出意见,谢谢!n); printf(n); printf(ttt1.浏览同学录n); printf(ttt2.输入同学信息n); printf(ttt3.删除同学信息n); printf(ttt4.查询同学信息n); printf(ttt5.退出同学录n); printf( -n); scanf(%d,&n); return n;这个是对成员信息的调用和修改的界面,也是我们这个通讯录的主界面,同上,这个也只是

6、空的框架,要具体实现还是要靠主函数的功能实现。下面就是整个主函数的一些主要实现功能的步骤,我们来仔细分析它是如何实现我们所要的效果的。main() int i,flag=2;/注意!要实现登陆界面在主界面之前出现,我设置了一个标志变量,当flag为2时实现printf2(),当flag为1时实现printf1(),当flag为0时,实现跳出整个程序。 char str15; char szh15; char smm8; struct zh studentN; struct txl stuN; for(i=0;iN;i+) strcpy(stui.name,); strcpy(stui.sex,

7、); stui.age=0; strcpy(stui.tel,); strcpy(stui.major,); strcpy(stui.school,); strcpy(stui.add,); strcpy(stui.others,); strcpy(studenti.id,); strcpy(studenti.mima,); studenti.conter=0;通过循环,来实现对成员的每个信息赋空值,来实现对成员的初始化。 for(;flag=2;) switch(print2() case 6: for(i=0;studenti.conter!=0;i+) ; printf(请输入你的注册帐

8、号:n); scanf(%s,studenti.id); printf(请输入你的帐号密码:n); scanf(%s,studenti.mima); break; case 7: printf(请输入你的帐号:n); scanf(%s,szh); for(i=0;iN;i+) if(strcmp(studenti.id,szh)=0) printf(请输入你的密码:n); scanf(%ld,smm); for(i=0;iN;i+) if(strcmp(studenti.mima,smm)=0) flag=1; else if(flag=1) break; else if(flag=2) pr

9、intf(密码错误,请检查后输入!); break; else printf(账号错误,请检查后再输入!); break; case 8: flag=0; break; 以上程序段就是实现账号和密码的注册与登陆行为。注册时,把输入的账号和密码存储在相应的数组空间里,等到登陆的时候把用户输入的账号和密码与存储在数组里的数据相比较,如果相同,把flag置为1,跳转出来,进入主界面;如果不相同,跳出提示,继续进入注册和登陆界面。这样就保证了用户信息的安全性。 for(;flag=1;) switch(print1() case 1: for(i=0;stui.age!=0;i+) printf(姓名

10、: %sn性别:%sn年龄:%dn电话:%sn学校:%sn专业:%sn,stui.name,stui.sex,stui.age,stui.tel,stui.major,stui.school,stui.add); printf(其他信息:%sn,stui.others); if(i=0) printf(目前同学录为空,请先输入信息n); break; case 2: for(i=0;stui.age!=0;i+) ; printf(你现在将要进行的是输入同学信息n); printf(输入同学的名字: ); scanf(%s,stui.name); printf(输入同学的性别: ); scan

11、f(%s,stui.sex); printf(输入同学的年龄: ); scanf(%d,&stui.age); printf(输入同学的电话: ); scanf(%s,stui.tel); printf(输入同学的学校: ); scanf(%s,stui.school); printf(输入同学的专业: ); scanf(%s,stui.major); printf(输入同学的其他信息: ); scanf(%s,stui.others); break; case 3: printf(现在你将进行删除操作!请输入要删除的同学的名字,按Enter结束.n); scanf(%s,str);如果查找的姓名和存储在数组的数据有一致的话,就把这个结构体里的数据全部删除,然后回到主界面 for(i=0;iN;i+) if(strcmp(stui.name,str)=0) strcpy(stui.name, ); strcpy(stui.sex,); stui.age=0; strcpy(stui.tel,); strcpy(stui.major,); strcpy(stui.school,); strcpy(stui.add,); strcpy(stui.others,); printf(删除操作已完成!n); printf(无该同学数据,请检查后输入!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号