编程实习报告[范本]_第1页
编程实习报告[范本]_第2页
编程实习报告[范本]_第3页
编程实习报告[范本]_第4页
编程实习报告[范本]_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

编程实习报告编程实习实习报告学号:09061513. 班级:09063012. 学生姓名:吴晋椿. 起始日期:20XX/6/23. 完成日期:20XX/7/4.一、任务要求功能分析与设计:画出功能流程图和功能结构图根据功能分析与设计,完成系统的编码和调试对系统进行功能、可操作性、稳定性测试编写,并在答辩时上交二、详细设计InsertStudent函数DeleteStudent函数SortClass函数ShowClass函数EditMarks函数三、编码实现插入函数void InsertStudent(char* students,int* marks) int found, i;/定义变量found, i, j, size char* students1;/姓名数组头指针 int* marks1;/成绩数组头指针students1 = *students;/使students1指向students marks1 = *marks;/使marks1指向marks char *name;/定义char型变量nameprintf(Enter Student Name to be added to Class List:n); /显示这句话 fflush(stdout);/清除文件缓冲区name = ReadLine ;/将读取到的字符赋值给name if (students1 = NULL)/如果指针变量students1为空 if (students1 = (char*) malloc(2*sizeof(char*) = NULL)merror(2); /如果没有申请到内存空间则打出警告 if (students10 = (char*) malloc(strlen(name)+1) = NULL)merror(3);/如果没有申请到内存空间则打出警告 strcpy(students10,name);/将name全部复制到students10里students11 = NULL;/定义students11为空if (marks1 = (int*) malloc(2*sizeof(int*) = NULL)merror(4);/如果没有申请到内存空间则打出警告程序设计实习报告学年:20XX20XX3 实习课题:学生信息管理系统姓名:高飞班级:计算机科学与技术1302班学号:1309000406日期:20XX年7月15日组员:刘越 石常弟一实习目的1.了解管理系统的开发流程。2.熟悉对文件和链表的各种基本操作。3.熟练掌握类、结构体等方面的知识。4了解基本命令的使用方法;掌握常用函数、表达式的使用方法,掌握程序控制结构的使用和程序设计,掌握变量的作用范围和自定义函数的使用。5熟练掌握常用算法程序、常用统计程序、数据排序方法、简单数据加密和解密程序编写、调试和使用。6.通过本程序的训练,是学生对文件操作有更深刻的了解,掌握利用单链表存储结构实现对学生管理系统的原理,为进一步开发高质量的信息管理系统打下坚实的基础。二实习内容1.函数switch的使用Switch用在编程中,如C语言中它经常跟Case一起使用,是一个判断选择代码。其功能就是控制业务流程流转的。使用switch函数,靠输入来判断执行的步骤。switch(i)case 1:/从键盘输入学生的信息,并保存到文件中InputFromKeyboard;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;break;case 9:/从文件输入并输出InputOutputFromKeyboard;break;实例:2.从文件中读取数据fscanf 函数,功 能: 从一个流中执行格式化输入,存入缓存区。可用于从文件中读取数据。if(op =fopen(,r) = NULL)printf( 亲,文件打开错误!n);exit(0);while(!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(,w) = NULL)printf( 文件打开失败,请重新打开系统!n);exit(0);elsep = h;do/写入文件中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.链表的删除操作图形解析:为了删除节点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;elseq-next = p-next;/p的前一个节点连接p的后一个节点free(p);/释放掉P节点printf( 删除成功!);5.文件中插入记录编码实例:if(op = fopen(,a) = NULL)printf( 文件打开失败,请重新打开系统!n);exit(0);6.数据的排序操作冒泡法排序:冒泡排序,是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。冒泡法原理:冒泡排序算法的运作如下:1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。3. 针对所有的元素重复以上的步骤,除了最后一个。4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。编码实例:for(j = 0; j 6) w1=1;getchar ; else w1=0;while(w1=1);switch(n)case 1:enter ;break;case 2:browse ;break;case 3:add ;break; case 4:modify ;break; case 5:del ;break; case 6:exit(0); mainmenu ; void enterint i,n;printf(输入联系人的个数(0-%d)?:,N-1);scanf(%d,&n);printf(n 现在请开始输入nn);for(i=0;iN-1) printf(储存已满,不能添加新信息);break; 土木工程20XX级计算机实习任务书指导教师班级 土木班姓名 学号西南交通大学土木工程学院20XX年11月实习时间:20XX年11月30日12月14日实习地点:X7103实习目的:计算机实习是本科计算机基础教学的一个重要环节。它对于巩固学生的计算机基础知识,增强学生的计算机应用水平,改善学生的知识结构,具有重要意义。本课程的教学目的是:通过系统的上机实习,使学生的计算机基础知识与基本操作技能得到进一步的巩固,提高学生的编程能力和用机水平,培养学生用计算机分析与解决问题的意识,为后续课程打下基础。实习内容:本实习要求完成如下三项任务:1 巩固所学的计算机基本知识和基本操作技能,包括:熟练掌握正确的键盘指法和英文盲打技术;能熟练使用Windows操作系统;熟练掌握Word、Excel、PowerPoint等办公自动化软件;能使用网络获取、发送信息;用PowerPoint制作一组幻灯片,或用Excel绘制出图1所示的sin(x)、cos(x)函数曲线。2 计算机语言及编程用本学期已学过的VC+语言编程。编程题目及要求由指导教师指定。3 提交一份实习报告实习报告不得少于1000字:主要总结实习心得和实习成果实习成果:【1】程序1:按以下形式打印出杨辉三角形中的各值1 11 121 1331 14641 1 9 36 84 126 124 84 36 91算法原理:数据结构:用一个二维数组存放杨辉三角形的数据。分析杨辉三角形的数据特点,该三角形每一行的行初和行末的数据都是1,从第三行起,每行数据的第2i-2列数据都满足以下关系:aij=ai-1j-i+ai-1j;根据上述关系得出杨辉三角的每个数据存放在已定义的二维数组中,然后按照图形格式输出已经存放的数据,得出杨辉三角。程序流程图: 数组aij,i表示行,j表示每一行的第几个数。使用方法:输入程序,直接显示。 源程序:#include #include using namespace std;void main int i,j;int a1122;for(i=0;i #include using namespace std;void mainchar p100=0;int i=0; ofstream t;(,ios:out);if(!t=1)coutpi+; while(pi-1!=#); t程序运行结果:算法与编程实习实习报告班级:姓名:李明学号:12345678第一题一、题目:一、题目:统计字母的使用频率二、目的与要求1目的:通过编写程序统计字母的使用频率,培养学生综合利用C语言进行程序设计的能力,熟悉字符串的操作方法,加强函数的运用,提高软件系统分析能力和程序文档建立、归纳总结的能力。2基本要求:1)要求用C语言编程,在Visual C+环境下调试完成;2)要求按照程序功能分成几个功能模块来实现,各个功能模块分别使用函数来完成;3)要求应用本课所讲授的程序设计语言知识来解决问题三、设计方法和基本原理1课题功能描述本程序的功能,就是要统计英文字母的使用频率。2问题详细描述为统计英文字母的使用频率,输入一个不包括空格的由英文字母组成的字符串,长度不超过200个字符。统计26个英文字母的使用频率,不区分大小写。最后按使用频率从大到小输出字母和使用频率。3问题的解决方案按照程序要求,本程序应采用模块化设计方法,设计几个功能模块。例如:l将字符串中的大写字母转换为小写字母l统计输入的字符串中字母的使用频率l按使用频率从大到小进行排序主函数中控制输入、函数调用和输出。四、主要技术问题的描述根据三的分析,主要问题在于:1)为统计字母的使用频率,定义一个长度为26的int数组存放所统计的各个字母的使用频率。2)在统计字母的使用频率时,不要使用if语句或switch语句,利用字母的ASCII码与数组元素下标之间的关系来求得。3)按使用频率从大到小进行排序时,建议使用指针数组更为方便。五、创新要求实现程序功能后,可进行创新设计:1)使用多文件,即主函数和各个函数分别存放在不同的.c文件中,在头文件中进行函数原型声明。2)读入一篇英文文档,并对其进行字母频率分析。二、功能描述1.程序运行第一步进行模式选择:从屏幕读入一串字母或从文件中读取文章。2.读取文章完毕后,统计各个字母的使用频率,并按从大到小的顺序打印出来,同时,对使用次数相同的字母按字母表顺序打印,对使用次数为0的字母不予打印。三、解决方案四、主要函数描述1. Main函数:功能:负责变量的定义、模式的选择及函数的调用。 函数功能:负责将大小写字母统一成小写字母后返回小写字母。 函数功能:负责统计某一字母的使用频率并输出。函数功能:读入位于e:LDK的文档,通过调用函数统计字母频率并相应输出。函数功能:按字母使用频率从大到小的顺序输出字母及其使用频率。五、实验心得通过这次“统计字母频率”算法编程的实习,我学习并掌握了函数的调用、形参为指针或数组的传递方法以及读取文件数据的方法。同时,在实习过程中,也遇到了许多问题:1. 在文件调用的过程中,使用课本上的“while”不能实现对文件结尾的判断,造成函数进入死循环,不能及时退出。解决方法:后来,运用老师讲述的调试方法,发现程序在运行到文档结尾的时候,从文档中读取的值为-1,于是我把判断文档结尾的条件改为了“while”,从而使函数正常地跳出了循环。心得:当自

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论