




免费预览已结束,剩余23页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
郑州大学现代远程教育计算机实用软件课程考核要求说明:本课程考核形式为提交作业,完成后请保存为WORD 2003版本格式的文档,登陆学习平台提交,并检查和确认提交成功(能够下载,并且内容无误即为提交成功)。一 作业要求1. 每一道题必做2.要求学生独立认真完成二 作业内容1. 描述一个简单并且完整的Delphi程序的创建到运行的过程,并且在Delphi环境中实践。答:program Project1;usesForms,Unit1 in Unit1.pas Form1;$R *.resbeginApplication.Initialize;Application.CreateForm(TForm1, Form1);Application.Run;end.一个delphi应用程序的入口是project单元的 begin部分通常,一个带窗口的应用程序会使用Application创建一个隐藏的窗口,并建立消息循环,用来接收Windows消息并完成分发操作以上操作在Application.Initialize中完成Application.CreateForm(TMyForm,MyForm) 用来创建用户窗体,接收Application分发的消息并进行相应的处理Application.run 开始执行消息循环,直到收到exit消息,退出循环,关闭程序2. 与数据库相关的组件主要有哪些?简述这些组件的属性和方法以及它们的使用方法。答:以SQL为例BDE(Borland Databas Engine), 是中最古老的技术,从 2.0加入BDE 技术以后,一直是处理数据库的事实上的标准。BDE 是一个基于驱动程序的体系结构,每一种数据格式或数据源都有一种驱动程序来驱动相近的数据源。BDE 可以很好的支持现在最流行的ODBC API方法,ODBC是一种C/C+ 应用程序编程接口(API ),无论是对任何一种客户/ 服务器关系型数据库管理系统(RDBMS ),还是最流行索引顺序访问方法(ISAM)数据库(Jet、Foxpro), 都能很好的访问。同时,由于BDE 的驱动程序主要直接来自于第三方开发商,所以,对于像Oracle这些非微软的数据库,执行效率上比较高。正是这些特点,使BDE 技术还是得到了很多数据库开发程序员的欢迎。ADO 技术是微软提出来的处理关系型数据库和非关系型数据库的新技术,它基于微软被称为OLE DB的数据访问模式,它是专门为了给大范围商业数据源提供访问而设计的,包括传统的关系型数据表、电子邮件系统、图形格式、Internet资源等。ADO 所需内存更少,更适合大流量和大事务量的网络计算机系统。ADO 顶层有三个对象:Connection、Command、Recordset。Connection用以指定数据源,建立和数据源的连接。Command 对象用以对数剧源执行指定的命令,可以接受SQL 语句,表和存储过程的名称,执行SQL 查询,更新数据,插入纪录等。Recordset 对象表示的是来自表或命令执行结果的记录全集,操纵来自提供者的几乎所有数据。由于ADO 技术的迅速普及,从 5.0 开始,加入了ADO 技术的模块,并逐步成为数据库设计的主流。但是,和VB的ADODC 相比,它还是有所不同的,在数据绑定上,它更多的吸收了BDE 的特点,以做到和原来的程序兼容,同时,它又可以接受标准ADO 技术的各种属性和方法,在接受这些属性和方法时,它是和数据绑定控件脱离的,当然从某种意义上来说,这种方案提高了执行效率,给设计人员以更多的选择。dbExpress 是 6.0加入的最新的数据库模块,它不使用缓存,可以快速浏览大量的数据,但是,不使用缓存就不能更改,所以它的标准方式是只读的。它一个重要的特点是交叉平台,可以和Linux 数据库连接,速度相当快。3. DBChart组件的主要属性和方法有哪些?在Delphi中使用该组件,使其能够按照多种图表形式显示后台数据。答:1.绑定数据ADOQuery1.Active:=True;DBChart1.Series0.DataSource:=ADOQuery1;DBChart1.Series0.XLabelSource:=FiledName;DBChart1.Series0.YValues.ValueSource:=FieldName;2.切换图表类型tmpChart:=DBChart1.Series0;ChangeSeriesType(tmp,TLineSeries);tmpChart.Active:=True;tmpChart.RefreshSeries;3.设置分页DBChart1.ScaleLastPage:=true;DBChart1.MaxPointsPerPage:=10;DBChart1.Page:=1;DBChart1.PreviousPage;DBChart1.NextPage;DBChart1.Page:=NumPages;4.导出图表SaveToBitmapFile(FileName);5.打印图表uses TeePrevi;ChartPreview(Parent,DBChart1);TeePreview(Parent,DBChart1);6.数据源ADODataSet1.CreateDataSet;AdoDataSet1.Insert;AdoDataSet1.FieldByName(Value).AsFloat:=200000;AdoDataSet1.FieldByName(Info).AsString:=05-02;AdoDataSet1.Post; 4理解利用Delphi开发管理信息系统的流程,并使用Delphi开发学生管理信息系统。#include#include#include#includetypedef struct STUDENTchar studentNumber10;/*学生学号*/char studentName20;/*学生姓名*/char className20;/*班级名称*/float mark1;/*第1门成绩*/float mark2;/*第2门成绩*/float mark3;/*第3门成绩*/struct STUDENT *next;STUDENT;STUDENT *headLink;/*链表表头指针*/*以下是函数声明*/void ReadInfoFormFile(void);void DesplayMenu(void);void CreateHeadLink(void);STUDENT *MallocNode(void);void GetInformation(STUDENT *t);void OutputInformation(void);void DesplayInfoBystudentName(void);void DesplayInfoBystudentNumber(void);void DesplayOneNode(STUDENT *t);void InsertOneNode(STUDENT *t);void DeleteNodeBystudentNumber(void);void ChangeMarkByName(void);void ChangeMarkByNumber(void);void SaveLinkToFile(void);void DesplayMarkSegment(void);void CompositorByTotalMark(void);int choose;/*用于接受用户的选择*/*主函数*/main()CreateHeadLink();ReadInfoFormFile();DesplayMenu();/*函数功能:从文件中读学生信息到链表中*/void ReadInfoFormFile(void)FILE *fp;STUDENT *p;fp=fopen(student.txt,r);if(!fp)printf(文件不存在n);return;p=MallocNode();while(fscanf(fp,%s%s%s%f%f%f,p-studentNumber,p-studentName,p-className,&(p-mark1),&(p-mark2),&(p-mark3)0)InsertOneNode(p);p=MallocNode();fclose(fp);/*函数功能:显示菜单,根据用户的输入完成相应的功能*/void DesplayMenu(void)STUDENT *p;printf(-请选择相应功能-nn);printf(| 1 显示所有学生的信息 |n);printf(| 2 按姓名查询 |n);printf(| 3 按学号查询 |n);printf(| 4 增加学生 |n);printf(| 5 删除学生 |n);printf(| 6 按姓名修改学生成绩 |n);printf(| 7 按学号修改学生成绩 |n);printf(| 8 保存所有学生信息 |n);printf(| 9 显示优秀和不及格学生成绩 |n);printf(| 10 排序结果并输出绩 |n);printf(| 11 退出 |nn);scanf(%d,&choose);/*取得用户的选择*/switch(choose)case 1:OutputInformation();/*显示所有学生的信息*/break;case 2:DesplayInfoBystudentName();break;case 3:DesplayInfoBystudentNumber();/*根据用户输入的学号显示该学生的信息*/break;case 4:p=MallocNode();/*先申请一个新结点*/GetInformation(p);/*要求用户输入信息到新结点中*/InsertOneNode(p);/*将新结点加到链表中*/break;case 5:DeleteNodeBystudentNumber();/*根据用户输入的学号删除该学生*/break;case 6:ChangeMarkByName();/*根据用户输入的姓名修改学生成绩*/break;case 7:ChangeMarkByNumber();/*根据用户输入的学号修改学生成绩*/break;case 8:SaveLinkToFile();/*保存数据*/break;case 9:DesplayMarkSegment();/*显示各分数段的学生成绩*/break;case 10:CompositorByTotalMark();break;case 11:SaveLinkToFile();/*保存数据后再退出*/free(headLink);exit(1);break;default:break;DesplayMenu();/*递归调用*/*函数功能:建立链表表头*/void CreateHeadLink(void)STUDENT *p;p=(STUDENT*)malloc(sizeof(STUDENT);headLink=p;p-next=NULL;/*函数功能:申请一个新结点,并将其初始化*/STUDENT *MallocNode(void)STUDENT *p;int i;p=(STUDENT*)malloc(sizeof(STUDENT);if(p=NULL)return NULL;for(i=0;istudentNumberi=0;for(i=0;istudentNamei=0;for(i=0;iclassNamei=0;p-mark1=0.0;p-mark2=0.0;p-mark3=0.0;p-next=NULL;return p;/*函数功能:取得用户输入的学生信息*/void GetInformation(STUDENT *t)printf(请输入学生学号:n);scanf(%s,t-studentNumber);printf(请输入学生姓名:n);scanf(%s,t-studentName);printf(请输入该生所在班级:n);scanf(%s,t-className);printf(请输入第1门成绩:n);scanf(%f,&(t-mark1);printf(请输入第2门成绩:n);scanf(%f,&(t-mark2);printf(请输入第3门成绩:n);scanf(%f,&(t-mark3);/*函数功能:在链表的结尾处增加一个结点*/void InsertOneNode(STUDENT *t)STUDENT *p;p=headLink;while(p-next)p=p-next;p-next=t;/*函数功能:根据用户输入的学生姓名显示该学生的信息*/void DesplayInfoBystudentName(void)STUDENT *p;char studentName20;char flag=0;p=headLink-next;printf(请输入学生姓名:n);scanf(%s,studentName);while(p)if(strcmp(p-studentName,studentName)=0)printf(学号t姓名t班级t成绩1t成绩1t成绩3t总成绩t平均成绩nn);DesplayOneNode(p);flag=1;break;p=p-next;if(!flag)printf(对不起,不存在姓名为 %s 的学生n,studentName);/*函数功能:根据用户输入的学号显示该学生的信息*/void DesplayInfoBystudentNumber(void)STUDENT *p;char studentNumber10;char flag=0;p=headLink-next;printf(请输入学生学号:n);scanf(%s,studentNumber);while(p)if(strcmp(p-studentNumber,studentNumber)=0)printf(学号t姓名t班级t成绩1t成绩1t成绩3t总成绩t平均成绩nn);DesplayOneNode(p);flag=1;break;p=p-next;if(!flag)printf(对不起,不存在学号为 %s 的学生n,studentNumber);/*函数功能:输出一个结点的信息*/void DesplayOneNode(STUDENT *t)printf(%st,t-studentNumber);printf(%st,t-studentName);printf(%st,t-className);printf(%.2ft,t-mark1);printf(%.2ft,t-mark2);printf(%.2ft,t-mark3);printf(%.2ft,t-mark1+t-mark2+t-mark3);printf(%.2ftn,(t-mark1+t-mark2+t-mark3)/3);/*函数功能:根据用户输入的学号删除该学生*/void DeleteNodeBystudentNumber(void)char studentNumber10;STUDENT *p,*q;char flag=0;printf(请输入要删除的学生学号:);scanf(%s,studentNumber);p=headLink;q=headLink-next;while(q)if(strcmp(q-studentNumber,studentNumber)=0)p-next=q-next;free(q);flag=1;break;p=p-next;q=q-next;if(!flag)printf(不存在该学号的学生n);return;printf(成功删除n);/*函数功能:显示所有学生的信息*/void OutputInformation(void)STUDENT *p;p=headLink-next;if(p=NULL)printf(现在没有学生信息,请先输入学生信息nn);return;printf(学号t姓名t班级t成绩1t成绩1t成绩3t总成绩t平均成绩nn);while(p)DesplayOneNode(p);p=p-next;/*函数功能:根据输入的姓名修改成绩*/void ChangeMarkByName(void)STUDENT *p;char studentName20;char flag=0;float mark1,mark2,mark3;p=headLink-next;printf(请输入学生姓名:n);scanf(%s,studentName);while(p)if(strcmp(p-studentName,studentName)=0)printf(请输入新的第1门成绩:n);scanf(%f,&mark1);printf(请输入新的第2门成绩:n);scanf(%f,&mark2);printf(请输入新的第3门成绩:n);scanf(%f,&mark3);p-mark1=mark1;p-mark2=mark2;p-mark3=mark3;flag=1;printf(修改成功n);break;p=p-next;if(!flag)printf(对不起,不存在姓名为 %s 的学生n,studentName);/*函数功能:根据输入的学号修改成绩*/void ChangeMarkByNumber(void)STUDENT *p;char studentNumber20;char flag=0;float mark1,mark2,mark3;p=headLink-next;printf(请输入学生学号:n);scanf(%s,studentNumber);while(p)if(strcmp(p-studentNumber,studentNumber)=0)printf(请输入新的第1门成绩:n);scanf(%f,&mark1);printf(请输入新的第2门成绩:n);scanf(%f,&mark2);printf(请输入新的第3门成绩:n);scanf(%f,&mark3);p-mark1=mark1;p-mark2=mark2;p-mark3=mark3;flag=1;printf(修改成功n);break;p=p-next;if(!flag)printf(对不起,不存在学号为 %s 的学生n,studentNumber);/*函数功能:保存链表数据到文件中*/void SaveLinkToFile(void)STUDENT *p;FILE *fp;p=headLink-next;if(p=NULL)printf(现在没有学生信息,请先输入学生信息nn);return;fp=fopen(student.txt,w+);if(!fp)printf(文件不存在n);return;while(p)fprintf(fp,%s %s %s %f %f %fn,p-studentNumber,p-studentName,p-className,p-mark1,p-mark2,p-mark3);p=p-next;fclose(fp);/*函数功能:显示优秀和不及格学生成绩*/void DesplayMarkSegment(void)STUDENT *p;int count=0;p=headLink-next;printf(60分以下(不及格)的学生成绩如下:n);printf(学号t姓名t班级t成绩1t成绩1t成绩3t总成绩t平均成绩nn);while(p)if(6(int)(p-mark1/10)|(6(int)(p-mark2/10)|(6(int)(p-mark3/10)/*只要有一科不及格就认为该生不及格*/count+;DesplayOneNode(p);p=p-next;printf(不及格的学生一共有%d人n,count);p=headLink-next;printf(成绩优秀的学生成绩如下:n);printf(学号t姓名t班级t成绩1t成绩1t成绩3t总成绩t平均成绩nn);count=0;while(p)if(8mark1/10)&(8mark2/10)&(8mark3/10)cou
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 川师专业测试题及答案
- 大专法律专业面试题及答案
- 大专舞蹈专业测试题及答案
- 信贷专业能力测试题及答案
- 消防安全演练培训会议课件
- 2025至2030中国平面铣床行业产业运行态势及投资规划深度研究报告
- 2025至2030中国眼科光学仪器行业发展趋势分析与未来投资战略咨询研究报告
- 护理专业教师试讲课件大纲
- 2025至2030中国保险行业发展趋势分析与未来投资战略咨询研究报告
- 2025至2030自膨式颅内支架行业发展趋势分析与未来投资战略咨询研究报告
- 中小学数学专业常用词汇中英文对照
- 01第一章 井田概况及地质特征09.9
- 青岛汽轮机调速系统使用说明书
- 管理学原理(南大马工程)
- 初中语文系列 批注式阅读课件
- 六年级上册数学课件-1.3 包装的学问丨苏教版 (共19张PPT)
- 部编人教版五年级上册道德与法治全册课件
- 高血压护理查房ppt
- 全关节镜下FiberTape治疗后交叉韧带胫骨止点撕脱骨折课件
- 《临建布置方案》word版
- VISI简单操作说明140709
评论
0/150
提交评论