软件技术实验报告.docx
《软件技术实验报告.docx》由会员分享,可在线阅读,更多相关《软件技术实验报告.docx(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件技术实验报告 软件技术实验报告 实验序号 一 名称 BVB的感性认识-BVB基本控件 班级 学号 姓名 实验内容及完成情况: 实验内容: 11) 在屏幕上开辟一个窗口(文本框),窗口的上部放置一个标签,标签中显示:“欢迎使用0VisualBasic6.0中文版”。窗口的下部有三个按钮,左边按钮中标有“开始显示”,中间按钮中标有“清屏”,右边按钮中标有“结束”。当鼠标单击左边按钮时,文本框中显示“欲穷千里目,更上一层楼!”如果单击中间按钮,则清除文本框中显示的内容,单击右边按钮则程序结束。 22)单击“清屏”后,让光标出现在文本框中,此时往文本框中输入若干文字,例如“您好”,然后单击窗体,使
2、得在窗体的指定位置上显示在文本框中输入的文字。 33)如果将11)中单击左边按钮后文本框中显示的“欲穷千里目,更上一层楼!”改为“白日依山尽,黄河入海流,欲穷千里目,更上一层楼!”此时文本框在一行中将显示不下所有文本,请试调整该文本框的“Multiline”属性,并将文本框纵向距离调整到可容纳两行以上文字。此时再次执行程序,观察执行结果所发生的变化。 完成情况:顺利完成。 实验中遇到的问题及解决方法: 实验中所涉及的知识及技术: 文本框的双向作用(即输入与输出);窗体的双重作用(容器与输出);事件过程的编写;输入输出的简单实现;窗体、文本框、标签、命令按钮等基本控件的常用属性的动、静态设置等。
3、 实验中的创新及功能扩充: 实验收获与体会: 备注: 文章信息量很大! 软件开发技术基础 实验报告 学院:XX学院 班级:XX 姓名:XX 学号:XX 软件开发技术基础实验报告 实验名称:实验一顺序表的操作 班级学号姓名第周星期节成绩 一、实验目的: 1、掌握顺序表结构的实现方式; 2、掌握顺序表常用算法的实现; 3、熟悉利用顺序表解决问题的一般思路; 4、参照给定的顺序表的程序样例,验证给出的顺序表的常见算法,领会顺序表结构的优点和不足。 二、实验要求: 1、掌握顺序表的特点及常见算法。 2、提交实验报告,报告内容包括:目的、要求、算法描述、程序结构、主要变量说明、程序清单、调试情况、设计技
4、巧、心得体会。 三、实验内容: 1、设计一个静态数组存储结构的顺序表,要求编程实现如下任务: (1)建立一个顺序表,首先依次输人整数数据元素(个数根据需要键盘给定)。(2)删除指定位置的数据元素(指定元素位置通过键盘输入),再依次显示删除后的顺序表中的数据元素。 (3)查找指定数据的数据元素(指定数据由键盘输入),若找到则显示位置,若没有找到则显示0。 2、使用顺序表实现一个电话本的管理程序,电话本中的每条记录包括学号、姓名、手机号码和固定电话四项。要求实现菜单、初始化、添加、删除和显示等功能。 四、程序要求: 1、采用顺序表实现,假设该顺序表的数据元素个数在最坏情况下不会超过50个。 2、写
5、出完整的程序并能调试运行。 五、实验结果: 1、顺序表的结果: 2、电话簿的结果: 六、实验中遇到的问题及解决方法: 1.在删除数据的时候如果有两个一样的数时要怎样解决?解决方法:用while进行判断。 2.在删除操作中,删除函数中的l是指针,所以用-指向,而在主函数中l是结构体,用“.”。3.在查找的时候有一个返回值,而这个返回值是指针,所以在写查找函数的时候要把返回值类型写上。 七、实验心得体会: 一开始不知所措,首先应该有一个大的方向,把主程序编号,再逐步求精,落实到每一个函数的编写。对于c语言要熟练掌握,要熟悉循环等得操作,要熟练掌握顺序表中的插入,删除,查找,的基本函数。在此的基础上
6、灵活使用。附: 1、顺序表的程序:#include#include#include#include#definexxxx50 structSeqlist ;Seqlist*init() voidinsert(Seqlist*p) intnum=0;printf(请输入要键入的个数:);scanf(%d,&num);if(numlength=0;returnp;intdataxxxx;intlength;else printf(键入数据为:n);for(;num0;num-)p-length+;scanf(%d,p-data+p-length-1); if(p-length=xxxx) prin
7、tf(数组已满n);break;getchar();voiddeletee(Seqlist*p) intfind(Seqlist*p)inti=0;printf(请输入要删除元素的位置:);scanf(%d,&i);if(ip-length)printf(表中没有第%d个元素!n,i);else getchar();for(intj=i;jlength-1;j+)p-dataj-1=p-dataj;p-length-; intx;printf(请输入要查找的数据:);scanf(%d,&x);for(inti=0;ilength;i+) if(i=p-length)printf(数组中没有此数
8、据!n);if(p-datai=x) printf(此数据位于第%d个位置n,i+1);returni+1;getchar();return0;voiddisplay(Seqlist*p) intmain(void)Seqlist*p;for(inti=0;ilength;i+)printf(%-5d,p-datai);putchar(n);getchar(); p=init();charflag;printf(1-插入2-删除3-查找4-显示0-退出n);while(1) printf(请输入操作:);switch(flag=getchar()case1:insert(p);putchar(
9、n);break;case2:deletee(p);printf(删除后数据为:);display(p);putchar(n);getchar();break;case3:find(p);putchar(n);getchar();break;case4:printf(显示数据为:);display(p);putchar(n);break;case0:free(p);return0; 2、电话簿的程序:#include#include#include#includeusingnamespacestd;typedefstructcontact stringname;stringphonenumbe
10、r;stringphone;contact*next;CNT;claPhonebookpublic: Phonebook();CNT*Input();CNT*Turn_to_end();voidAdd();voidDelete();voidShowmenu();CNT*Find();voidShow_item(CNT*p);voidDisplay();voidModification();private:; Phonebook:Phonebook()head=newCNT;CNT*head; head-next=NULL;voidPhonebook:Show_item(CNT*p)coutna
11、mephonenumberphone voidPhonebook:Display() CNT*p;coutnext;p!=NULL;p=p-next)coutnamephonenumberphone cout CNT*Phonebook:Input() CNT*Phonebook:Turn_to_end() CNT*temp=head;while(temp-next!=NULL)coutnext;CNT*temp;temp=newCNT;couttemp-name;couttemp-phonenumber;couttemp-phone;temp-next=NULL;cout voidPhone
12、book:Add() voidPhonebook:Delete() CNT*p,*q;q=p=head;stringdata;coutdata;for(p=p-next;p!=NULL&p-name!=data&p-phonenumber!=data&p-phone!=data;CNT*temp,*p;temp=Input();p=Turn_to_end();p-next=temp;coutnext) q=p;if(p!=NULL)q-next=p-next;deletep; elsecout CNT*Phonebook:Find() CNT*p=head;stringdata;coutdat
13、a;for(p=p-next;p!=NULL&p-name!=data&p-phonenumber!=data&p-phone!=data;coutnext); if(p!=NULL)Show_item(p);else cout intmain()intselect;Phonebookphbook;CNT*p;p=Find();if(p!=NULL) coutp-name;coutp-phonenumber;coutp-phone; phbook.Showmenu();while(1) coutselect;getchar();switch(select)case0:exit(0);break
14、;case1:phbook.Add();break;case2:phbook.Display();break;case3:phbook.Delete();break;case4:phbook.Find();break;case5:phbook.Modification();break; return0; 实验名称:实验二链表的操作 (一) 班级学号姓名第周星期 节成绩 一、实验目的: 1、掌握单链表结构的实现方式; 2、掌握单链表常用算法的实现。 二、实验要求: 1、掌握链表的特点及常见算法。 2、提交实验报告,报告内容包括:目的、要求、算法描述、程序结构、主要变量说明、程序清单、调试情况、设
15、计技巧、心得体会。 三、实验内容: 1、设计一个链表,要求编程实现如下任务: (1)建立一个链表,首先依次输人整数数据元素(个数根据需要键盘给定)。(2)删除指定值的结点(指定值通过键盘输入),再依次显示删除后的链表中的数据元素。 (3)查找指定值的结点(指定数据由键盘输入),若找到则显示查找成功,若没有找到则显示查找失败。 (4)在第i个节点(i由键盘输入,i=0表示插入的结点作为第1个结点)之后插入一个元素为x的节点。 四、程序要求: 1、采用链表实现,假设该链表的结点数在最坏情况下不会超过40个。 2、写出完整的程序并能调试运行。 五、实验结果: 六、实验中遇到的问题及解决方法:问题:在
16、查找数据时显示的是一样的? 解决方法:在查找函数前要标明返回值的类型lnode*find。 七、实验心得体会: 首先要把书上的关于单链表的定义理解,在这个的基础上使用它。单链表通过结点在数据后附加后继元素的指针信息,可以更灵活的添加,删除,查找,插入,元素。要清楚指针的指向。首先要定义一个头结点,并且指针域要为空。将各个操作分别编写函数,有利于分块使用而且可以多次使用。附: #includeinta50,leng=0;voiddelet();voidchazhao();voidmain() coutleng;coutai;inty;couty;if(y=1)delet();couti;if(i
17、=leng)cout for(intj=i;jtemp;for(inti=0;i if(ai=temp)x=i+1;cout if(x=0)cout 实验名称:实验三链表的操作 (二) 班级学号姓名第周星期 节成绩 一、实验目的: 1、熟悉利用线性链表解决问题的一般思路; 2、参照给定的链表的程序样例,验证给出的链表的常见算法,了解单链表结构的优点和不足。 二、实验要求: 1、熟练掌握链表的使用,并能运用其解决些常规问题。 2、提交实验报告,报告内容包括:目的、要求、算法描述、程序结构、主要变量说明、程序清单、调试情况、设计技巧、心得体会。 三、实验内容: 1、使用链表实现一个电话本的管理程序
18、,电话本中的每条记录包括姓名和电话两项。要求实现菜单、初始化、添加、删除和显示等功能。 四、程序要求: 1、采用链表实现,假设该链表的结点数在最坏情况下不会超过40个。 2、写出完整的程序并能调试运行。 五、实验结果: 六、实验中遇到的问题及解决方法:1.实验结果版面不好看 解决方法:反复调试执行,每次都对自己不满意的地方进行一些改正。2.怎样比较name与s-name? 解决方法:用string.h中的strcmp函数。3.在传递数据时有问题? 解决方法:返回的值要注意数据类型,是指针还是整数等。 七、实验心得体会: 在应用中可以利用while实现选择,并根据选择用switch来完成选择。为
19、了简化编程,结点插入操作可仅仅在头部进行。单链表的方法使添加操作更加简便。不需要事先分配结点空间,而是在需要时动态的申请,节省了空间。、附: #include#include#include#includetypedefstructStudentcharstu_number12;charstu_name12;charstu_phone12;structStudent*next;STU; voidshow_menu()puts(1添加2删除3查找4插入5显示0退出); voidshow_item(STU*p)printf(|编号|学号|姓名|电话号码|n);printf(|1|%-12s|%-1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件技术 实验 报告
限制150内