软件基础实验报告

合集下载

计算机软件技术基础实验报告_2

计算机软件技术基础实验报告_2

计算机软件基础实验报告姓名学号实验目的1. 掌握C语言程序设计方法, 并学会上机调试。

2. 熟悉Huffman编码源程序,并构造Huffman树。

实验内容试设计一算法, 从包括n个元素的数组中, 求最大和最小元素, 并使得当n个元素为有序排列时, 元素之间的比较次数仅为n-1次。

在给出的Huffman编码源程序基础上, 要求画出Huffman树, 求出与等长编码相比时的压缩比。

实验要求1.根据实验内容编写算法, 并用 C 语言进行程序设计。

2.将所编程序在计算机上调试通过,并全面测试.实验结果1. 以一个含有8个元素的一维数组{1, 2, 3, 5, 7, 8, 9, 12}为例,设计程序如下:#include<stdio.h>int maxArray(int x ,int y);int minArray(int x ,int y);int main(void){int i = 0 ;int array[8]={ 1, 2, 3, 5, 7, 8, 9, 12} ;printf;do{scanf("%d",&array[i]);i++;} while(i < 8);int maxTemp = array[0];int minTemp = array[0];int maxIndex = 0;int minIndex = 0;for(i=1;i<8;i++){maxTemp = maxArray(array[i] , maxTemp);minTemp = minArray(array[i] , minTemp);}for(i=0;i<8;i++){if (maxTemp == array[i]){maxIndex = i;}if (minTemp == array[i]){minIndex = i;}}printf;return 0;}运行结果如下:2.Huffman编码源程序#include <dos.h>#include <conio.h>#include <stdio.h>#include <stdlib.h>#include <string.h>typedef struct{unsigned int weight; //结点权值unsigned int parent,lchild,rchild; //结点的父指针, 左右孩子指针}HTNode,*HuffmanTree; //动态分配数组存储哈夫曼树typedef char **HuffmanCode; //动态分配数组存储哈夫曼编码表void CreateHuffmanTree(HuffmanTree &,unsigned int*,int ); //生成哈夫曼树void HuffmanCoding(HuffmanTree,HuffmanCode &,int ); //对哈夫曼树进行编码void PrintHuffmanCode(HuffmanCode,unsigned int*,int); //显示哈夫曼编码void Select(HuffmanTree,int,int&,int&); //在数组中寻找权值最小的两个结点void main(){HuffmanTree HT; //哈夫曼树HTHuffmanCode HC; //哈夫曼编码表HCint n,i; //n是哈夫曼树叶子结点数unsigned int *w; //w存放叶子结点权值char j='y';printf("演示构造哈夫曼树.\n");printf("输入需要进行编码的字符数目.\n例如:8\n");printf("然后输入每个字符出现的次数/权值.\n");printf("例如:5 29 7 8 14 23 3 11\n");printf("自动构造一棵哈夫曼树并显示哈夫曼编码.\n");printf(" 5---0110\n 29---10\n 7---1110\n 8---1111\n 14---110\n");printf(" 23---00\n 3---0111\n 11---010\n");while(j!='N'&&j!='n'){printf("请输入字符数目:");scanf("%d",&n); //输入字符数目if(n<=1) {printf("该数不合理!\n");continue;}w=(unsigned int*)malloc(n*sizeof(unsigned int)); //开辟空间存放权值printf("请输入各字符出现的次数/权值:\n");for(i=0;i<n;i++) scanf("%d",&w[i]); //输入各字符出现的次数/权值CreateHuffmanTree(HT,w,n); //生成哈夫曼树HuffmanCoding(HT,HC,n); //进行哈夫曼编码PrintHuffmanCode(HC,w,n); //显示哈夫曼编码printf("哈夫曼树构造完毕, 还要继续吗?(Y/N)");scanf(" %c",&j);}}void CreateHuffmanTree(HuffmanTree &HT,unsigned int *w,int n){//w存放n个结点的权值, 将构造一棵哈夫曼树HTint i,m;int s1,s2;HuffmanTree p;if(n<=1) return;m=2*n-1; //n个叶子结点的哈夫曼树, 有2*n-1个结点HT=(HuffmanTree)malloc((m+1)*sizeof(HTNode)); //开辟2*n各结点空间for(p=HT+1,i=1;i<=n;++i,++p,++w) //进行初始化{p->weight=*w;p->parent=0;p->lchild=0;p->rchild=0;}for(;i<=m;++i,++p){p->weight=0;p->parent=0;p->lchild=0;p->rchild=0;}for(i=n+1;i<=m;++i) //建哈夫曼树{Select(HT,i-1,s1,s2);//从HT[1...i-1]中选择parent为0且weight最小的两个结点, 其序号分别为s1和s2HT[s1].parent=i; HT[s2].parent=i; //修改s1和s2结点的父指针parentHT[i].lchild=s1; HT[i].rchild=s2; //修改i结点的左右孩子指针HT[i].weight=HT[s1].weight+HT[s2].weight; //修改权值}}void HuffmanCoding(HuffmanTree HT,HuffmanCode &HC,int n){//将有n个叶子结点的哈夫曼树HT进行编码, 所编的码存放在HC中//方法是从叶子到根逆向求每个叶子结点的哈夫曼编码int i,c,f,start;char *cd;HC=(HuffmanCode)malloc((n+1)*sizeof(char *)); //分配n个编码的头指针向量cd=(char *)malloc(n*sizeof(char)); //开辟一个求编码的工作空间cd[n-1]='\0'; //编码结束符for(i=1;i<=n;++i) //逐个地求哈夫曼编码{start=n-1; //编码结束位置for(c=i,f=HT[i].parent;f!=0;c=f,f=HT[f].parent) //从叶子到根逆向求编码if(HT[f].lchild==c) cd[--start]='0'; //若是左孩子编为'0'else cd[--start]='1'; //若是右孩子编为'1'HC[i]=(char *)malloc((n-start)*sizeof(char)); //为第i个编码分配空间strcpy(HC[i],&cd[start]); //将编码从cd复制到HC中}free(cd); //释放工作空间}void PrintHuffmanCode(HuffmanCode HC,unsigned int *w,int n){//显示有n个叶子结点的哈夫曼树的编码表int i;printf("HuffmanCode is :\n");for(i=1;i<=n;i++){printf(" %3d---",w[i-1]);puts(HC[i]);}printf("\n");}void Select(HuffmanTree HT,int t,int&s1,int&s2){//在HT[1...t]中选择parent不为0且权值最小的两个结点, 其序号分别为s1和s2 int i,m,n;m=n=10000;for(i=1;i<=t;i++){if(HT[i].parent==0&&(HT[i].weight<m||HT[i].weight<n)) if(m<n){n=HT[i].weight;s2=i;}else {m=HT[i].weight;s1=i;}}if(s1>s2) //s1放较小的序号{i=s1;s1=s2;s2=i;}}运行结果如下:输入数据后的运行结果:实验心得要熟练掌握程序的编写, 如果没有一定的想象能力和大量的上机实践是根本无法完成的。

软件基础期末实验报告

软件基础期末实验报告

一、实验名称软件基础实验二、实验目的1. 熟悉软件工程的基本概念和原则。

2. 掌握软件开发的基本流程和方法。

3. 提高编程能力和团队协作能力。

4. 通过实验加深对软件工程理论知识的理解。

三、实验内容本次实验主要涉及以下几个方面:1. 需求分析2. 系统设计3. 编码实现4. 测试与调试5. 项目文档编写四、实验环境1. 操作系统:Windows 102. 开发工具:Visual Studio 20193. 编程语言:C#五、实验步骤1. 需求分析(1)确定实验项目:设计并实现一个简单的学生管理系统。

(2)收集需求:与学生沟通,了解他们的需求,如添加、删除、修改、查询学生信息等。

(3)编写需求规格说明书:详细描述系统的功能、性能、界面等。

2. 系统设计(1)设计系统架构:采用分层架构,包括表示层、业务逻辑层和数据访问层。

(2)设计数据库:根据需求分析,设计学生信息表,包括学号、姓名、性别、年龄、班级等字段。

(3)设计界面:使用WinForms或WPF等技术设计用户界面,包括添加、删除、修改、查询等功能。

3. 编码实现(1)编写业务逻辑层代码:实现学生信息的增删改查功能。

(2)编写数据访问层代码:使用技术实现与数据库的交互。

(3)编写表示层代码:实现用户界面,与业务逻辑层进行交互。

4. 测试与调试(1)编写测试用例:针对每个功能编写测试用例,确保功能的正确性。

(2)进行单元测试:对每个模块进行测试,确保模块功能的正确性。

(3)进行集成测试:将各个模块组合在一起,测试整个系统的功能。

(4)调试:根据测试结果,对系统进行调试,修复存在的问题。

5. 项目文档编写(1)编写项目需求规格说明书:详细描述系统的功能、性能、界面等。

(2)编写项目设计说明书:描述系统的架构、数据库设计、界面设计等。

(3)编写项目测试报告:记录测试过程、测试结果、存在的问题等。

六、实验结果与分析1. 实验结果通过本次实验,成功实现了一个简单的学生管理系统,包括添加、删除、修改、查询等功能。

基础会计软件实验报告(3篇)

基础会计软件实验报告(3篇)

第1篇一、实验目的通过本次基础会计软件实验,旨在使学生掌握会计软件的基本操作流程,熟悉会计软件的各项功能,提高会计信息处理的能力。

具体目标如下:1. 熟悉会计软件的基本界面和操作环境;2. 掌握会计软件的初始化设置,包括账套创建、科目设置、凭证录入、账簿查询等;3. 熟悉会计软件的日常业务处理,包括凭证录入、账簿登记、报表生成等;4. 了解会计软件的数据备份与恢复功能;5. 培养学生的实际操作能力和团队协作精神。

二、实验内容本次实验以某企业为例,通过以下步骤进行操作:1. 账套创建:首先创建一个新的账套,设置账套名称、会计期间、记账本位币等基本信息。

2. 科目设置:根据企业实际情况,设置会计科目体系,包括资产、负债、所有者权益、收入、费用等科目。

3. 凭证录入:根据企业发生的经济业务,录入相应的记账凭证,包括日期、凭证编号、摘要、借贷方科目、金额等信息。

4. 账簿查询:通过会计软件查询各类账簿,如总账、明细账、日记账等,了解企业的财务状况。

5. 报表生成:根据预设的报表模板,生成各类财务报表,如资产负债表、利润表、现金流量表等,分析企业的经营状况。

6. 数据备份与恢复:定期对会计数据进行备份,以防止数据丢失或损坏;在需要时,进行数据恢复操作。

三、实验步骤1. 账套创建:- 进入会计软件,选择“账套管理”模块;- 点击“新建账套”,输入账套名称、会计期间、记账本位币等基本信息;- 点击“确定”保存账套信息。

2. 科目设置:- 进入会计软件,选择“科目管理”模块;- 点击“新增科目”,输入科目名称、科目编码、科目类别等信息;- 根据需要,设置科目的辅助核算信息,如部门、项目等;- 重复以上步骤,设置所有会计科目。

3. 凭证录入:- 进入会计软件,选择“凭证管理”模块;- 点击“新增凭证”,输入凭证日期、凭证编号、摘要、借贷方科目、金额等信息;- 根据需要,设置凭证的附件、摘要等信息;- 点击“保存”完成凭证录入。

软件的应用实验报告

软件的应用实验报告

实验名称:软件应用实验实验日期:2023年3月15日实验地点:计算机实验室一、实验目的1. 熟悉软件的基本操作和功能。

2. 掌握软件在不同场景下的应用方法。

3. 提高软件使用效率,解决实际问题。

二、实验内容1. 实验软件:Microsoft Office Word 20162. 实验任务:(1)创建一篇文档,包括标题、正文、页眉页脚等;(2)设置文档格式,如字体、字号、段落间距等;(3)插入图片、表格等元素;(4)使用查找、替换功能;(5)保存文档。

三、实验步骤1. 打开Microsoft Office Word 2016软件,创建一个新的空白文档。

2. 输入文档标题,设置字体为“黑体”,字号为“小二”,加粗。

3. 在标题下方输入正文内容,设置字体为“宋体”,字号为“四号”,段落间距为“1.5倍行距”。

4. 插入页眉和页脚,设置页眉内容为文档标题,页脚内容为当前日期。

5. 在正文中插入一张图片,调整图片大小和位置。

6. 在正文中插入一个表格,设置表格样式和内容。

7. 使用查找、替换功能,将文档中的某个关键词替换为另一个关键词。

8. 保存文档,选择合适的文件名和保存路径。

四、实验结果与分析1. 成功创建了一篇包含标题、正文、页眉页脚的文档。

2. 设置了文档格式,包括字体、字号、段落间距等。

3. 成功插入图片、表格等元素,并调整了大小和位置。

4. 使用查找、替换功能,快速找到并替换了文档中的关键词。

5. 成功保存文档,确保文档的安全性。

实验结果符合预期,通过本次实验,掌握了Microsoft Office Word 2016的基本操作和功能,提高了软件使用效率,为今后的学习和工作打下了基础。

五、实验总结1. 本次实验使我对Microsoft Office Word 2016有了更深入的了解,掌握了其基本操作和功能。

2. 通过实验,提高了自己的软件使用能力,为解决实际问题提供了有力支持。

3. 在实验过程中,发现了自己的不足之处,如对部分功能的掌握不够熟练,需要在今后的学习中加以改进。

熟悉软件的实验报告(3篇)

熟悉软件的实验报告(3篇)

第1篇一、实验目的1. 了解软件的基本概念和分类。

2. 熟悉常用的软件操作界面和功能。

3. 掌握软件的基本使用方法。

4. 培养实际操作能力,提高计算机应用水平。

二、实验环境1. 操作系统:Windows 102. 软件版本:Microsoft Office 20163. 硬件设备:联想笔记本电脑三、实验内容1. 熟悉软件的基本概念和分类(1)软件的定义:软件是指计算机系统中与硬件相互依存的一部分,它由程序、数据和相关的文档组成。

(2)软件的分类:系统软件、应用软件、中间件等。

2. 熟悉常用的软件操作界面和功能(1)Microsoft Office 2016:包括Word、Excel、PowerPoint等办公软件。

Word:主要用于文字处理,具有排版、编辑、格式设置等功能。

Excel:主要用于数据处理和统计分析,具有表格、公式、图表等功能。

PowerPoint:主要用于演示文稿制作,具有幻灯片设计、动画效果、多媒体等功能。

(2)Adobe Photoshop:一款专业的图像处理软件,具有图片编辑、设计、合成等功能。

3. 掌握软件的基本使用方法(1)Word操作:1)新建文档:点击“文件”菜单,选择“新建”。

2)输入文字:在文档编辑区输入文字,可以使用键盘和鼠标进行编辑。

3)排版:设置字体、字号、行距、页边距等格式。

4)保存文档:点击“文件”菜单,选择“保存”或“另存为”。

(2)Excel操作:1)新建工作簿:点击“文件”菜单,选择“新建”。

2)输入数据:在单元格中输入数据,可以使用键盘和鼠标进行编辑。

3)公式计算:在单元格中输入公式,进行数据计算。

4)图表制作:选择数据,插入图表,进行可视化展示。

(3)PowerPoint操作:1)新建演示文稿:点击“文件”菜单,选择“新建”。

2)添加幻灯片:点击“新建幻灯片”按钮,选择幻灯片版式。

3)编辑幻灯片:在幻灯片编辑区输入文字、插入图片、添加动画效果等。

软件初级实训报告

软件初级实训报告

一、实训背景随着我国信息技术的快速发展,软件行业成为了我国经济增长的重要驱动力。

为了使大学生更好地适应社会需求,提高自身的实践能力,我们学校组织了一次软件初级实训活动。

本次实训旨在让学生通过实际操作,掌握软件开发的流程和方法,为今后从事相关工作打下坚实基础。

二、实训目的1. 熟悉软件开发的基本流程,包括需求分析、设计、编码、测试和维护等阶段;2. 掌握常用软件开发工具的使用,如Visual Studio、Eclipse等;3. 提高团队协作和沟通能力;4. 培养学生的创新意识和解决问题的能力。

三、实训内容1. 需求分析:以实际项目为例,让学生了解需求分析的重要性,掌握需求分析的方法和技巧。

2. 设计:引导学生根据需求分析结果,进行系统设计和数据库设计,包括数据表结构、存储过程、视图等。

3. 编码:让学生使用Java、C++等编程语言,实现系统功能,编写相应的模块代码。

4. 测试:让学生了解软件测试的基本方法和流程,进行单元测试、集成测试和系统测试。

5. 维护:让学生了解软件维护的基本知识,学会对软件进行更新、升级和故障排除。

四、实训过程1. 实训前期,教师对软件开发的基本知识进行讲解,让学生对软件开发有初步的认识。

2. 实训中期,学生以小组为单位,选择实际项目进行实践。

在教师的指导下,完成需求分析、设计、编码、测试和维护等环节。

3. 实训后期,各小组进行项目展示,教师对项目进行点评,总结实训过程中的优点和不足。

五、实训成果1. 学生掌握了软件开发的基本流程和方法,能够独立完成软件项目的开发。

2. 学生的团队协作和沟通能力得到提高,学会了如何与团队成员共同解决问题。

3. 学生的创新意识和解决问题的能力得到锻炼,能够针对实际问题提出解决方案。

4. 学生对软件行业有了更深入的了解,为今后从事相关工作奠定了基础。

六、实训总结本次软件初级实训活动取得了圆满成功。

通过实训,学生不仅掌握了软件开发的基本技能,还提高了自身的综合素质。

软件操作实验报告

软件操作实验报告

实验名称:软件操作实验实验日期:2023年2月24日实验地点:计算机实验室实验者:[姓名]一、实验目的1. 熟悉并掌握常用软件的基本操作。

2. 培养实验操作能力和分析问题、解决问题的能力。

3. 提高计算机应用水平,为今后的学习和工作打下基础。

二、实验内容1. Windows操作系统基本操作2. Microsoft Office系列软件的使用3. 网络浏览器的使用4. 图形图像处理软件Photoshop的基本操作三、实验步骤1. Windows操作系统基本操作(1)启动计算机,进入Windows操作系统。

(2)熟悉桌面元素,包括桌面图标、任务栏、开始菜单等。

(3)新建文件夹,重命名文件夹,删除文件夹。

(4)查找文件,设置文件属性。

(5)安装和卸载软件。

2. Microsoft Office系列软件的使用(1)Microsoft Word的使用- 创建新文档,输入文字内容。

- 设置字体、字号、段落格式。

- 插入图片、表格、页眉页脚等。

- 打印文档。

(2)Microsoft Excel的使用- 创建新工作簿,输入数据。

- 设置单元格格式,包括字体、字号、颜色等。

- 使用公式和函数进行数据计算。

- 制作图表。

(3)Microsoft PowerPoint的使用- 创建新演示文稿,添加幻灯片。

- 设置幻灯片背景、字体、动画等。

- 添加图片、表格、图表等元素。

- 演示文稿的播放和保存。

3. 网络浏览器的使用(1)打开浏览器,输入网址,访问网页。

(2)保存网页,设置主页。

(3)使用书签功能,方便下次访问。

(4)使用下载功能,下载所需文件。

4. 图形图像处理软件Photoshop的基本操作(1)打开Photoshop软件,创建新文件。

(2)使用选区工具选择图片区域。

(3)调整图片亮度、对比度、饱和度等。

(4)使用图层功能进行图片合成。

(5)保存修改后的图片。

四、实验结果与分析1. 实验结果通过本次实验,掌握了Windows操作系统、Microsoft Office系列软件、网络浏览器和Photoshop的基本操作。

软件实训报告(15篇)

软件实训报告(15篇)

软件实训报告软件实训报告(15篇)随着社会一步步向前发展,需要使用报告的情况越来越多,我们在写报告的时候要避免篇幅过长。

那么什么样的报告才是有效的呢?下面是小编为大家收集的软件实训报告,希望能够帮助到大家。

软件实训报告1一、实习目的实习是大学生学习和事业中重要的里程碑,将所学的理论知识与实践结合起来,培养勇于探索的创新精神、提高动手能力,加强社会活动能力,严肃认真的学习态度,为以后专业实习和走上工作岗位打下坚实的基础。

认识实习是教学计划的重要部分,它是培养学生的实践等解决实际问题的第二课堂,它是专业知识培养的摇篮,也是对工业生产流水线的直接认识与认知。

实习中应该深入实际,认真观察,获取直接经验知识,巩固所学基本理论,保质保量的完成指导老师所布置任务。

学习工人师傅和工程技术人员的勤劳刻苦的优秀品质和敬业奉献的良好作风,培养我们的实践能力和创新能力,开拓我们的视野,培养生产实际中研究、观察、分析、解决问题的能力。

通过顶岗实习,拓宽了我的知识面,增加感性认识,把所学知识梳理归类,不断进行总结纠正。

增强了从书本学不到的人际交往能力,语言表达和沟通能力,并了解到当前工程业的现状和发展前景和随着时代发展的最新动态。

通过顶岗实习,大大激发了我向实践学习和探索的积极性,为今后从事的工作打下坚实的基础。

认识实习是我们工科学生的一门必修课,通过认知实习,我们要对机械设计制造及其自动化专业建立感性认识,并进一步了解本专业的学习实践环节。

通过接触实际生产过程,一方面,达到对所学专业的性质、内容及其在工程技术领域中的地位有一定的认识,为了解和巩固专业思想创造条件,在实践中了解专业、熟悉专业、热爱专业。

另一方面,巩固和加深理解在课堂所学的理论知识,让自己的理论知识更加扎实,专业技能更加过硬,更加善于理论联系实际。

再有,通过到工厂去参观各种工艺流程,为进一步学习技术基础和专业课程奠定基础。

这是我们即将走出校门,踏上社会的最后一次实习。

计算机软件技术基础实验报告

计算机软件技术基础实验报告

学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年11月22日成绩:实验六SQL Server 2005 的安装和数据库的创建和修改一、实验目的1.掌握SQL Server 2005的安装方法,了解SQL Server 2005 的环境。

2.掌握使用向导创建数据库的方法。

3.掌握使用向导和SQL语句创建表。

4.掌握使用SQL语句修改表。

二、实验用软件和工具1.实验软件 VC++ 6.0 。

2.SQL Server2005软件。

三、实验步骤1.安装SQL Server 2005。

2.使用向导创建学籍管理系统数据库EDUC。

3.使用向导和SQL语句创建学籍管理系统数据库中的表。

4.使用SQL语句修改学籍管理系统数据库中的表。

四、实验程序与程序运行结果1.安装SQL Server 2005。

(1)根据安装机器软硬件的要求,选择一个合适的版本,以下以开发版为例(2)将 SQL Server 2005 DVD 插入 DVD 驱动器。

如果DVD驱动器的自动运行功能无法启动安装程序无法启动安装程序,请导航到 DVD 的根目录然后启动splash.hta。

(3)在自动运行的对话框中,单击“运行 SQL Server 安装向导”。

(4)在“最终用户许可协议”页上,阅读许可协议,再选中相应的复选框以接受许可条款和条件。

接受许可协议后即可激活“下一步”按钮。

若要继续,请单击“下一步”若要结束安装程序,请单击“取消”。

如下图:学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年11月22日成绩:(5)在“SQL Server 组件更新”页上,安装程序将安装 SQL Server 2005 的必需软件。

有关组件要求的详细信息,请单击该页底部的“帮助”按钮。

若要开始执行组件更新,请单击“安装”。

更新完成之后若要继续,请单击“完成”。

(6)在 SQL Server 安装向导的“欢迎”页上,单击“下一步”以继续安装。

软件基础实验报告

软件基础实验报告

软件基础实验报告实验一熟悉Dev-C++环境实验题目:熟悉DEV C++环境实验目的:熟悉C 语言编程环境DEV C++,掌握运行一个C 程序的基本步骤,包括编辑、编译、链接和运行。

了解C 程序的基本框架,能够编写简单的C 程序。

了解程序调试的思想,能找出并改正C 程序中的语法错误。

实验内容:对下面四个题目进行编程处理。

1.分别求三个整型数、浮点数、长整型数的中数(中间大的数)。

2.输入a和b两个整数,按先小后大的顺序输出a和b(用指针变量处理)3.求解四级汉诺塔游戏。

4.用二分法求方程x^3-x^4-3x^2+1=0在区间[0,1]内的根。

实验结果及程序:1、程序:#include <iostream>using namespace std;template<typename T>T mid(T x,T y,T z){float t=0;if(x<y){ t=x;x=y;y=t;}if(y<z){t=y;y=z;z=t;}if(x<y){t=x;x=y;y=t;}return y;}int main( ){ int i1=123,i2=-66,i3=3,i;double d1=29.73,d2=24.83,d3=-324.84,d;long g1=45742,g2=-475646,g3=345254,g;i=mid(i1,i2,i3);d=mid(d1,d2,d3);g=mid(g1,g2,g3);cout<<"i_mid="<<i<<endl;cout<<"d_mid="<<d<<endl;cout<<"g_mid="<<g<<endl;return 0;}2、程序:#include <iostream>using namespace std;int main( ){ int *p1,*p2,*p, a,b;cout<<"请输入两个数:";cin>>a>>b;p1=&a;p2=&b;cout<<*p1<<" "<<*p2<<endl;if(a<b){p=p1;p1=p2;p2=p;}cout<<"a="<<a<<" b="<<b<<endl;cout<<*p1<<" "<<*p2<<endl;return 0;}3、程序:#include <iostream>using namespace std;void Towers(int n, char Source, char Target, char Interm) {if (n==1)printf("From %c to %c\n",Source,Target);else{ Towers(n-1, Source, Interm, Target);Towers(1, Source, Target, Interm);Towers(n-1, Interm, Target, Source);}}main(){char Source='a';char Target='c';char Interm='b';printf("请输入n:");scanf("%d",&n);Towers(n, Source, Target, Interm) ; }4、程序:#include <iostream>#include<cmath>using namespace std;double function(double x){return(x*x*x-x*x*x*x+4*x*x-1);}{double a=0,b=1,c;while(fabs(a-b)>=0.01){c=(a+b)/2;if(fabs(function(c))<=1e-6)printf("The root of this equation is %f\n",c);else if(function(a)*function(c)<0)b=c;else if(function(b)*function(c)<0)a=c;}c=(a+b)/2;printf("符合题意的根为:%f\n",c);}实验二线性表运用实验题目:线性表运用实验目的:理解线性表(数组)的操作和运算;掌握通过指针操作数组元素的方法;掌握数组名作为函数参数的编程方法。

软件应用实验报告

软件应用实验报告

实验名称:XXX软件应用实验实验日期:2023年X月X日实验地点:XXX实验室一、实验目的1. 熟悉XXX软件的基本操作和功能。

2. 了解XXX软件在特定领域的应用。

3. 提高实际操作能力和问题解决能力。

二、实验内容1. XXX软件概述XXX软件是一款集成了多种功能的综合性软件,广泛应用于XXX领域。

本次实验主要针对其核心功能进行操作和探索。

2. XXX软件基本操作(1)启动软件:双击桌面图标或点击“开始”菜单中的软件名称。

(2)界面介绍:熟悉软件的菜单栏、工具栏、状态栏等界面元素。

(3)文件操作:创建、打开、保存、关闭文件等。

3. XXX软件核心功能操作(1)功能一:以XXX软件为例,详细介绍功能一的实现过程。

步骤一:打开软件,点击菜单栏中的“功能一”按钮。

步骤二:在弹出的对话框中,输入所需参数。

步骤三:点击“确定”按钮,软件开始执行。

步骤四:查看执行结果,并进行相关操作。

(2)功能二:以XXX软件为例,详细介绍功能二的实现过程。

步骤一:打开软件,点击菜单栏中的“功能二”按钮。

步骤二:在弹出的对话框中,选择相关选项。

步骤三:点击“开始”按钮,软件开始执行。

步骤四:查看执行结果,并进行相关操作。

4. XXX软件在特定领域的应用以XXX领域为例,介绍XXX软件在该领域的应用。

三、实验结果与分析1. 实验结果通过本次实验,掌握了XXX软件的基本操作和核心功能,能够熟练运用软件完成相关任务。

2. 实验分析(1)XXX软件操作简便,界面友好,易于上手。

(2)XXX软件功能强大,能够满足不同用户的需求。

(3)XXX软件在XXX领域的应用具有广泛的前景。

四、实验总结1. 通过本次实验,提高了对XXX软件的认识,为今后的学习和工作打下了基础。

2. 培养了实际操作能力和问题解决能力,为今后在XXX领域的应用奠定了基础。

3. 认识到软件应用在现代社会的重要性,激发了对软件技术的兴趣。

五、实验建议1. 加强对XXX软件的学习,深入了解其功能和操作。

医学软件基础实验报告

医学软件基础实验报告

一、实验名称医学软件基础实验二、实验日期2023年X月X日三、实验目的1. 了解医学软件的基本功能和操作流程。

2. 掌握医学软件在临床实践中的应用。

3. 培养医学信息素养,提高信息处理能力。

四、实验原理医学软件是利用计算机技术对医学信息进行采集、存储、处理、分析和展示的应用程序。

通过本实验,使学生了解医学软件的基本原理和操作方法,为今后在临床工作中应用医学软件打下基础。

五、主要仪器与试剂1. 电脑一台2. 医学软件一套(如:电子病历系统、医学影像处理软件等)3. 医学数据资料六、实验步骤1. 登录医学软件,熟悉软件界面和基本功能。

2. 创建电子病历,录入患者基本信息、病历信息、检查结果等。

3. 查询患者病历,了解患者病情变化。

4. 利用医学影像处理软件对影像资料进行处理,如:图像放大、对比度调整等。

5. 对处理后的影像资料进行分析,得出诊断结论。

6. 保存实验数据,备份重要资料。

七、注意事项1. 在操作过程中,注意保护患者隐私,确保信息安全。

2. 按照实验步骤进行操作,避免误操作。

3. 在处理医学影像资料时,注意保护眼睛,避免长时间盯着电脑屏幕。

八、实验结果1. 成功创建并录入患者电子病历。

2. 查询患者病历,了解患者病情变化。

3. 利用医学影像处理软件对影像资料进行处理,提高诊断准确率。

4. 对处理后的影像资料进行分析,得出诊断结论。

九、讨论1. 医学软件在临床实践中的应用越来越广泛,提高了医疗工作的效率和质量。

2. 通过本实验,掌握了医学软件的基本操作,为今后在临床工作中应用医学软件奠定了基础。

3. 在实验过程中,发现医学软件在处理大量数据时,有时会出现卡顿现象,需要进一步优化软件性能。

十、实验结论1. 医学软件在临床实践中具有重要作用,能够提高医疗工作效率和诊断准确率。

2. 本实验使学生掌握了医学软件的基本操作,为今后在临床工作中应用医学软件奠定了基础。

3. 建议在医学软件开发过程中,注重性能优化,提高软件稳定性。

软件基础认知实训报告

软件基础认知实训报告

一、前言随着信息技术的飞速发展,软件工程已经成为当今社会不可或缺的一部分。

为了更好地适应社会需求,提高自身的专业素养,我参加了软件基础认知实训。

通过这次实训,我对软件工程有了更加深入的了解,以下是我对实训过程的总结与感悟。

二、实训目的1. 了解软件工程的基本概念、原理和方法;2. 掌握软件开发的流程和工具;3. 培养团队协作精神和沟通能力;4. 提高解决实际问题的能力。

三、实训内容1. 软件工程概述实训开始,我们学习了软件工程的基本概念、原理和方法。

软件工程是一门应用计算机科学、数学和心理学等知识,对软件的开发、维护、管理等进行系统研究、分析和设计的一门学科。

通过学习,我们了解到软件工程的目标是提高软件的质量、降低成本、缩短开发周期。

2. 软件开发流程实训过程中,我们重点学习了软件开发的流程。

软件开发流程主要包括需求分析、系统设计、编码、测试、部署和维护等阶段。

通过学习,我们掌握了各个阶段的特点和任务,以及如何进行有效的沟通和协作。

3. 软件开发工具为了提高开发效率,实训中我们学习了常用的软件开发工具。

如:集成开发环境(IDE)、版本控制系统(VCS)、项目管理工具等。

通过学习,我们了解了这些工具的基本功能和使用方法,为以后的实际工作打下了基础。

4. 团队协作与沟通实训过程中,我们进行了分组讨论、项目实施等活动。

通过这些活动,我们学会了如何与团队成员协作,如何进行有效的沟通。

这对于提高团队整体执行力具有重要意义。

5. 解决实际问题在实训过程中,我们遇到了各种实际问题。

通过查阅资料、请教老师和同学,我们逐步掌握了解决这些问题的方法。

这使我们在实际工作中能够更加从容地面对挑战。

四、实训收获1. 提高了专业素养通过本次实训,我对软件工程有了更加全面、深入的了解,提高了自身的专业素养。

2. 培养了团队协作精神在实训过程中,我们学会了与团队成员沟通、协作,共同完成项目任务。

这为我们今后在工作中更好地融入团队打下了基础。

软件基础排序实验报告

软件基础排序实验报告

一、实验目的1. 理解并掌握几种常见的排序算法的基本原理。

2. 能够熟练运用C语言实现这些排序算法。

3. 分析不同排序算法的时间复杂度和空间复杂度。

4. 比较不同排序算法的效率,了解其适用场景。

二、实验环境1. 操作系统:Windows 102. 编程语言:C语言3. 开发环境:Visual Studio 2019三、实验内容本次实验主要实现了以下排序算法:1. 冒泡排序2. 选择排序3. 插入排序4. 快速排序5. 归并排序四、实验步骤1. 定义一个整数数组,用于存放待排序的数据。

2. 根据算法要求,实现排序算法。

3. 对排序后的数组进行输出,验证排序结果。

五、实验结果与分析1. 冒泡排序(1)算法原理:冒泡排序是一种简单的排序算法。

它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。

遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。

(2)代码实现:```cvoid bubbleSort(int arr[], int n) {int i, j, temp;for (i = 0; i < n - 1; i++) {for (j = 0; j < n - i - 1; j++) {if (arr[j] > arr[j + 1]) {temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}}```(3)时间复杂度:O(n^2)(4)空间复杂度:O(1)2. 选择排序(1)算法原理:选择排序是一种简单直观的排序算法。

它的工作原理是:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。

以此类推,直到所有元素均排序完毕。

(2)代码实现:```cvoid selectionSort(int arr[], int n) {int i, j, min_idx;for (i = 0; i < n - 1; i++) {min_idx = i;for (j = i + 1; j < n; j++) {if (arr[j] < arr[min_idx]) {min_idx = j;}}swap(&arr[min_idx], &arr[i]);}}```(3)时间复杂度:O(n^2)(4)空间复杂度:O(1)3. 插入排序(1)算法原理:插入排序是一种简单直观的排序算法。

计算机软件基础上机实验报告

计算机软件基础上机实验报告

计算机软件基础上机实验报告实验目的:通过本次实验,掌握计算机软件的基本操作、基本编程概念以及实现方法,并能对实验结果进行分析和总结。

实验设备:计算机硬件平台和软件平台。

实验内容:1.学习使用计算机软件的基本操作。

2.学习使用计算机软件进行编程。

3.编写一个简单的计算机软件,并进行测试。

实验步骤:1.打开计算机软件,并学习基本的操作方法。

包括如何创建、保存和打开文件,如何设置字体、颜色和格式等。

2.学习基本的编程概念和语法,包括变量、函数、条件语句和循环语句等。

3.编写一个简单的计算机软件,并进行测试。

假设我们要编写一个求解一元二次方程的软件。

首先,定义一个函数来计算方程的根。

然后,在主函数中输入方程的系数,并调用函数进行计算。

最后,输出结果。

实验结果分析:通过本次实验,我学会了如何使用计算机软件进行操作和编程。

在编写一元二次方程求解软件的过程中,我遇到了一些问题,如如何处理方程无解和有多个解的情况等。

为了解决这些问题,我添加了对方程判别式的计算和判断逻辑,从而得到了正确的结果。

实验总结:本次实验让我更加深入地了解了计算机软件的基本操作和编程概念。

通过编写一个简单的计算机软件,我不仅巩固了所学的知识,还锻炼了分析和解决问题的能力。

在今后的学习和工作中,我将继续深入学习和应用计算机软件,为实现更多的功能和创造更大的价值做出贡献。

此外,我还意识到在软件开发过程中应注重错误处理和逻辑判断,确保软件的稳定性和可靠性。

以上是本次计算机软件基础上机实验的报告,通过本次实验,我对计算机软件的基本操作和编程有了更深入的了解,并在实践中掌握了一些基本的编程技巧和方法。

这将为我今后的学习和工作奠定坚实的基础。

软件信息基础实验报告

软件信息基础实验报告

软件信息基础实验报告软件信息基础实验报告实验主题:软件信息的查询与检索实验目的:1. 学习软件信息管理的基本概念和方法。

2. 掌握软件信息的查询和检索技术。

3. 培养对软件信息的分析能力和解决问题的能力。

实验仪器:1. 一台计算机。

2. 软件信息管理系统。

实验内容:1. 登录软件信息管理系统。

2. 查询软件信息。

3. 检索软件信息。

实验步骤:1. 打开计算机,启动软件信息管理系统。

2. 进入系统后,输入用户名和密码进行登录。

3. 在系统主界面上找到软件信息查询功能,并点击进入。

4. 在查询界面上,输入需要查询的软件名称、版本、厂商等信息,点击查询按钮进行查询。

5. 系统会显示出符合查询条件的软件列表,并且显示出相应的软件信息。

6. 在查询结果中,可以点击每个软件的详细信息来查看更多的软件信息。

7. 如果需要检索软件信息,可以在检索界面上输入关键词,系统会根据关键词来检索相关的软件信息。

实验结果:通过对软件信息管理系统的查询和检索功能的实验,可以得到以下结果:1. 查询功能实现了按照软件名称、版本、厂商等信息对软件进行查询,并且能够显示出相应的软件信息。

2. 检索功能实现了根据关键词对软件信息进行检索,并且能够显示出相关的软件信息。

实验分析:通过本次实验,可以看出软件信息管理系统具有较为完善的查询和检索功能,能够方便快捷地搜索和获取所需的软件信息。

在实际应用中,通过查询和检索功能可以提高工作效率,减少人力和时间成本。

同时,对于大规模的软件信息管理和维护,软件信息管理系统能够提供更好的支持,提供更全面和准确的软件信息。

实验总结:本次实验主要是通过软件信息管理系统的查询和检索功能来熟悉软件信息的基本概念和方法,并且通过实验加深对软件信息的理解。

通过实验,我学到了软件信息管理的重要性和技术,掌握了软件信息的查询和检索技术,提高了对软件信息的分析能力和解决问题的能力。

总体来说,本次实验使我对软件信息管理有了更深入的了解,并且对于今后的软件信息管理工作能够更加得心应手。

计算机软件基础实验报告 xxx

计算机软件基础实验报告 xxx

计算机软件基础实验报告 xxx
实验名称:计算机软件基础实验
实验报告
实验目的:
1. 了解计算机软件的基本概念和分类;
2. 熟悉计算机软件的开发过程;
3. 掌握常用的计算机软件开发工具和方法。

实验内容:
1. 计算机软件的基本概念和分类
1.1 计算机软件的定义和特点
1.2 计算机软件的分类:系统软件、应用软件和工程软件
2. 计算机软件的开发过程
2.1 需求分析
2.2 设计
2.3 编码
2.4 测试
2.5 发布和维护
3. 计算机软件开发工具和方法
3.1 集成开发环境(IDE):使用Visual Studio进行软件开发 3.2 版本控制系统:使用Git进行版本控制
3.3 软件开发方法:使用敏捷开发方法进行软件开发
实验步骤:
1. 学习计算机软件的基本概念和分类;
2. 学习计算机软件的开发过程;
3. 学习计算机软件开发工具和方法;
4. 在实验环境中安装和配置所需的开发工具;
5. 通过实例学习和实践,完成一个简单的软件开发任务。

实验结果:
经过实验,我对计算机软件的基本概念和分类有了更深入的了解。

我熟悉了计算机软件的开发过程,并掌握了常用的计算机软件开发工具和方法。

在实验环境中成功安装和配置了开发工具,并完成了一个简单的软件开发任务。

实验总结:
通过本次实验,我进一步巩固了计算机软件的基础知识,并熟悉了计算机软件的开发过程。

我掌握了常用的计算机软件开发工具和方法,对计算机软件开发有了更深入的认识。

在以后的学习和工作中,我将继续努力,不断提升自己的计算机软件开发能力。

控制软件基础实验报告

控制软件基础实验报告

一、实验目的1. 理解控制软件的基本概念和功能。

2. 掌握控制软件的编程方法和调试技巧。

3. 学习使用常见控制软件工具进行控制系统设计。

4. 提高控制系统设计与调试能力。

二、实验原理控制软件是控制系统的重要组成部分,它负责对系统进行实时监测、控制和优化。

本实验主要围绕以下几个方面展开:1. 控制软件的基本概念和功能。

2. 控制软件的编程方法。

3. 控制软件的调试技巧。

4. 常见控制软件工具的使用。

三、实验内容1. 控制软件的基本概念和功能(1)了解控制软件的基本概念,如控制算法、控制器、执行器等。

(2)熟悉控制软件的功能,如实时监测、控制、优化等。

2. 控制软件的编程方法(1)学习控制软件编程的基本语法和规则。

(2)掌握控制算法的编程实现,如PID控制、模糊控制等。

3. 控制软件的调试技巧(1)了解控制软件调试的基本方法,如代码调试、仿真调试等。

(2)学习如何使用调试工具,如GDB、MATLAB等。

4. 常见控制软件工具的使用(1)学习使用MATLAB/Simulink进行控制系统设计。

(2)了解其他常用控制软件工具,如LabVIEW、Eclipse等。

四、实验步骤1. 准备实验环境(1)安装MATLAB/Simulink等控制软件。

(2)搭建实验平台,如单片机、PLC等。

2. 实验一:控制软件基本概念和功能(1)阅读相关文献,了解控制软件的基本概念和功能。

(2)通过实例分析,加深对控制软件的理解。

3. 实验二:控制软件编程方法(1)学习控制算法的编程实现,如PID控制、模糊控制等。

(2)编写控制算法的程序代码,并进行调试。

4. 实验三:控制软件调试技巧(1)学习控制软件调试的基本方法,如代码调试、仿真调试等。

(2)使用调试工具对程序进行调试,解决编程过程中遇到的问题。

5. 实验四:常见控制软件工具的使用(1)学习使用MATLAB/Simulink进行控制系统设计。

(2)了解其他常用控制软件工具,如LabVIEW、Eclipse等。

计算机软件技术基础实验报告

计算机软件技术基础实验报告

计算机软件实验报告姓名:班级:学号:指导教师:实验一线性表的基本操作一、实验目的与基本要求1.掌握数据结构中的一些基本概念。

数据、数据项、数据元素、数据类型和数据结构,以及它们之间的关系。

2.了解数据的逻辑结构和数据的存储结构之间的区别与联系;数据的运算与数据的逻辑结构的关系。

3.掌握线性表的基本操作:插入、删除、查找以及线性表的合并等运算。

4.掌握运用C语言上机调试线性表的基本方法。

二、实验条件1.硬件:一台微机2.软件:操作系统和C语言系统三、实验方法确定存储结构后,上机调试实现线性表的基本运算。

四、实验内容1.试编写在无头结点的单链表上实现线性表基本运算LOCATE(L,X),INSERT (L,X,1)和DELETE(L,1)的算法。

2.假设有两个按数据元素值递增有序排列的线性表A和B,均以单链表作为存储结构。

编写算法将A表和B表归并成一个按元素值递减有序(即非递增有序,允许值相同)排列的线性表C,并要求利用原表(即A表和B表)结点空间存放表C。

3.将一个线性表中的值就地逆置。

4.在线性表的顺序存储结构的第一个位置上插入一个元素。

(注意区分链表和顺序表)实验代码:#include"stdlib.h"#include"stdio.h"struct node //定义结构体{int d;struct node *next;};struct node *head1,*head2,*p,*q;void pre(struct node *head) //打印数据{printf("链表中的数据为:\n");p=head;while(p!=NULL){printf("%5d",p->d);q=p;p=p->next;}printf("\n");}struct node *creat() //建立链表{struct node *head;int x;printf("输入你要储存的数据:\n");head=NULL;q=NULL;scanf("%d",&x);while(x>0){p=(struct node *)malloc(sizeof(struct node));p->d=x;p->next=NULL;if(head==NULL) head=p;else q->next=p;q=p;scanf("%d",&x);getchar();}pre(head);return (head);}void locate(struct node *head,int x) //查找链表中的数据{int u=1;p=head;while (p->next!= NULL){if (p->d==x)break;else{ p=p->next;u++;}}if(p->d!= x)printf("无此结点");printf("在链表中的位置为:");printf("%d",u);}void insert(struct node *head,int x, int i) //插入数据{ p = head;int j=1;q=(struct node *)malloc(sizeof(struct node));q->d=x;if(i==1){ q->next=head;head=q;}else{while((j<i-1)&&(p->next !=NULL)){j++;p=p->next;}q->next=p->next;p->next=q;}}void delet(struct node *head,int i) //删除数据{ p=head;int j=1;if(i<0) printf("无此位置");if(i==1){q=head; head=head->next; free(q);}else{while((j<i-1) && (p->next != NULL)){ p=p->next;j++;}q=p->next;p->next=q->next;free(q);}}void hebing(struct node *x,struct node *y) //合并两个链表{p=x;q=y;while(p->next!=NULL)p=p->next;p->next=q;pre(x);}void paixu(struct node *head) //对链表中的数据进行排序{int m,n,i=1,t;p=head;while(p->next!=NULL){p=p->next;i++;}p=head;for(n=i;n>1;n--){p=head;for(m=1;m<n;m++){q=p->next;if(p->d<q->d){t=p->d;p->d=q->d;q->d=t;}p=p->next;}}}void caozuo(struct node *head) //操作界面{int m,n;char t;printf("输入你要的操作:,查找 2,插入 3,删除\n");scanf("%c",&t);switch(t){case'1':{printf("输入你要查找的元素的值:\n");scanf("%d",&m);locate(head,m);}break;case'2':{printf("输入你要插入的元素的值和位置:\n");scanf("%d",&m);scanf("%d",&n);insert(head,m,n);pre(head);}break;case'3':{printf("输入你要删除的元素的位置:\n");scanf("%d",&m);delet(head,m);pre(head);}break;default:printf("error\n");}}void main() //主函数{char frag='y',n=NULL;printf("输入你要建立的第A链表中的元素:\n");head1=creat();printf("输入你要建立的第B链表中的元素:\n");head2=creat();do{printf("选择你要操作的链表A/B或者合并排序操作C:\n"); //选择操作scanf("%c",&n);getchar();switch(n){case'A':{caozuo(head1);}break;case'B':{caozuo(head2);}break;case'C':{hebing(head1,head2);paixu(head1);pre(head1);}break;default:printf("error\n");}printf("\n是否继续y/n:\n");scanf("%c",&frag);getchar();}while(frag=='y');}实验2 栈和队列的基本操作一、实验目的与基本要求1.掌握栈和队列的顺序存储和链式存储结构2.掌握栈和队列的特点。

计算机软件技术基础实验报告

计算机软件技术基础实验报告

学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月18日成绩:实验一顺序表的基本操作及学生信息管理实现一、实验目的1.掌握顺序表结构的实现方式。

2.掌握顺序表常用算法初始化、插入、删除等操作的程序实现。

2.熟悉利用顺序表解决问题的一般思路。

3.学习体会顺序表结构的优点与不足。

二、实验用软件和工具实验软件 VC++ 6.0三、实验步骤利用顺序表实现学生信息管理。

学生的信息包括学号、姓名、性别、班级和联系电话,功能要求:信息浏览:显示所有学生信息列表;插入信息:在线性表的头部插入一个学生信息;删除信息:按照学号删除某个学生的信息;修改信息:实现按照学号修改某个学生信息;退出程序。

编写程序调试并输出结果。

(1)建立一个顺序表、设计顺序表表的基本操作实现算法、调试并输出结果。

(2)参考顺序表的算法描述和算法的实现,在本程序中修改顺序表的插入、删除、修改等算法的实现函数。

①信息的浏览②利用插入功能插入学生信息。

③利用删除功能删除学生信息。

④利用修改功能修改学生信息。

(3)编写主函数,可通过在while循环结构中嵌入switch分支结构实现操作选择功能。

(4)可以增加学生的课程成绩,实现成绩的统计分析功能。

四、实验程序与程序运行结果#include <stdio.h>#include <string.h>struct data{int number;char name[10];char sex[5];char classes[5];int tel;};int insert(struct data st[5],int n); /*申明插入函数*/void scanning(struct data st[5],int n); /*申明浏览函数*/学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月18日成绩:int del(struct data st[5],int n); /*申明删除函数*/void fix(struct data st[5],int n); /*申明修改函数*/int main(){struct data st[5];int chioce,flag=1;int n;n=0;while(flag){printf("请选择功能:\n 1—信息浏览\n 2—插入信息\n 3—删除信息\n 4-修改信息\n 0—退出程序\n");scanf("%d",&chioce);switch(chioce){case 1:scanning(st,n);break;case 2:n=insert(st,n);break;case 3:n=del(st,n);break;case 4:fix(st,n);break;case 0:flag=0;break;}}printf("\n");printf("谢谢使用!\n");return 0;}void scanning(struct data st[5],int n) /*定义浏览函数*/{int i;if(n==0) /*无元素*/{printf("请选择功能键,先插入名单!\n");printf("\n");printf("\n");}else{学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月18日成绩:for(i=1;i<=n;i++){printf(" 学号:%d\n ",st[i].number);printf(" 姓名:%s\n",st[i].name);printf(" 性别:%s\n",st[i].sex);printf(" 班级:%s\n",st[i].classes);printf("联系方式:%d\n",st[i].tel);printf("\n");}}}int insert(struct data st[5],int n) /*定义插入函数*/{int i,p;struct data t;if(n>=5){printf("内存已满!\n");printf("\n");}else{printf("请输入学号:\n");scanf("%d",&t.number);printf("请输入姓名:\n");scanf("%s",);printf("请输入性别:\n");scanf("%s",t.sex);printf("请输入班级:\n");scanf("%s",t.classes);printf("请输入号码:\n");scanf("%d",&t.tel);}for(i=n;i>0;i--) /*所有元素后移*/{st[i+1].number=st[n].number;strcpy(st[i+1].classes,st[i].classes);strcpy(st[i+1].name,st[i].name);strcpy(st[i+1].sex,st[i].sex);st[i+1].tel=st[i].tel;}st[1].number=t.number;strcpy(st[1].classes,t.classes);strcpy(st[1].name,);strcpy(st[1].sex,t.sex);学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月18日成绩:st[1].tel=t.tel;p=n+1;return p;}int del(struct data st[5],int n) /*定义删除函数*/{int m,i,q,t;printf("请输入你要删除的同学的学号:\n");scanf("%d",&m);for(i=1;i<=n;i++){if(st[i].number==m){t=i;break;}}for(i=t;i<n;i++) /*删除结点后的所有元素后移*/{st[i].number=st[i+1].number;st[i].tel=st[i+1].tel;strcpy(st[i].classes,st[i+1].classes);strcpy(st[i].name,st[i+1].name);strcpy(st[i].sex,st[i+1].sex);}q=n-1;return q;}void fix(struct data st[5],int n) /*定义修改函数*/{int i,m,p,t=1;struct data s;printf("请输入你要修改的学生的学号:\n");scanf("%d",&m);for(i=1;i<=n;i++){if(st[i].number==m){while(t){printf("你想要修改哪项数据?\n 1代表学号\n 2代表姓名\n 3代表性别\n 4代表班级\n 5代表联系方式\n (注意:修改完毕请输入)\n");scanf("%d",&p);switch(p)学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月18日成绩:{case 1:printf("请输入修改后的学号!\n");scanf("%d",&s.number);st[i].number=s.number;break;case 2:printf("请输入修改后的姓名!\n");scanf("%s",);strcpy(st[i].name,);break;case 3:printf("请输入修改的性别!\n");scanf("%s",s.sex);strcpy(st[i].sex,s.sex);break;case 4:printf("请输入修改的班级!\n");scanf("%s",s.classes);strcpy(st[i].classes,s.classes);break;case 5:printf("请输入修改后的联系方式!\n");scanf("%d",&s.tel);st[i].tel=s.tel;break;case 0:t=0;break;}}}}}试验运行结果如图:学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月18日成绩:五、实验心得与体会掌握了顺序表的创建与数据的添加、删除、修改等操作;在设计功能性程序的过程中,对顺序表中的数据进行写入、查询实在很方便,正是其优点所在。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2)点选要创建的项目类型,然后在右边的Location框中输入要保存的路径,在Project Name框中输入项目的名字,点击OK,会弹出创建项目向导,可以根据提示选取要创建的项目的细节。最后点Finish按钮。VC++会列出一个将要创建的项目的信息,这时点OK按钮VC++就会自动创建该项目的界面窗口、对话框等的编码文件。
{
q=q->next;
}
q->next=p;p=(listnode *)malloc(sizeof(listnode));/*p->data=40;
p->next=NULL;
q=head;
while(q->next!=NULL)
{
q=q->next;
}
q->next=p;q=head;
do
{
cout<<q->data;
[32] .PBI、.PBO和.PBT:由VC的性能分析工具PROFILE生成并使用的三种文件。
[33] .PCH:预编译头文件,较大,由编译器在建立工程时自动生成,其中存放有工程中已经编译的部分代码,在以后建立工程时不再重新编译这些代码,以便加快整个编译过程的速度。
[34] .PDB:程序数据库文件,在建立工程时自动生成,其中存放程序的各种信息,用来加快调试过程的速度。记录了程序有关的一些数据和调试信息。
(3) 编制程序
在按需求建立项目之后,应添加资源,设置资源属性,定义类文件,编写函数代码,以及响应事件时所要执行的代码。 编码时可以直接点击项目工作区的相应项目进行编辑。在类视图下可以点击类跳转到源文件相应的行编辑类以及其成员信息。或在资源视图下直接双击相应对象编辑。
(4)保存项目
当创建项目时,VC++会自动生成项目文件。在增加代码时要经常保存项目。保存项目应选File菜单上的Save命令进行保存。有时编码程序时可能会同时改动多个文件这时应注意将改动的文件分别保存或者用File菜单上的Save all命令保存。
3、总结:C++语言我确实不懂,调一个程序比自己写一个程序要难一些。
正确的程序:
1、顺序表的建立代码
#include <iostream.h>
#include<malloc.h>
void main()
{
int i;
struct seqlist
{
int a[10];
int n;
};
typedef struct seqlist *pseqlist;
[10] .DLG:定义对话框资源的独立文件。对于VC工程非必需,因VC一般把对话框资源放在.RC文件中。
[11] .DSP:VC开发环境生成的工程文件,VC4及以前版本使用MAK文件来定义工程。项目文件,文本格式。
[12] .DSW:VC开发环境生成的WorkSpace文件,用来把多个工程组织到一个WorkSpace中,与.dsp相似。
(3)删除指定位置的一个元素。例如,设当前链表的顺序为:“ABCD”,则按提示输入删除位置“1”,则删除的结果为“BCD”。
实验要求:
(1)将程序输入计算机,编译运行。
(2)程序的实际功能与上述所列功能不完全相符,调试程序,找出问题所在,并纠正。
实验报告要求:
(1)将程序输入计算机,编译运行。
(2)程序的实际功能与上述所列功能不完全相符,调试程序,找出问题所在,并纠正。
执行(Execute)执行是运行工程查看结果。可以单击快捷栏上的执行按钮执行程序。
visual C++文件后缀名释义
[1] .APS:存放二进制资源的资源辅助中间文件(可加快资源装载速度)。
[2] .BMP:位图资源文件。
[3] .BSC:浏览信息文件。由浏览信息维护工具(BSCMAKE)从原始浏览信息文件(.SBR)中生成,BSC文件可以用来在源代码编辑窗口中进行快速定位。可在project options里去掉Generate Browse Info File,这样可加快编译进度。
[15] .HLP:Windows帮助文件。
[16] .HM:在Help工程中,该文件定义了帮助文件与对话框、菜单或其它资源之间ID值的对应关系。
[17] .HPJ:由Help Workshop生成的Help工程文件,用来控制Help文件的生成过程。
[18] .HPG:生成帮助的文件的工程。
[19] .ICO:图标资源文件。
listnode * p;
linklist head,q;
head=(listnode *)malloc(sizeof(listnode));/*生成头结点*/
head->data=10;
head->next=NULL;
p=(listnode *)malloc(sizeof(listnode));/*生成第一个要插入的新结点*/
(5)建立程序
建立程序包括:编译,链接和运行程序。这行操作可以在快捷栏上用快捷按钮完成。向项目增加代码时,可以建立程序来检查错误和修改代码。
编译(Compile)编译是将单个文件生成*.obj文件供链使用同时以检查程序有无错误。可以单击快捷栏上的编译按钮进行编译。
链接(Build)链接是将程序连接生成*.exe文件,以便直接运行。可以单击快捷栏上的链接按钮进行链接。
[13] .EXP:由LIB工具从DEF文件生成的输出文件,其中包含了函数和数据项目的输出信息,LINK工具将使用EXP文件来创建动态链接库。只有在编译DLL时才会生成,记录了DLL文件中的一些信息。
[14] .H、.HPP或.HXX:用C/C++语言编写的头文件,通常用来定义数据类型,声明变量、函数、结构和类。
}
运行结果如图
2、单链表的生成、插入、和删除运算:
#include <iostream.h>
#include<malloc.h>
void main()
{
typedef struct node
{
int data;
struct node * next;
}listnode;
typedef listnode *linklist;
cout<<" ";
q=q->next;
}
while(q->next!=NULL);
cout<<q->data;
cout<<" ";
q=q->next;
}
运行结果如图
实验3 查找算法
实验题目:二分查找算法
实验目的:掌握二分查找算法的基本原理,使用vc++6.0语言编写程序。
2 建立MFC应用程序
建一个VC++的MFC应用程序的过程可分为5个步骤:
(1)创建项目
使用Files菜单下的“New”项,会弹出一个New的对话框,选中Projects选项卡,对话框会列出一系列可以创建的项目类型(见图4.),下列出部分常用类型:
ATL COM AppWizard(创建ATL应用程序)
p->data=20;
p->next=NULL;
q=head;
while(q->next!=NULL)
{
q=q->next;
}
q->next=p;p=(listnode *)malloc(sizeof(listnode));p->data=30;
p->next=NULL;
q=head;
while(q->next!=NULL)
[20] .ILK:连接过程中生成的一种中间文件,只供LINK工具使用。
[21] .INI:配置文件。
[22] .LIB:库文件,LINK工具将使用它来连接各种输入库,以便最终生成EXE文件。
[23] .LIC:用户许可证书文件,使用某些ActiveX控件时需要该文件。
[24] .MAK:即MAKE文件,VC4及以前版本使用的工程文件,用来指定如何建立一个工程。
实验二 线性表的运算
实验题目:线性表的生成、插入和删除等运算
实验目的:掌握线性表的顺序存储结构和链式存储结构及它们在计算机中的实现方法。
实验内容:分别建立一个顺序表和单链表,实现其生成、插入、删除、查找和定位的程序。
(1)按指定长度和输入的相应长度的字符串建立一个顺序表和一个单链表。
(2)在指定位置插入一个元素。例如,设当前链表的顺序为:“ABCD”,则按提示输入所插元素和位置“F,1”,则插入的结构为“FABCD”。
Custom AppWizard(创建自定义的应用程序)
Database Project(创建数据库)
DevStudio Add-in Wizard(创建自定义宏)
ISAPI Extension Wizard(创建Internet服务器或过滤器)
Makrd(dll)(创建MFC动态链接库)
1、把附录中的源程序复制到工作空间中,编译出现了一些错误,首先标准化式这样便于检查程序的结构,以及流程。
2、顺序表程序的debug:”for”循环中应该输出10个数,把5改成10 ,此外,加上一些必要的“{}”。
单链表的建立和插入程序,首先要更正单链表的节点结构体(信息域和指针域)。其次最后在屏幕上显示的链表信息总是把最后一个节点漏掉,这是由于“while(q->next!=NULL)”有问题,但是我找不出怎么改,只好在while(q->next!=NULL)后面添加“cout<<q->data;q=q->next;”把最后一个节点显示出来。
相关文档
最新文档