案例综合分析Lesson20《程序设计基础》2主要内容案例分析1数据存储方式比较2程序设计思想总结3《程序设计基础》3信息处理学号排序成绩排序成绩统计信息管理添加学员信息删除学员信息修改学员信息信息显示全部输出系统登录功能导航成绩单自动生成信息数据自动备份信息数据手工恢复综合案例——学员信息管理系统设计并实现一个学员信息管理系统《程序设计基础》4功能“界面”设计登录界面:验证用户名和密码功能导航界面:提示用户选择子功能子功能界面:完成相应的子功能《程序设计基础》52返回1算法设计系统退出功能导航子功能1子功能2子功能n1n0…登录验证返回0系统开始《程序设计基础》6程序实现#includestdio.h#includemyfunc.hvoidmain(){…}intLogin(){…}intNavigate(){…}…#defineN50structstudent{charname[20];…}myClass[N];intcount=0;…intLogin();intNavigate();…myfunc.cmain.cmyfunc.h《程序设计基础》7main函数的实现#includestdio.h#includemyfunc.hvoidmain(){if(Login()){while(1){switch(Navigate()){case0:ExitSystem();break;case1:AddStudent();break;default:break;}}}}程序=算法+数据结构《程序设计基础》9主要内容案例分析1数据存储方式比较2程序设计思想总结3《程序设计基础》10讨论1在该案例中,存在哪些数据存储方式?基本数据类型、数组、结构、指针、链表、文件等学员信息的数据存储《程序设计基础》11讨论2这些存储方式的特点?基本数据类型:不可少,不同数据类型占用内存空间比较。数组:连续空间,必须相同类型。结构:不同数据类型的组合。《程序设计基础》12讨论2指针:本质上就是地址,动态维护,访问快速,保持数据一致性。链表:将指针指向的不同内存结构串起来,易于管理。文件:将数据存储下来,可以将内存中的数据按照特定格式永久存储下来。《程序设计基础》13主要内容案例分析1数据存储方式比较2程序设计思想总结3《程序设计基础》14程序设计思想抽象:萃取出主要特征,摒弃次要不相关的特征。封装:函数是算法的良好封装,封装是实现软件模块化、提高软件可维护性的重要技术。复用:站在巨人的肩膀上。未来……《程序设计基础》15提交内容可执行文件*.exe源代码*.h*.c课程报告数据结构:学生信息的存储结构;算法:每个函数的功能;课程总结(见后页)《程序设计基础》16作业与思考题撰写课程学习体会报告,包含以下内容,1000字左右。学习程序设计占所有学习时间的百分比?对哪些内容能很快看懂和理解?对哪些内容还不理解?对课堂教学有什么想法?你的学习收获有哪些?你学习本课程有目标吗?是什么?学完了有没有学到想学的知识?