《2022年程序设计实习报告 .pdf》由会员分享,可在线阅读,更多相关《2022年程序设计实习报告 .pdf(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、程序设计实习报告学年:201320143 实习课题:学生信息管理系统姓名:高飞班级:计算机科学与技术1302 班学号:1309000406 日期:2014年 7 月 15 日组员:刘越石常弟名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 9 页 - - - - - - - - - 一实习目的1. 了解管理系统的开发流程。2. 熟悉对文件和链表的各种基本操作。3. 熟练掌握类、结构体等方面的知识。4了解基本命令的使用方法;掌握常用函数、表达式的使用方法,掌握程序控制结构的使
2、用和程序设计,掌握变量的作用范围和自定义函数的使用。5熟练掌握常用算法程序、常用统计程序、数据排序方法、简单数据加密和解密程序编写、调试和使用。6. 通过本程序的训练, 是学生对文件操作有更深刻的了解,掌握利用单链表存储结构实现对学生管理系统的原理, 为进一步开发高质量的信息管理系统打下坚实的基础。二实习内容 1. 函数 switch 的使用 Switch用在编程中,如 C语言中它经常跟 Case一起使用,是一个判断选择代码。其功能就是控制业务流程流转的。使用switch 函数,靠输入来判断执行的步骤。switch(i) case 1: /从键盘输入学生的信息,并保存到文件中 InputFro
3、mKeyboard (); break; case 2: /按学号查询学生信息 SeekByStudent_number (); break; case 3: /按姓名查询学生信息 SeekByStudent_name (); break; case 4: /修改记录 AlterRecord (); break; case 5: /删除记录 DeleteRecord (); break; case 6: /插入记录 InsertRecord (); break; case 7: /排序记录 RankRecord (); break; case 8: /最高分和不及格人数 Max_Fail ()
4、; break; case 9: /从文件输入并输出 InputOutputFromKeyboard (); break; 实例:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 9 页 - - - - - - - - - 2. 从文件中读取数据 fscanf 函数,功 能: 从一个流中执行格式化输入,存入缓存区。可用于从文件中读取数据。if(op =fopen(student.txt,r) = NULL) printf( 亲,文件打开错误! n); exit(0); wh
5、ile(!feof(op) q=(ST *)malloc(sizeof(ST); fscanf(op,%s,p-number); fscanf(op,%s,p-name); fscanf(op,%d,&p-Chinese); fscanf(op,%d,&p-Math); fscanf(op,%d,&p-English); p-next=q; p=q; p-next=NULL; fclose(op); 3.向文件中写入数据Fprintf 函数: 其作用是 格式化 输出到一个流 /文件中 .可用于向文件中写入数据。if(op = fopen(student.txt,w) = NULL) print
6、f( 文件打开失败,请重新打开系统!n); exit(0); else p = h; do /写入文件中 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 9 页 - - - - - - - - - fprintf(op,%10s%10s%10d%10d%10dn,p-number,p-name, p-Chinese, p-Math, p-English); p=p-next; while(p-next != NULL); fclose(op); 实例:4. 链表的删除操作
7、图形解析:为了删除节点p, 只用把 p 的前一个节点连上p 的后一个节点。编码实例:while(strcmp(ch,p-number) != 0 &p - next != NULL ) /定位 p 节点 q = p; p = p-next; if(strcmp(ch,p-number) = 0) if(p = h) /是否为头结点 h = p-next; else q-next = p-next; /p的前一个节点连接p 的后一个节点 free(p); /释放掉 P节点名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理
8、 - - - - - - - 第 4 页,共 9 页 - - - - - - - - - printf( 删除成功 ! ); 5. 文件中插入记录打开文件夹的方式:字符含义“r ”以只读的方式,打开文本文件。以”r”代开的文件,只能读出,不能写入数据。若文件不存在,则会出错。“w”以只写的方式,创建并打开文件夹,已存在的文件将被覆盖。以”w ”打开的文件夹,无论文件是否存在,都需要创建一个新的文本文件,只能写入数据。“a”以只写的方式,打开文本文件,位置移到文件的末尾,向文件中添加数据,源文件保留, 。如果文件不存在,则会出错。“+”与上面的字符串组合,表示以读写的方式打开文件夹。既可以向文本
9、文件中读取数据,也可以写入数据。“b”与上面的字符串组合,表示打开二进制的文件。因此我们可以用“ a”方式打开文件夹,向文件的末尾添加数据。编码实例:if(op = fopen(student.txt,a) = NULL) printf( 文件打开失败,请重新打开系统!n); exit(0); 6. 数据的排序操作冒泡法排序: 冒泡排序( Bubble Sort ),是一种 计算机科学 领域的较简单的排序算法 。它重复地走访过要排序的数列, 一次比较两个元素, 如果他们的顺序错误就把他们交换过来。 走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因
10、为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。冒泡法原理:冒泡排序算法的运作如下:(从后往前)1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。3.针对所有的元素重复以上的步骤,除了最后一个。4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。编码实例:for(j = 0; j i - 1; j+) /语文排序 for(k = j + 1; k i; k+) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - -
11、 - - - 名师精心整理 - - - - - - - 第 5 页,共 9 页 - - - - - - - - - if(bj0 bk0) strcpy(c,aj0); /复制学号 strcpy(d,aj1); /复制姓名 m = bj0; /复制语文 n = bj1; /复制数学 x = bj2; /复制英语 strcpy(aj0,ak0); /复制学号 strcpy(aj1,ak1); /复制姓名 bj0 = bk0; /复制语文 bj1= bk1; /复制数学 bj2= bk2; /复制英语 strcpy(ak0,c); /复制学号 strcpy(ak1,d); /复制姓名 bk0 =
12、m; /复制语文 bk1= n; /复制数学 bk2= x ; /复制英语 7. 界面的美观化设计界面的前景与背景:代码: system(color e4); 欢迎界面代码: printf( n); printf( n); printf( 欢迎进入学生成绩管理系统n); printf( n); printf( nn); 效果图:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 9 页 - - - - - - - - - 结束界面:代码:三. 实习总结我的收获:在本次实习中,
13、 我学到了很多实际有用的东西,而且基本上都是在课本上学不到的, 并且也在实习中梳理了自己对C语言这门课程所学的所有内容,让自己对 C这门课程有了更进一步的认识,有了一个良好的基础, 为自己的以后打下了坚实基础。 从开头到现在, 所有的内容实习完了, 上机实验是学习程序设计语言必不可少的实践环节,在 C 语言灵活、简洁中,更需要通过编程的实践来真正掌握它。二十多天的 C语言程序设计已经结束了,在这几天编程的过程中感触颇多,实训编程的同时暴露出了许多我自身存在的问题,同时也对自身有了很大的提高。首先,对我以前做题做事非常马虎的毛病有了很大的改进,通过在这几天编程的过程中的锻炼,我现在做题比以前仔细
14、多了, 会小心翼翼地去看每一个地方,会仔细地检查程序的每一个字母、标点, 以及每个可能出错的地方,更会特别仔细,生怕自己一不小心搞错了,而导致整个程序都无法运行。其次,在编程的过程当中弥补了我许多知识上的缺陷,弄清楚了我不懂的地方和似是而非的地方, 使我及时补上了欠缺, 为自己以后的人生道路打下了良好基础,同时也让我对每一件事都有了一个好的心态去对待它,更让自己在编写程序的过程中每时每刻都处于充足的状态。再次,通过几天综合实训编程使我的知识形成了一个完整的框架结构,而不再是零散的知识个体, 使我在使用时更加的方便, 更加灵活, 以前有好多题目要写十行八行的, 还有些地方弄得不是太懂, 现在只需
15、要五六行就可以搞定,而且还对于思路特别清晰、明确。最后,实训过程中,充分发挥团队协作精神,共同进步,帮助同学顺利完成实训课程,有困难一起解决,同时也使我在他们身上学到了很多东西。我的不足:首先,我的第一个,同时也是一个最大的缺点,自己对于理论知识掌握的还不是很通透, 理解的不够彻底, 对于一些问题似似而非, 给自己编写程序的过程中带来了很大的麻烦。其次,我不能够精心的去完成每一个程序,对于每个程序而言,都是马马虎虎,只要运行结果是对的,那就可以了。虽然我自己也知道这样是不好的, 但是自己就是不愿意去改, 在经过实习之后虽然有所改善,但在我看来,改进的不是很大。名师资料总结 - - -精品资料欢
16、迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 9 页 - - - - - - - - - 附录:1. 程序运行效果图输入学生信息界面:按学号查询学生信息界面:按姓名查询学生信息界面:修改学生信息界面:删除学生信息界面:单科最高分和不及格人数界面:输出成绩界面:3.参考文献和资料名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 9 页 - - - - - - - - - 1.C语言程序设计 /苏小红,王宇颖,孙志岗编著, -二版。-北京:高等教育出版社, 2013.8 ISBN 978-7-04-037704-0 2.C+ 面向对象程序设计教程 /陈维兴,林小茶编著 .3 版.-北京:清华大学出版社, 2009.6(2013.12重印)3.百度百科:http:/ 百度知道:http:/ - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 9 页 - - - - - - - - -