计算机软件技术基础实验报告
电脑软件实验报告
实验名称:计算机软件应用实验实验日期:2023年3月15日实验地点:计算机实验室实验目的:1. 熟悉并掌握常用的电脑软件操作技巧。
2. 了解软件的功能及其在生活中的应用。
3. 提高计算机软件的使用效率。
一、实验内容1. 文字处理软件(Word)(1)实验目的:学习Word的基本操作,如新建文档、保存文档、设置字体格式、插入图片等。
(2)实验步骤:① 打开Word软件,新建一个空白文档;② 输入文字内容,并设置字体、字号、颜色等;③ 插入图片,调整图片大小和位置;④ 保存文档。
2. 电子表格软件(Excel)(1)实验目的:学习Excel的基本操作,如创建表格、输入数据、设置单元格格式、使用公式等。
(2)实验步骤:① 打开Excel软件,新建一个空白工作簿;② 创建表格,输入数据;③ 设置单元格格式,如字体、字号、颜色、边框等;④ 使用公式计算数据,如求和、平均值、最大值等。
3. 演示文稿软件(PowerPoint)(1)实验目的:学习PowerPoint的基本操作,如创建演示文稿、设置幻灯片背景、插入图片、添加动画等。
(2)实验步骤:① 打开PowerPoint软件,新建一个空白演示文稿;② 设置幻灯片背景,如颜色、图片等;③ 插入图片、文本框等元素;④ 添加动画效果,使演示文稿更具吸引力。
4. 网络安全软件(杀毒软件)(1)实验目的:学习网络安全软件的基本操作,如安装、卸载、更新病毒库、扫描电脑等。
(2)实验步骤:① 安装杀毒软件,如360安全卫士、瑞星杀毒等;② 更新病毒库,确保杀毒软件的病毒库是最新的;③ 扫描电脑,查找并清除病毒。
二、实验结果与分析1. 通过本次实验,掌握了Word、Excel、PowerPoint等常用软件的基本操作,提高了计算机软件的使用效率。
2. 在实验过程中,学会了设置字体格式、插入图片、使用公式、设置单元格格式、添加动画等技巧,为今后的学习和工作奠定了基础。
3. 在网络安全方面,学会了安装、卸载、更新病毒库、扫描电脑等操作,提高了网络安全意识。
计算机软件基础实验报告
计算机软件基础(二)实验报告实验一DOS和WINDOWS95系统的基本操作一、实验要求和目的1.熟悉MS-DOS环境。
2.掌握常用DOS命令的基本操作。
二、软硬件环境1.硬件环境:微机CPU 486以上,500MB以上硬盘,32M以上内存;2.软件环境:装有MASM 5.0、DEBUG、LINK和EDIT等应用程序。
三、实验涉及的主要知识单元●DOS的功能和组成:DOS的主要功能是管理磁盘文件,管理显示器、键盘、磁盘驱动器、打印机等各种设备,负责监视计算机及执行的处理过程,以便有效地利用系统资源,方便用户使用。
从内部来看,DOS是完成各种功能的一组程序。
版本不同,程序的数日也不同,但组成DOS的最主要的程序有四个,即命令处理模块(COMMAND.COM)、磁盘操作管理模块(MS-DOS.SYS)、输入输出接口模块(10.SYS)和一个引导程序。
存放DOS程序模块的磁盘称为DOS系统盘。
DOS提供了多条操作命令,对一般用户最常用的是有关文件操作、文件目录操作、磁盘操作和若干系统命令。
DOS的人机界面采用的是命令行方式。
●DOS的启动:DOS的启动就是从系统盘上把DOS装入内存并执行的过程。
启动MS-DOS应用程序,有三种方法:第一种方法:从“开始”菜单启动MS-DOS操作系统。
步骤为:1.在Windows XP界面状态,单击“开始”|“运行”命令,如图2-1-1所示。
图1-1 “运行”命令条2.在“运行”对话框中键入“cmd”,如图2-1-2所示,单击“确定”按钮。
图1-2 “运行”对话框3.操作系统界面随即进入MS-DOS模式。
如图2-1-3所示。
图 1-3 “运行”对话框第二种方法:单击“开始”|“程序”|“附件”|“命令提示符”命令即可启动MS-DOS操作系统。
第三种方法:在“我的电脑”或“资源管理器”中,一级一级打开驱动器和文件夹,直至找到需要运行的MS-DOS操作系统,双击启动程序文件。
计算机软件的实习报告三篇(共19页)
计算机软件的实习报告三篇[范文仅供参考,自行编辑使用]计算机软件的实习报告篇1实习背景为了将理论用于实践,巩固所学知识,提高自己发现问题并用所学知识分析问题和解决问题的能力,锻炼自己的工作能力,适应社会能力,自我管理能力,了解目前软件的应用情况,需求情况,发展方向及前景,为顺利毕业做好充分的准备,也为自己能顺利的与社会环境接轨做好准备.此次实习由学校统一组织安排,分两个阶段,两个方向进行系统的实习。
实习要求1、要求学生在实习过程中认真学习技术知识,积极与指导老师和同学配合;2、在前期,按时到勤,认真学习。
积极做好实习日志,能够理解当天的内容。
对技术的理论知识要及时实践;在后期,积极与同学沟通,认真完成项目要求的内容。
在这个过程中要与老师同学多做沟通,通过探讨项目的解决方案以及进展。
实习时间:20xx 年 8 月 5 日至20xx 年 9 月 23 日.实习环境实习单位名称:加拿大维多利亚加中教育集团实习地址:江苏无锡惠山区智慧路18号无锡惠山外包软件园实习基地概况:加拿大维多利亚教育集团位于加拿大经济中心多伦多,集团多年来以教育产业为主导,业务得到全面延伸。
10年间由1999年创建的培训中心,发展成为现在拥有高等大专学院、高端职业教育研发中心、人力资源公司、英语培训中心、移民留学服务中心及中国区集团等六个实体的跨地域性综合连锁教育集团,真正实现了“教育研发培训就业”一条龙服务。
10年间,维多利亚教育集团,获得了来自加拿大政府和社区的一致赞扬。
殊荣包括:“杰出华商奖”、“最佳社区贡献奖”、“最佳社区服务奖”、“帮助移民特殊贡献奖”等。
特别是10年连续举办了500多期公益讲座,内容涉及简历、面试、北美文化、英语、情商、心态调整等诸多讲座,让3万多人受益匪浅。
维多利亚教育集团已经和政府、银行及多家世界500强的企业建立学员直接录用关系,至今已举办过300多期现场招聘会,帮助1万多华人移民成功就业。
同时,集团更是十年如一日的为“加拿大家庭援助协会妇女服务中心”、“北美华人语言与文化交流协会”、“华人高级软件管理协会”、“加拿大华人青年联合总会”、“环球爱心教育基金会”等五个和移民生存直接相关的非盈利组织提供了直接而有力的支持。
计算机软件技术基础实验报告
}linklist;
体 linklist *creat()
{
实
int i;
linklist *head,*r,*q;
验
q=(linklist *)malloc(LEN);
head=q;
内
r=q;
q->next=NULL;
容
printf("Please input the number:\n");
scanf("%d",&i);
计算机软件技术基础实验报告
《计算机软件技术基础》实验报告
专 业 _____________ 年 级 _____________ 学 号 _____________ 学生姓名 _____________ 指导老师 _____________
南华大学计算机学院编
1 / 29
计算机软件技术基础实验报告
I 实验要求
while(p!=0)
{
printf("%d\n",p->data);
p=p->next;
}
}
void deletelist(int i,linklist *head)
{
linklist *p,*q;
int k=1;
p=head;
q=p->next;
3 / 29
计算机软件技术基础实验报告
while((q!=NULL)&&(i!=k)) {
实验一 线性表
【实验目的】
1.熟悉 VC 环境,学习如何使用 C 语言实现线性表的两种存储结构。 2.通过编程、上机调试,进一步理解线性表的基本概念,熟练运用 C 语言实现线性表基本操作。 3.熟练掌握线性表的综合应用问题。
计算机软件技术基础实验报告
学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年11月22日成绩:实验七SQL 简单查询、连接查询和子查询一、实验目的1.掌握在查询分析器中使用SELECT语句进行简单查询。
2.熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。
3.熟练掌握数据查询中的分组、统计、计算和组合的操作方法。
4.观察查询结果, 体会SELECT语句实际应用二、实验用软件和工具1.计算机。
实验软件 VC++ 6.02.SQL Server2005软件。
三、实验步骤1 简单查询操作此部分查询包括投影、选择条件表达、数据排序、使用临时表等。
对EDUC(shiyan6)数据库实现以下查询:(1)求信电学院的学生学号和姓名;(2)求选修了课程的学生学号;(3)求选修C1 课程的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列;(4)求选修课程C1 且成绩在80-90 之间的学生学号和成绩,并将成绩乘以系数0.75 输出;(5)求计算机系和数学系的姓张的学生的信息;(6)求缺少了成绩的学生的学号和课程号。
2 连接查询操作对EDUC(shiyan6)数据库实现以下查询:(1)查询每个学生的情况以及他(她)所选修的课程;(2)求学生的学号、姓名、选修的课程名及成绩;(3)求选修C1 课程且成绩在90 分以上的学生学号、姓名及成绩;(4)查询每一门课的间接先行课。
3.子查询操作,在数据库EDUC(shiyan6)中实现查询:学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年11月22日成绩:(1)求选修了高等数学的学生学号和姓名;(2)求C1 课程的成绩高于张三的学生学号和成绩;(3)求其他系中比计算机系某一学生年龄小的学生信息(即求其它系中年龄小于计算机系年龄最大者的学生);(4)求其他系中比计算机系学生年龄都小的学生信息;(5)求选修了C2 课程的学生姓名;(6)求没有选修C2 课程的学生姓名;(7)查询选修了全部课程的学生的姓名;(8)求至少选修了学号为“S2”的学生所选修的全部课程的学生学号和姓名。
计算机软件技术基础实验报告
学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月25日成绩:实验二栈和队列的基本操作一、实验目的1.掌握栈与队列的数据类型描述及特点;2.掌握栈和队列的存储;3.掌握栈的顺序和链式存储存表示与入栈、出栈操作的程序实现;4. 掌握队列的链式存储表示与入队、出队基本操作算法实现。
二、实验用软件和工具实验软件 VC++ 6.0三、实验步骤1.根据栈数据结构,分别建立一个顺序栈和链式栈并实现其上基本操作(出栈和入栈等),定义一个顺序栈和链栈结构体(队列结构体)。
2.利用入栈功能保存数据。
3.利用出栈删除弹出栈内信息。
4.根据队列数据结构,分别建立链队列和循环队列,并完成其上的基本操作(出入队列等),利用入队功能保存数据。
5.利用出队删除队列信息。
四、实验程序与程序运行结果顺序栈程序:sxz.h#include <iostream>using namespace std;template <class T>class sq_Stack{private:int mm;int top;T *s;public:sq_Stack(int);void prt_sq_Stack();void ins_sq_Stack(T x);T del_sq_Stack();T read_sq_Stack();学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月25日成绩:};template <class T>sq_Stack<T>::sq_Stack(int m){mm=m;s = new T[mm];top=0;return;}template <class T>void sq_Stack<T>::prt_sq_Stack(){int i;cout<<"top="<<top<<endl;for (i=top;i>0;i--) cout<<s[i-1]<<endl;return;}template <class T>void sq_Stack<T>::ins_sq_Stack(T x){if (top==mm){cout<<"overflow!"<<endl; return;}//存储空间已满,上溢错误top=top+1; //s[top-1]=x; //插入新元素return;}template<class T>T sq_Stack<T>::del_sq_Stack(){T y;if(top==0) //空,下溢错误{cout<<"underflow!"<<endl; return(0);}y=s[top-1]; //top=top-1; //长度减1return(y);}template<class T>T sq_Stack<T>::read_sq_Stack(){if(top==0) //空,下溢错误{cout<<"underflow!"<<endl; return(0);}return(s[top-1]);学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月25日成绩:}sxz.cpp#include "sq_Stack.h"int main(){sq_Stack<int> s(10);s.ins_sq_Stack(50);s.ins_sq_Stack(60);s.ins_sq_Stack(70);s.ins_sq_Stack(80);s.ins_sq_Stack(90);s.ins_sq_Stack(100);cout<<"第1次输出栈顶指针与栈中的元素:"<<endl;s.prt_sq_Stack();cout<<"输出栈顶元素:"<<s.read_sq_Stack()<<endl;cout<<"输出退栈的元素:"<<endl;cout<<s.del_sq_Stack()<<endl;cout<<s.del_sq_Stack()<<endl;cout<<s.del_sq_Stack()<<endl;cout<<"再输出栈顶指针与栈中的元素:"<<endl;s.prt_sq_Stack();return 0;}顺序队列程序:sq_Queue.h#include <iostream>using namespace std;template <class T>class sq_Queue{private:int mm;int front;int rear;int s;T *q;public:sq_Queue(int) ;void prt_sq_Queue();void ins_sq_Queue(T x);T del_sq_Queue();};template <class T>sq_Queue<T>::sq_Queue(int m){mm=m;q = new T[mm];front=mm;学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月25日成绩:rear=mm;s=0;return;}template <class T>void sq_Queue<T>::prt_sq_Queue(){int i;cout<<"front="<<front<<endl;cout<<"rear="<<rear<<endl;if ((s==0)&&(rear==front)){cout<<"队列空!"<<endl; return;}i=front;if (front>=mm)front=i%mm ;for (i=front; i<rear;i++){ cout<<q[i]<<endl;}return;}template <class T>void sq_Queue<T>::ins_sq_Queue(T x){if ((s==1)&&(rear==front)){cout<<"Queue_overflow!"<<endl; return;}//存储空间已满,上溢错误rear=rear+1; //if (rear==mm+1)rear=1;q[rear-1]=x; //插入新元素s=1;return;}template <class T>T sq_Queue<T>::del_sq_Queue(){T y;if (s=0){cout<<"Queue_underflow!"<<endl; return(0);}//存储空间已满,上溢错误front=front+1; //if (front==mm+1)front=1;y=q[front-1]; //插入新元素if (rear==front)s=0;return(y);}sq_Queue.cpp学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月25日成绩:#include "sq_Queue.h"int main(){sq_Queue<int> q(10);q.prt_sq_Queue();q.ins_sq_Queue(50);q.ins_sq_Queue(60);q.ins_sq_Queue(70);q.ins_sq_Queue(80);q.ins_sq_Queue(90);q.ins_sq_Queue(100);cout<<"输出队头与队尾指针及队列中的元素:"<<endl;q.prt_sq_Queue();cout<<"输出退队元素:"<<endl;cout<<q.del_sq_Queue()<<endl;cout<<q.del_sq_Queue()<<endl;cout<<q.del_sq_Queue()<<endl;cout<<"再输出队头与队尾指针及队列中的元素:"<<endl;q.prt_sq_Queue();return 0;}链栈:#include <iostream.h>#include <stdio.h>#include <stdlib.h>typedef char DateType;typedef struct node{DateType data;struct node* next;}LinkStack;LinkStack *top;void InitStack(){top=(LinkStack*)malloc(sizeof(LinkStack));top->next=NULL;top->data=0;cout<<"初始化链栈成功!";}void push(DateType x){LinkStack* s;s=(LinkStack*)malloc(sizeof(LinkStack));s->data=x;s->next=top;top=s;cout<<"入栈成功!";}学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月25日成绩:void pop(){LinkStack* s;s=top;if(s->next==NULL){cout<<"栈为空!";}else{top=s->next;free(s);cout<<"出栈成功";}}void readTop(){if(top==NULL){cout<<"栈为空!";}else{cout<<"栈顶元素为:"<<top->data;}}void showStack(){LinkStack* s;s=top;if(s->next==NULL){cout<<"栈为空!";}else{cout<<"链栈元素为:\n";cout<<"\t\t\t";while(s!=NULL){cout<<" "<<s->data;s=s->next;}}}void main(){int i,j;DateType x;while(j)学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月25日成绩:{cout<<"\n\n\n\n";cout<<"****************************************************************"<<endl; cout<<"*** 菜单:***"<<endl;cout<<"*** ①创建链栈②入栈③读栈顶元***"<<endl;cout<<"*** ④出栈⑤显示链栈元素⑥退出***"<<endl;cout<<"****************************************************************"<<endl; cout<<"请选择您所希望的操作:";cin>>i;if(i==1){InitStack();}else if(i==2){if(top==NULL){cout<<"请先初始化链表!";}else{cout<<"请输入要入栈的元素:";cin>>x;push(x);}}else if(i==3){pop();}else if(i==4){readTop();}else if(i==5){showStack();}else if(i==6){j=0;cout<<"程序结束\n";}}}链队列:#include <stdlib.h>#include<iostream.h>#define TRUE 1#define FALSE 0学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月25日成绩:typedef int QElemType;typedef struct LNode{QElemType data;struct LNode *next;}LNode , *LinkList;typedef struct{LinkList front;LinkList rear;}LinkQueue;//链式队列void InitQueue_L(LinkQueue &Q)//引用做参数,Q为结构体{//初始化队列Q.front=Q.rear=new LNode;if(!Q.front) {cout<<"存储分配失败!"<<endl; exit(1);}Q.front->next=NULL;}int IsEmpty(LinkQueue &Q){if(Q.front==Q.rear){return TRUE;}else{return FALSE;}}//创建队列,数据元素由键盘输入void CreateQueue_L(LinkQueue &Q){QElemType temp;LNode *p;cout<<"输入要插入的队列值(输入-1结束)"<<endl;cin>>temp;while(temp != -1){p=new LNode;p->data=temp;p->next=NULL;Q.rear->next=p;学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月25日成绩:Q.rear=p;cin>>temp;}cout<<"创建成功!"<<endl;}//入队操作int EnterQueue(LinkQueue &Q,QElemType x){//将数据元素x插入到队列Q中LNode *NewNode=new LNode;if(!NewNode) {cout<<"存储分配失败!"<<endl; exit(1);}if(NewNode!=NULL){NewNode->data=x;NewNode->next=NULL;Q.rear->next=NewNode;Q.rear=NewNode;cout<<"入队成功!"<<endl<<endl;return(TRUE);}else return(FALSE); //溢出}//出队操作int DeleteQueue(LinkQueue &Q,QElemType &x){//将队列Q的队头元素出队,并存放到x所指的存储空间中LNode *p;/*if(Q.front==Q.rear){cout<<"该队列为空!"<<endl;return(FALSE);}*/p=Q.front->next;x=p->data;Q.front->next=p->next; //队头元素p出队if(Q.rear==p) //如果队中只有一个元素p,则p出队后成为空队Q.rear=Q.front;free(p); //释放存储空间cout<<"出队成功!"<<endl<<endl;return(TRUE);}//队列长度int QueueLength_L(LinkQueue Q){int length=0;if(IsEmpty(Q)) cout<<"该队列为空!"<<endl;else学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月25日成绩:{LNode *p=new LNode;p=Q.front->next;while(p){length++;p=p->next;}}return length;}//输出队列元素void OutputQueue_L(LinkQueue Q){LNode *p=new LNode;if(!p) {cout<<"存储分配失败!"<<endl; exit(1);}if(Q.front==Q.rear) cout<<"该队列为空!"<<endl;else{p=Q.front->next;cout<<endl;cout<<"队列的元素依次为:";while(p){cout<<p->data<<" ";p=p->next;}cout<<endl<<endl;}}QElemType SearchQueue(LinkQueue &Q,int &i){LNode *p=new LNode;if(!p) {cout<<"存储分配失败!"<<endl; exit(1);}//if(Q.front==Q.rear) cout<<"该队列为空!"<<endl;int j=1;p=Q.front->next;while(p&&j<i){j++;p=p->next;}return p->data;}学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月25日成绩://销毁队列void DestroyQueue_L(LinkQueue &Q){while(Q.front){Q.rear=Q.front->next;delete Q.front;Q.front=Q.rear;}}void main(){int flag=1,select;LinkQueue Q;int x;while(flag){cout<<" ☆☆链式队列基本操作☆☆"<<endl;cout<<" ☆1.创建队列☆"<<endl;cout<<" ☆2.判断链队列是否为空☆"<<endl;cout<<" ☆3.队头元素出队☆"<<endl;cout<<" ☆4.新元素入队☆"<<endl;cout<<" ☆5.求队列长度☆"<<endl;cout<<" ☆6.输出队列元素☆"<<endl;cout<<" ☆7.查找第i个位置元素☆"<<endl;cout<<" ☆8.销毁队列☆"<<endl;cout<<" ☆9.其他键退出☆"<<endl;cout<<endl;cout<<"请选择操作:";cin>>select;switch(select){case 1:InitQueue_L(Q);CreateQueue_L(Q);OutputQueue_L(Q);break;case 2:if(IsEmpty(Q)) cout<<"该队列为空!"<<endl;else cout<<"该队列不为空!"<<endl;break;case 3:if(IsEmpty(Q)) {cout<<"队列为空!"<<endl; break;}学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月25日成绩:DeleteQueue(Q,x);OutputQueue_L(Q);break;case 4:if(IsEmpty(Q)) {cout<<"队列还未创建!"<<endl; break;}cout<<"输入要入队的元素x:";cin>>x;EnterQueue(Q,x);OutputQueue_L(Q);break;case 5:if(IsEmpty(Q)) {cout<<"队列还未创建!"<<endl; break;}cout<<"该链队列的长度为:"<<QueueLength_L(Q)<<endl<<endl;break;case 8:if(IsEmpty(Q)) {cout<<"队列还未创建!"<<endl; break;}DestroyQueue_L(Q);cout<<"销毁成功!"<<endl<<endl;break;case 7:cout<<"请输入要查找的位置i:";cin>>x;if(x<1||x>QueueLength_L(Q)) {cout<<"i值不合法!"<<endl; break;}cout<<"该元素为:"<<SearchQueue(Q,x)<<endl<<endl;break;case 6:OutputQueue_L(Q);break;default:flag=0;break;}}}试验运行结果如图:栈:学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月25日成绩:队列:链栈:学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月25日成绩:链队列:学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期:2013年10月25日成绩:五、实验心得与体会通过本次上机实验,我掌握了栈的顺序和链式存储存表示与入栈、出栈操作的程序实现,以及队列的链式存储表示与入队、出队基本操作算法实现。
计算机软件技术基础实验报告
学院:信电学院班级姓名:学号:课程:计算机软件技术基础实验日期:2013年11月24日成绩:实验九建立结构图和程序流程图一、实验目的1、掌握Microsoft visio环境。
2、掌握4种类型的模块;3、掌握建立系统结构图;4、掌握程序流程图的建立。
二、实验用软件和工具1.计算机。
2.VISIO软件。
三、实验步骤1 Microsoft OfficeVisio 环境和使用。
(1)模板:通过打开一个模板来开始创建Microsoft Office Visio图表。
模板在绘图页的左侧打开一个或多个模具。
模具包含创建图表所需的形状。
模板还包括创建特定的图表类型所需的所有样式、设置和工具。
(2)模具和形状:打开模板后,从模具中将形状拖到绘图页上来创建您的图表。
模具上的形状专门用于特定的绘图类型,并且其中的许多形状是“智能”的 - 它们具有感知绘图环境的内置行为。
(3)绘图环境:打开模板后,您将看到 Microsoft Office Visio 绘图环境,它包括菜单、工具栏、包含形状的模具、绘图页和位于绘图页右侧的任务窗格。
您在绘图页上创建绘图,所创学院:信电学院班级姓名:学号:课程:计算机软件技术基础实验日期:2013年11月24日成绩:建的绘图表示打印页面,并包含帮助调整形状位置的网格。
Visio 菜单和工具栏与其他Microsoft Office 系统程序中的菜单和工具栏类似,因此您可以用熟悉的方法打开、打印和保存图表。
(4)开始创建图表:1)打开模板:在“文件”菜单上,指向“新建”,然后单击“选择绘图类型”。
在“选择绘图类型”窗口的“类别”下,单击“软件”。
在“模板”下,单击“数据流模型图”。
2)添加形状:通过将“形状”窗口中模具上的形状拖到绘图页上,可以将形状添加到图表中。
把进程,接口,数据存储和数据流拖动到绘图页上。
3)删除形状:删除形状很容易。
只需单击绘图页上形状,然后按 DELETE 键。
单击图表中的最后一个“进程”形状,然后按 DELETE 键。
软件技术实习报告10篇
软件技术实习报告10篇软件技术实习报告10篇软件技术实习报告10篇软件技术实习报告(一):一、实习目的进一步了解java开发的相关知识,掌握java开发的基本技术,丰富java开发的实战经验。
学习SQL的基础知识及精确的运用方法,和有用的相关技术,不断提高自己的工作效率。
透过实习,培养我们综合运用Java语言的面向对象编程潜力;培养我们动手潜力;培养我们良好编程规范、编程方法;以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程潜力;强化自己的团队协作意识,了解软件开发的思考角度和业务流程主要包括流程。
为毕业之后能够更快地进入工作状态并且能够更好的工作,打好必须的基矗二、实习单位及文职人员介绍我的岗位是Java软件工程师。
实习期间参与人力资源管理系统的,根据开发规范和流程独立完成模块设计、编码、测试。
编写相关应用系统的开发文档、索引设计文档等。
较为详细和系统的模块掌握了软件开发的知识体系。
把所学知识与破解实际问题相联系,培养了自己发现风险问题、解决分析问题和解决问题的增长潜力,从而提高了自己从事实际从事组织工作的潜力。
三、实习资料及过程1、Java基础知识Java的基础知识对于一个Java软件工程师生命来说就好比是人的灵魂,此刻的公司在招聘的时候很多股份公司都不在乎你会不会流行的技术,如(Struts、Hibernate、Spring、ibatis等)。
他看重的是你的基础扎不扎实,对于网易、腾讯等大公司来说更是如此,我们运用在开发投资过程中运用了超多的Java基础知识,如类、对象、方法、成员变量、静态变量、封装、继承、多态、异常、接口、抽象类、IO流等等,所以一个系统内对于Java编程基础的依靠立马不言而喻。
2、MySQL、Oracle数据库MySQL是最流行的开放源码SQL数据库管理系统,它是由MySQLAB公司开发、发布并支持的。
MySQLAB是由多名MySQL开发人创办的一家商业公司。
软件基础实验报告
实验名称:软件基础实验实验日期:2023年4月15日实验地点:计算机实验室实验目的:1. 熟悉软件工程的基本概念和原则。
2. 掌握软件需求分析、设计、实现和测试的基本方法。
3. 培养团队协作和沟通能力。
实验内容:一、实验环境1. 操作系统:Windows 102. 编程语言:Java3. 开发工具:Eclipse4. 数据库:MySQL二、实验内容概述本次实验以一个简单的学生信息管理系统为例,通过实际操作,让学生了解软件开发的整个过程,包括需求分析、系统设计、编码实现和系统测试。
三、实验步骤1. 需求分析- 分析学生信息管理系统的功能需求,如学生信息录入、查询、修改、删除等。
- 分析非功能需求,如系统性能、安全性、易用性等。
2. 系统设计- 设计系统架构,包括前端界面和后端数据库。
- 设计数据库表结构,如学生信息表、课程信息表等。
- 设计界面布局和交互逻辑。
3. 编码实现- 使用Java语言实现学生信息管理系统的功能。
- 使用Eclipse开发工具进行编码。
- 使用MySQL数据库存储数据。
4. 系统测试- 进行单元测试,确保每个模块的功能正确。
- 进行集成测试,确保系统各模块之间能够正常工作。
- 进行性能测试,确保系统满足性能要求。
四、实验结果与分析1. 需求分析通过与用户沟通,明确了学生信息管理系统的功能需求和非功能需求,为后续开发奠定了基础。
2. 系统设计设计了合理的系统架构,包括前端界面和后端数据库,使得系统具有良好的可扩展性和易维护性。
3. 编码实现使用Java语言实现了学生信息管理系统的功能,包括学生信息录入、查询、修改、删除等,满足了需求分析中的功能需求。
4. 系统测试进行了单元测试、集成测试和性能测试,确保了系统的稳定性和性能。
五、实验总结通过本次实验,我们掌握了软件工程的基本概念和原则,熟悉了软件需求分析、设计、实现和测试的基本方法。
同时,培养了团队协作和沟通能力。
在实验过程中,我们遇到了一些问题,如数据库连接失败、界面布局不合理等。
熟悉软件的实验报告(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)编辑幻灯片:在幻灯片编辑区输入文字、插入图片、添加动画效果等。
计算机软件实习报告5篇
计算机软件实习报告5篇计算机软件实习报告1【实训目的】1、掌握系统安装的基本过程。
2、了解主机箱内部构造与实现系统安装.【实训条件】能正常运行的计算机、系统U盘、螺丝刀。
【实训任务】1、完成主机的拆装与组装。
2、完成系统的安装,并且计算机能够正常的运行。
【实训思考】1、说明了主机内部硬件每个的功能。
2、电脑不正常运行是主机箱内部的原因吗?【实训内容】系统安装:1、插入带有系统的U盘,启动电脑,不停的按Del.键,进入BOIS界面。
BOIS→FirstBootDevice→USB-HDD→按F10保存。
2、进入老毛桃界面→WinPE<适用老机>。
,3、进入桌面→按Ghost手动→ok→Local→partition→FromImage→寻找U盘里的Winpsp3.GHD文件,按确定→然后按系统默认选项,一直按OK,出现完成进度→完成进度实现后,按确定,电脑重启,并拔出U盘.4、第二次启动完成,系统装机成功。
硬件组装的主要部件:cpu(核心部件)、2.cpu散热器、3.主板、4.内存条、5.硬盘、6.软驱、7.光驱、8.电源、9.显卡、10.鼠标、11.键盘、12.显示器、13.主机箱,14.数据条。
硬件组装的过程:1、拆装机箱:安装底板和挡板;2、安装电源:将电源放在机箱上,电源的散热器朝机箱后并对准风扇孔。
用螺栓将电源固定;3、连接电源主板;4、连接散热器电源线;5、安装CPU散热器;6、安装内存;7、安装硬盘;8、安装光驱;9、安装显卡;10、连接机箱内部连线;11、整理并连接主板电源线;12、连接外设;13、完成机箱内部的连接后,合上机箱盖连接网线、电源、键盘、鼠标,显示器等设备;14、完成以上操作就可以接通电源,观察计算机是否正常运行。
计算机软件实习报告2一、实习目的搜集与毕业设计相关的资料,了解Web开发的基本原则,学习Web开发的相关知识,掌握Web开发的基本技术,丰富Web开发的实战经验。
计算机软件技术基础实验报告
学院:信电学院班级:姓名:学号:课程:计算机软件技术基础实验日期: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 安装向导的“欢迎”页上,单击“下一步”以继续安装。
软件技术实训报告(共6篇)
软件技术实训报告(共6篇)实训题目:邮件服务器的收发系统系别:专业:学号:姓名:指导教师:提交日期: 010 年月日一、实训题目用SMTP和POP3协议实现邮件服务器的收发系统二、实训目的实训是学生接触社会实际,提高综合职业素质,增强分析问题和解决问题能力的重要教学环节,也是培养人才的重要途径,通过实训巩固和加深课堂所学知识,学习掌握企业级开发的流程与具体操作方法;通过实训,培养“团队”精神和“开拓创新”能力,大力提倡和鼓励在开发过程中使用新方法、新技术,开拓思路,设计新算法、新创意,培养创造性的程序设计能力和锐意创新进取的精神;配合毕业论文写作,开展调查研究,培养面对现实问题的正确态度和独立地分析解决问题的能力;树立新的发展起点和目标,通过实训,认识社会的需要,发现自身差距,培养良好的职业精神,适应毕业后实际工作的要求,为我们以后进一步走向社会打下了坚实的基础。
三、实训时间四、实训地点五、实训部门或岗位实习生六、实训内容和过程6.1实训内容6.1.1协议的了解SMTP即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。
SMTP协议属于TCP/IP协议族,它帮助每台计算机在发送或中转信件时找到下一个目的地。
通过SMTP协议所指定的服务器,就可以把E-mail寄到收信人的服务器上了,整个过程只要几分钟。
SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转发出的电子邮件。
POP3即邮局协议的第3个版本,它是规定个人计算机如何连接到互联网上的邮件服务器进行收发邮件的协议。
它是因特网电子邮件的第一个离线协议标准,POP3协议允许用户从服务器上把邮件存储到本地主机上,同时根据客户端的操作删除或保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。
POP3协议是TCP/IP协议族中的一员,,由RFC 193定义。
计算机软件实习报告最新5篇
计算机软件实习报告最新5篇计算机软件实习报告1我是计算机工程系计算机网络技术(1)班学生__。
我于20__年11月28日接受学院的安排离校抵达苏州达方电子有限公司参加实习实训工作的,至今离开母校已经5个月之久了,对母校的思念难以言表。
现利用工作之余时间,把所有对母校的思念之情用实习报告形式向母校汇报:实习目的:1、生产实习是本专业学生的一门主要实践性课程。
是学生将理论知识同生产实践相结合的有效途径,是增强自我的群众性观点、劳动观点、工程观点和建设有中国特色社会主义事业的责任心和使命感的过程。
2、实习实训是学院规定的一种完成学业的重要形式之一,是校内教学的延续,而且是校内教学的。
3、使自己可以早日踏入社会,品味社会人生,培养自己的人生观、价值观,为营造美好未来打好基础。
实习内容:我的实习主要分为两个重要阶段,第一是20__年11月28日至20__年1月28日,苏州达方电子有限公司阶段;第二是2011年3月3日至今,张家港浦项不锈钢有限公司阶段。
第一:苏州达方电子有限公司阶段公司介绍:苏州达方电子有限公司是台湾明基集团之子公司,成立于1999年5月,投资总额4700万美金,目前员工约有10000人。
公司现位于占地200亩地的达方科技园内。
现阶段公司主要产品为键盘(Keyboard),鼠标(Mouse),表面粘着型变压器(SMD),电压变换器(Inverter)、压控镇荡器(VCO)和陶瓷积层电容(MLCC)。
为全球前一大的笔记型计算机键盘与前一大的23寸以上液晶电视背光模块点灯器(Inverter)制造商。
达方电子创立于1997年,秉持「热情务本、追求卓越、关怀社会」的企业文化,与「光电与精密组件的专家」的定位,专注于外围组件、电源组件、与整合通讯组件的研发与产品服务。
达方深耕于技术与研发,拥有近五百件的全球专利。
并以丰富的OEM/ODM合作经验,将产品行销至世界各大知名客户。
达方员工约有20000人,分布于台湾、中国大陆、日本、美国、及欧洲等世界营运据点。
计算机软件技术基础实验报告
“开始”--〉“设置”--〉“控制面板”—〉“管理工具”—〉“数据源(ODBC)”,打开之后出现如图1所示窗口。
图1点击“添加”按钮,出现图2。
图2选择SQL Server,点击“完成”,出现图3。
图3名称中填写所创建的数据源的名称,本例中为student,描述可以不填。
因为SQL Server的服务器和客户端均安装在本地计算机上,所以服务器为(local)。
如果本地计算机上只安装了客户端,服务器安装在另外的机器上,服务器为另一台机器的名称。
点击“下一步”,出现图4。
图4SQL Server如何验证ID的真伪,使用哪种方法要看安装SQL Server2000时选择的是哪种验证方式。
如果是Windows验证,选择使用网络登录ID的WindowsNT验证;如果是混合验证模式则要选择下面一种。
本例中采用Windows验证。
进入数据库无需另外的用户名和密码。
点击“下一步”,出现图5。
图5这里要更改默认的数据库,默认情况下数据源所连接的数据库为master,这里要改为student数据库。
点击“下一步”,出现图6。
图6这里无需修改,点击“完成”出现图7。
图7点击“测试数据源”,如果测试成功说明数据源已成功创建。
(3)创建VC应用程序。
打开VC++6.0,新建工程,如图8所示。
选择MFC AppWizard(exe),工程名为exec1,存放在D盘实验文件夹里。
图8点击“确定”,在出现的窗口中选择“单文档”,点击“下一步”,出现图9。
图9这里选择“查看数据库不使用文件支持”,还要选择数据源,点击“数据源…”,弹出如图10所示窗口。
图10选择“student”数据源,点击“OK”,在弹出的窗口中选择表dbo.s,点击“OK”返回图9所示的界面。
以后的创建步骤中没有需要修改的地方可以直接点击完成。
这样工程exec1就创建完成了,并且通过数据源与数据库发生了关联。
创建好的工程可以运行,结果如图11所示。
图11(4)界面设计在工作区左边的树型结构中,选择ResourceView,展开Dialog节点,双击IDD_EXEC1_FORM,打开该对话框。
计算机软件基础上机实验报告
计算机软件基础上机实验报告实验目的:通过本次实验,掌握计算机软件的基本操作、基本编程概念以及实现方法,并能对实验结果进行分析和总结。
实验设备:计算机硬件平台和软件平台。
实验内容:1.学习使用计算机软件的基本操作。
2.学习使用计算机软件进行编程。
3.编写一个简单的计算机软件,并进行测试。
实验步骤:1.打开计算机软件,并学习基本的操作方法。
包括如何创建、保存和打开文件,如何设置字体、颜色和格式等。
2.学习基本的编程概念和语法,包括变量、函数、条件语句和循环语句等。
3.编写一个简单的计算机软件,并进行测试。
假设我们要编写一个求解一元二次方程的软件。
首先,定义一个函数来计算方程的根。
然后,在主函数中输入方程的系数,并调用函数进行计算。
最后,输出结果。
实验结果分析:通过本次实验,我学会了如何使用计算机软件进行操作和编程。
在编写一元二次方程求解软件的过程中,我遇到了一些问题,如如何处理方程无解和有多个解的情况等。
为了解决这些问题,我添加了对方程判别式的计算和判断逻辑,从而得到了正确的结果。
实验总结:本次实验让我更加深入地了解了计算机软件的基本操作和编程概念。
通过编写一个简单的计算机软件,我不仅巩固了所学的知识,还锻炼了分析和解决问题的能力。
在今后的学习和工作中,我将继续深入学习和应用计算机软件,为实现更多的功能和创造更大的价值做出贡献。
此外,我还意识到在软件开发过程中应注重错误处理和逻辑判断,确保软件的稳定性和可靠性。
以上是本次计算机软件基础上机实验的报告,通过本次实验,我对计算机软件的基本操作和编程有了更深入的了解,并在实践中掌握了一些基本的编程技巧和方法。
这将为我今后的学习和工作奠定坚实的基础。
计算机软件技术基础实验报告
计算机软件实验报告姓名:班级:学号:指导教师:实验一线性表的基本操作一、实验目的与基本要求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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机软件技术基础实验报告自动化0901班郝万福学号:20092395实验1:线性表的排序与查找目的:掌握数据结构的基本概念、线性表的基本操作以及查找和排序方法的设计。
内容:键盘输入一组无序数据,添加到线性表中;排序线性表并输出排序结果;键盘输入一个数,并插入到排好序的线性表中(要求插入后的表仍为有序表),输出结果;键盘输入一个数,并从线性表中删除相应的数据,输出结果。
要求:程序清单;运行过程及运行结果。
实验代码:/*班级:自动化 0901 班姓名:郝万福学号:20092395编译环境: Visual Studio 2011Windows 7 x86-64 旗舰版*/#include"stdafx.h"#include"iostream"#include<conio.h>// 程序实现有各种方法,这里给出一个实例。
// 定义一个线性表const int nMaxSize = 15; // 最大值int nLen = 0; // 表中元素个数int nLinearList[nMaxSize];// 定义操作void LSort();void LOut();void LInsert(int n);void LDelete(int n);int main(){// 输入数据并放入线性表中printf("Please input data\n"); // std::cout << "Please input data\n";int nIn = 0;for (int i = 0; i <= 9; i++){scanf("%d",&nIn); // std::cin >> nIn;nLinearList[i] = nIn;nLen++;}LSort(); // 排序线性表LOut(); // 输出结果printf("Please input a data to insert \n");scanf("%d",&nIn);LInsert(nIn); // 输入一个数字,并插入到线性表中LOut();printf("Please input a data to delete \n");scanf("%d",&nIn);LDelete(nIn); // 输入一个数字,并从线性表中删除LOut();char chTmp;printf("Please input a char to finish this program.");chTmp = getch();return 0;}void LSort() // 冒泡排序,由大到小{for(int j=0;j<=10;j++){for (int i=0;i<11-j;i++)if (nLinearList[i]<nLinearList[i+1]){int temp=nLinearList[i];nLinearList[i]=nLinearList[i+1];nLinearList[i+1]=temp;}}}void LOut(){printf( "\n");for (int i = 0; i < nLen; i++){printf( "%d, ", nLinearList[i] );}printf( "\n");}void LInsert(int n){ nLen++;nLinearList[nLen] = n;for(int k=0;k<=nLen;k++){for (int l=0;l<nLen+1-k;l++)if (nLinearList[l]<nLinearList[l+1]) {int temp=nLinearList[l];nLinearList[l]=nLinearList[l+1]; nLinearList[l+1]=temp;}}}void LDelete(int n){int b=1;for(int k=0;k<=nLen;k++){if(n==nLinearList[k]) {b=0;}if(b==0){nLinearList[k]=nLinearList[k+1];}}nLen--;}实验结果:实验2:栈与队列的应用目的:掌握栈与队列的基本概念、基本操作及设计与应用。
内容:键盘输入算数表达式,并放入队列当中;应用栈的概念设计表达式求值算法;输出表达式求值结果;要求:程序清单;运行过程及运行结果。
要求:实现实验内容的SQL语句,以及输出结果为检验实验内容的有效性而执行的SQL语句,例如向数据表中插入数据;检验运行结果(例如插入、删除)的SQL语句,以及输出的结果。
实验代码:/*班级:自动化 0901 班姓名:郝万福学号:20092395编译环境: Visual Studio 2011Windows 7 x86-64 旗舰版*/#include"stdafx.h"#include<iostream>#include<string.h>#include<conio.h>#include<complex>using namespace std;const int MAX_LEN = 10; // 字符串的长度const int MAX_SIZE = 30; // 栈或队的最大元素个数// 定义一个队列的结构struct QUEUE {int nMaxSize; // 最大值int nCount; // 个数int nFront; // 头int nRear; // 尾char szQueue[MAX_SIZE][MAX_LEN];} QQ;//定义一个栈的结构struct STACK {int nMaxSize; // 最大值int nTop; // 栈顶char szStack[MAX_SIZE][MAX_LEN];} ST;// 队列的操作void InitQueue(QUEUE *q,int nMaxSize){q->nMaxSize=nMaxSize;q->nCount=0;q->nFront=0;q->nRear=0;}void InQueue(QUEUE *q, char *pItem){if (q->nMaxSize == q->nCount){printf("队列已满\n");getch();return 0;}q->nCount++;int i ;for(i=0;i<10;i++){q->szQueue[q->nFront][i]= pItem[i];}q->nFront ++;return;}void OutQueue(QUEUE *q, char *pItem){if (q->nCount == 0){printf("队列已空\n");getch();return 0;}q->nCount--;int i ;for(i=0;i<10;i++){pItem[i] = q->szQueue[q->nRear][i];}q->nRear ++;return;}//栈的操作void InitStack(STACK *s,int nMaxSize){s->nMaxSize=nMaxSize; // 最大值s->nTop=0; // 栈顶}void PushStack(STACK *s, char *pItem){if (s->nTop == s->nMaxSize - 1){printf("堆栈已满\n");getch();return 0;}for( int i=0;i<10;i++){s->szStack[s->nTop][i]= pItem[i];}s->nTop++;}void PopStack(STACK *s, char *pItem){if (s->nTop == 0){printf("堆栈已空\n");getch();return 0;}s->nTop--;for(int i=0;i<10;i++){pItem[i] = s->szStack[s->nTop][i];}}void GetTopStack(STACK *s, char *pItem){for(int i=0;i<10;i++){pItem[i] = s->szStack[s->nTop-1][i];}}int Priority(char *op); // 获得操作符的优先级void Compute(char *num1, char *num2, char *op, char *chResult); // 计算表达式的值int main(){int i=0;char c,temp[10] ;// 声明一个队列QUEUE qq;InitQueue(&qq,MAX_SIZE);// 声明OS栈和NS栈STACK ns,os;InitStack(&ns,MAX_SIZE);InitStack(&os,MAX_SIZE);char x[MAX_LEN]; // 定义扫描的表达式char op[MAX_LEN]; // 栈顶运算符char num1[MAX_LEN], num2[MAX_LEN]; // 两个操作数char chResult[MAX_LEN]; // 运算结果printf("Input expression please:\n");while((c=getchar())!='\n') {if(isdigit(c)){temp[i++]=c;}else{for(;i<10;i++){temp[i]='\0';}InQueue(&qq,temp);temp[0]=c;InQueue(&qq,temp);i=0;}};// 表达式p求值OutQueue(&qq, x); // 扫描表达式PushStack(&os,";"); // ;压栈while (true){if (isdigit(x[0])) // 是数{PushStack(&ns,x);OutQueue(&qq, x);}else// 认为是运算符,没有考虑空格等{GetTopStack(&os, op); // 获得OS栈顶运算符if (Priority(x) > Priority(op)) // 运算符的优先级〉栈顶运算符 {PushStack(&os,x);OutQueue(&qq, x);}else if (x[0]== ';' && op[0] == ';') // 扫描结束{printf("最终的答案是%s",chResult);break;}else if (Priority(x) <= Priority(op)) // 不大于栈顶运算符 {PopStack(&ns,num1);PopStack(&ns,num2);PopStack(&os,op);Compute(num1, num2, op, chResult);PushStack(&ns,chResult);}}}getch();return 0;}int Priority(char *op ){int nPriority = 0;switch (op[0]){case'^':nPriority = 3;break;case'*':case'/':nPriority = 2;break;case'+':case'-':nPriority = 1;break;case';':nPriority = 0;}return nPriority;}void Compute(char *num1, char *num2, char *op, char *chResult) {double fNum1,fNum2;double fResult = 0;fNum1 = atof(num1);fNum2 = atof(num2);switch (op[0]){case'^':fResult = pow(fNum2,fNum1);break;case'*':fResult = fNum1*fNum2;break;case'/':fResult = fNum2/fNum1;break;case'+':fResult = fNum1+fNum2;break;case'-':fResult = fNum2-fNum1;break;}sprintf(chResult,"%.4f",fResult); //把计算的结果转化为字符串return;}实验结果:实验3:关系数据语言的应用目的:掌握SQL基本语句,实现数据库、表的创建,以及增删改和查询操作。