资源描述
久其报表软件基本操作流程正式版
久其报表软件基本操作指引
一、装入新参数
1、首先安装报表处理软件,安装完成后出现“2021年度企业财务决算报表”界面,在出现的关联任务设置对话框中,选择“关闭”
2、 选择“是”
3、 软件安装后再安装参数。鼠标左键双击报表软件图标进入报表处理软件界面→点击左上角的“装入”
4、 出现数据装入向导界面,点击数据位置右侧的文件夹标识,查找数据位置,选中参数
5、 点击下一步”,选择“报表参数”和 “装入到新建任务”
6、 进入“装入新建任务”界面,点击“确定”
7、 点击“下一步”
6、选择“开始”
7、点击“确定”
8、选择“是”
二、数据录入
1、选择“2021年度清华财务决算报表”界面左上角的“编辑”
2、出现报表封面界面,点击左上角“新增”,即可录入报表封面
3、录入完毕后点击“保存”
4、其他表格的填写与本表相同,操作步骤为:填写数据→运算→审核→保存。个别明细项目的数据取自其他附注表,因此在“审核”前应点击“运算”按钮或“工具-相关表运算”,数据将自动过入到该张附注表。
5、增加浮动行和删除浮动行
光标定位在要增加的行,单击工具栏的“插行”按钮,如需删除多余的行,单击“删行”按钮即可
6、全部表格填写完毕后,点击工具栏的“全审”按钮,软件会对当前的这套报表进行审核
审核完毕后会提示审核结果信息。具体见《用户手册》第20页。
7、查看和导出审核结果
(1) 鼠标双击出错数据中的单元格标识,软件会快速定位到指定单元格,以便查看出错具体信息及数据修改。
(2)在提示信息区域,单击鼠标右键选择“导出全审结果”,可导出本次审核的结果。
8、查看数据汇总来源
如需查看某一个数据的具体来源,首先选中单元格,单击鼠标右键选择“显示汇总明细”,显示数据是从哪些单位汇总上来。然后点击左上角的“导出”按钮,可将汇总明细导出到excel或文本文件中。
三、数据汇总
(一) 节点汇总
如需将数据进行汇总,可使用“节点汇总”功能。节点汇总用于对树形结构中的各个节点数据进行汇总。
1、选择要汇总的单位名称(前面带的单位名称),单击鼠标右键,出现“节点汇总直接下级”和“节点汇总所有下级”(“节点汇总直接下级”只汇总该单位的直属户,“节点汇总所有下级”汇总所有下级节点数据)
2、选择要汇总的单位名称后,选择“本级节点”和“汇总至集团”,单击“汇总”按钮,完成汇总操作后点击“关闭”
注:汇总至集团:将集团中所有的单户数据与差额表数据相加,生成的合计数放在合并表中。
调整差额表:将合并表的数据减去集团中所有基层数据的合计数,生成的结果放在差额表中。
(二) 浮动行汇总
节点汇总不能汇总浮动行表格,需手动汇总,
1、 选择要汇总的浮动表,如“在建工程情况”表。
2、 选择菜单中的“应用-汇总下级浮动数据-汇总直接下级”
3、 在“浮动汇总方式设置”中点击“合并依据”下面的单元格
4、选择“对应字段”,点击“确定”
5、返回“浮动汇总方式设置”,“保存设置”后“执行汇总”
四、数据传送
(一)导出jio报表数据
1、选择左上角的“传送-数据传出”
2、选择“传出参数或选择数据及测算分析参数”,选择“下一步”
3、选择“单位数据”,如导出全部单位数据可直接点击“下一步”,如导出个别单位数据,点击“选择单位”
4、选择需导出数据的单位名称,然后“确定”
5、选择数据存放位置
6、完成数据传出
(二)导出excel文档
1、选择左上角的“传送-导出excel文档”
2、选择需要传出数据的单位名称,选择“确定”
3、选择导出文件的存储位置,点击“确定”
分享到
excel表格的基本操作教程
excel表格功能非常强大,我们可以利用它收集记录数据,也可以进行简单的统计计算,还有很多函数功能可以利用,比如可以求和,求平均数,排序等,现在我简单的说一下它的基础操作。
工具/原料
· 装有excel的电脑
excel表格的基本操作
1. 打开excel表格
点击电脑左下角“开始”,选择“所有程序”-Microsoft Office-Microsoft excel 2003就可以打开电子表格了,也可以点击任务栏中电子表格按钮打开电子表格。
2. 认识表格。
电子表格可分为菜单栏,工具栏,标题栏,名称框,公式编辑框,工作表标签和绘图工具栏几个部分。
3. 保存方法。
刚刚知道了电子表格的打开方法,现在再来看一下电子表格式怎么保存的。
可以单击菜单“文件”选择“保存”,输入文件名就可以了,也可以单击工具栏上的保存按钮,如图所示。
4. 关闭方法。
电子表格的关闭有两种方法,可以单击菜单栏右上角“关闭”按钮。
也可以点击菜单中“文件”-“关闭”。
5. 数据输入。
单击选中要编辑的单元格,输入内容。这样可以把收集的数据输入电子表格里面保存了。
6. 格式设置。
可以对输入的内容修改格式。选中通过字体,字号,加黑等进行设置,换颜色等。
这些都是电子表格的基本操作。只是最基础的内容,如果想学的更多,还需要多加练习。在实际操作中提高,熟能生巧。
各位吧友,大家好,现放出这则产品使用和评测与大家分享! 作为专业的卖家,经常被买家询问到,万用表如何使用,有无图片或视频说明书,厂家的说明书太简单了等等问题,其实现在万用表的利润已越来越薄,如果厂家再制作一份精美的彩页说明书,成本要增加几块钱,这对于零售价不到10元的万用表来说,是不可取的。当然出厂价1欧元,放在沃*玛卖5欧元的东西例外。。。 好了,闲话不多说了,言归正传,测试前,需要准备以下东西,我专针对一般业余用户来说,比较好找的东东。
1、普通5号或7号电池一节(图片为5号电池);
2、二极管一个(图片为1N4007);
3、10K电阻一个(图片为精密电阻10K欧);
4、100K电阻一个(图片为精密电阻100K欧);
5、三极管一个(图片为9015,PNP型);
6、9V电池一个(国片为6F22,9V方形,叠层电池);
7、。。这个比对大小用,大家略过。。
8、家里普通电源插座一个。。
一、直流电压部分1、直流20V档,测量9V电池:
1A、功能旋钮拨到DCV 20处,黑表笔插COM(最下),红表笔插VΩmA(中间孔);
1B、红表笔接电池正极,黑表笔接电池负极;
1C、在屏幕上直接读数,如图示值,该电池电压为9.63V。
1D、该表有自动极性显示功能,当表笔接错电池极性时,会在前面显示负号,如图显示为-9.63V,表笔接错极性,不会损坏仪表,请放心测量。
2、直流电流2000mV档,测量5号电池;
2A、功能旋钮拨到DCV 2000m处,黑表笔插COM(最下),红表笔插VΩmA(中间孔);
2B、红表笔接电池正极,黑表笔接电池负极;
2C、在屏幕上直接读数,如图示值,该电池电压为1613mV,请注意,此处的单位是mV哦。
二、交流电压部分
A、功能旋钮拨到ACV 750处(因为家里插座电压大于220V,所以要拨到750V这档),这类电压危险,请测量时小心,以免电到或损坏仪表;
B、黑表笔插COM(最下),红表笔插VΩmA(中间孔);
C、请红黑表笔接到待测量插座,交流电压无极性,所以正反接表笔时,不会显示负号;
D、如图所示,显示231V,即为此时家里电压的数值,其值一般在200V~240V之间,一般白天电压稍高,晚上用电高峰时,电压稍低。
三、直流电流部分1、测量一般设备的耗电情况
1A、功能旋钮拨到DCA 20m处,黑表笔插COM(最下),红表笔插VΩmA(中间孔);
1B、打开另一台万用表的电池仓,取出电池,将电池与电池扣的一极(任一极)分离,另一极保持不动;
1C、将红表笔接分离出来的电池扣,将黑表笔接分离出来的电池电源极;
1D、将待测量仪表开机,为了检测方便,在连接表笔前开机,也可以;
1E、此时测量的万用表,将显示被测仪表的耗电流,图中为2.66mA,以电池电压为10V,则该仪表的耗电为P=UI=10V*2.66mA=0.0266VA,不到0.03W;
2、测量一般电池的短接放电电流
2A、功能旋钮拨到10A处,黑表笔插COM(最下),红表笔插10A(最上孔);
2B、红黑表笔分别接电池的正负极,极性如果接反,仪表将显示负号,但不影响测量值,也不会损坏仪表。
2C、此测量方式,因为电池放电电流大,长期测量会对电池有损伤,请尽量缩短测量时间,最长不宜超过10秒钟。
四、电阻测量部分
1、测量10KΩ时
1A、功能旋钮拨到Ω 20K处,黑表笔插COM(最下),红表笔插VΩmA(中间孔);
1B、红黑表笔分别接电阻的2只此脚即可;
1C、注意,要接触紧;另外测量大电阻时,请不要用手碰触到电阻脚或表笔针,以免引入测量误差。
1D、如图示,显示的是10.01KΩ2、测量10KΩ时
2A、功能旋钮拨到Ω 200K处,黑表笔插COM(最下),红表笔插VΩmA(中间孔);
2B、红黑表笔分别接电阻的2只此脚即可;
2C、注意,要接触紧;另外测量大电阻时,请不要用手碰触到电阻脚或表笔针,以免引入测量误差。
2D、如图示,显示的是100.1KΩ五、二极管测量
A、功能旋钮拨到二极管(二极管符号,介于200和hFE之间)处,黑表笔插COM(最下),红表笔插VΩmA(中间孔);
B、红表笔接二极管的正极(阳极),黑表笔接二极管的负极(阴极);
C、当极性接入正常时,显示二极管正向导通电压降;
D、如图此1N4004的管为硅二极管,导通压降为594mV;
E、极性接错时,将显示溢出,二极管反向截止。
六、三极管测量
A、功能旋钮拨到hFE处,hFE为三极管放大倍数的简称;
B、将三极管对好NPN或PNP,并选择合适的EBC插入;
C、图片所示,9015为PNP管,所以插入三极管插座的PNP极性的EBC三极中;
D、液晶显示417,为此管子的hFE参数;
E、太短的引脚,或拆机件,可能会因插不到底而不能测量。
后记:仓促完稿,如有出入或疑问的地方,欢迎回贴交流指正,谢谢!
实验二线性表的基本操作
一、实验目的
1.掌握用C++/C语言调试程序的基本方法。
2.掌握线性表的顺序存储和链式存储的基本运算,如插入、删除等。
二、实验要求
1.C++/C完成算法设计和程序设计并上机调试通过。
2.撰写实验报告,提供实验结果和数据。
3. 分析算法,要求给出具体的算法分析结果,包括时间复杂度和空间复杂度,并简要给出算法设计小结和心得。
三、实验内容:
1.分析并运行以下各子程序的主要功能。
程序1:顺序存储的线性表和运算
#include<stdio.h>
#define MAXSIZE 100
int list[MAXSIZE];
int n;
/*insert in a seqlist*/
int sq_insert(int list[], int *p_n, int i, int x)
{int j;
if (i<0 || i>*p_n) return(1);
if (*p_n==MAXSIZE) return(2);
for (j=*p_n+1; j>i; j--)
list[j]=list[j-1];
list[i]=x;
(*p_n)++;
return(0);
}
/*delete in a seq list*/
int sq_delete(int list[], int *p_n, int i)
{int j;
if (i<0 || i>=*p_n) return(1);
for (j = i+1; j<=*p_n; j++)
list[j-1] = list[j];
(*p_n)--;
return(0);
}
void main()
{int i,x,temp;
printf("please input the number for n\n");
printf("n=");
scanf("%d",&n);
for (i=0; i<=n; i++)
{printf("list[%d]=",i);
scanf("%d",&list[i]);}
printf("The list before insertion is\n");
for (i=0; i<=n; i++) printf("%d ",list[i]);
printf("\n");
printf("please input the position where you want to insert a value\nposition=");
scanf("%d",&i);
printf("please input the value you want to insert.\nx=");
scanf("%d",&x);
temp=sq_insert(list,&n,i,x);
switch(temp)
{case 0:printf("The insertion is successful!\n");
printf("The list is after insertion is\n");
for(i=0; i<=n; i++) printf("%d ",list[i]);
printf("\n");
printf("%d\n",n);
break;
case 1:
case 2:printf("The insertion is not successful!\n");break;}
/*deleting*/
printf("The list before deleting is\n");
for (i=0; i<=n; i++) printf("%d ",list[i]);
printf("\n");
printf("please input the position where you want to delete a value\nposition=");
scanf("%d",&i);
temp=sq_delete(list,&n,i);
switch(temp)
{case 0:printf("The deleting is successful!\n");
printf("The list is after deleting is\n");
for(i=0; i<=n; i++) printf("%d ",list[i]);
printf("\n");
printf("%d",n);
break;
case 1:printf("The deleting is not successful!");break;}
}
2.分析并运行以下各子程序的主要功能。
程序2链式存储的线性表和运算
#include<stdio.h>
#include<malloc.h>
struct node{
char data;
struct node *next;
};
typedef struct node NODE;
/*This function creates a link_list with N nodes.*/
NODE *create_link_list(int n)
{int i;
NODE *head, *p, *q;
if (n==0) return NULL;
head = (NODE *) malloc(sizeof(NODE));
p = head;
printf("Please input %d chars for the link list\n",n);
for (i=0; i<n; i++)
{scanf("%c ", &(p->data));
q=(NODE *)malloc(sizeof(NODE));
printf("test3\n");
p->next=q;
p=q;}
scanf("%c ",&(p->data));
getchar();
p->next=NULL;
return (head);}
/*This function inserts a node whose value is b*/
/*before the node whose value is a, if the node is not exist,*/
/*then insert it at the end of the list*/
void insert(NODE **p_head, char a, char b)
{NODE *p, *q;
q = (NODE *)malloc(sizeof(NODE));
q->data = b;
q->next =NULL;
if (* p_head == NULL) * p_head = q;
else
{p=(NODE*)malloc(sizeof(NODE));
p = * p_head;
while (p->data != a && p->next != NULL)
p = p->next;
q->next = p->next;
p->next = q;}
}
/*The function deletes the node whose value is a,*/
/*if success, return 0, or return 1*/
int deletenode(NODE **p_head, char a)
{NODE *p, *q;
q=*p_head;
if (q==NULL) return(1);
if (q->data == a)
{* p_head = q->next;
free(q);
return (0);}
else
{while (q->data != a && q->next != NULL)
{p = q;
q = q->next;}
if (q->data == a)
{p->next = q->next;
free(q);
return(0);}
else return(1);}
}
void main()
{ NODE *my_head,*p;
/* create a link list with m nodes */
int m;
char ch_a,ch_b;
printf("please input the number of nodes for the link_list\nm=");
scanf("%d",&m);
getchar();
printf("test1\n");
my_head = (NODE *) malloc(sizeof(NODE));
my_head=create_link_list(m);
/*Output the link list*/
printf("The link list is like:\n");
p=my_head;
while (p != NULL)
{printf("%c ",p->data);
p=p->next;
}
printf("\n");
/*insert a node whose value is b before a*/
printf("Please input the position for a\n ch_a=");
getchar();
scanf("%c",&ch_a);
getchar();
printf("Please input the value that you want to insert\n ch_b=");
scanf("%c",&ch_b);
getchar();
insert(&my_head,ch_a,ch_b);
printf("The link list after insertion is like:\n");
p=my_head;
while (p != NULL)
{printf("%c ",p->data);
p=p->next;
}
printf("\n");
/*delete a node whose value is a*/
printf("Please input the position for a a=");
scanf("%c",&ch_a);
getchar();
deletenode(&my_head,ch_a);
printf("The link list after deleting is like:\n");
p=my_head;
while (p != NULL)
{printf("%c ",p->data);
p=p->next;
}
printf("\n");
}
3.运行以下程序并分析各子函数的主要功能。
#include <stdio.h>
#include <stdlib.h>
struct tagNode
{
int data;
struct tagNode *pNext;
};
typedef struct tagNode* pNode;
//将结点插入到链表的适当位置,这是一个降序排列的链表
//
void insertList(pNode head,//链表头结点
pNode pnode)//要插入的结点
{
pNode pPri=head;
while (pPri->pNext!=NULL)
{
if (pPri->pNext->data<pnode->data)
{
pnode->pNext=pPri->pNext;
pPri->pNext=pnode;
break;
}
pPri=pPri->pNext;
}
if (pPri->pNext==NULL)//如果要插入的结点最小
{
pPri->pNext=pnode;
}
}
//输出链表
void printLinkedList(pNode head)
{
pNode temp=head->pNext;
while (temp!=NULL)
{
printf("%d ",temp->data);
temp=temp->pNext;
}
}
//从链表中删除结点
void delformList(pNode head,int data)
{
pNode temp=head->pNext;
pNode pPri=head;
while (temp!=NULL)
{
if (temp->data==data)
{
pPri->pNext=temp->pNext;
free(temp);
break;
}
pPri=temp;
temp=temp->pNext;
}
}
void main()
{
pNode head=(pNode)malloc(sizeof(struct tagNode));//给头指针分配空间
pNode pTemp=NULL;
int temp;
head->pNext=NULL;//比较好的习惯就是分配好空间,马上赋值
printf("请输入要放入链表中的数据,以-1结尾:");
//读入数据,以-1结尾,把数据插入链表中
scanf("%d",&temp);
while (temp!=-1)
{
pTemp=(pNode)malloc(sizeof(struct tagNode));
pTemp->data=temp;
pTemp->pNext=NULL;
insertList(head,pTemp);
scanf("%d",&temp);
}
printf("降序排列的链表为:\n");
printLinkedList(head);
printf("\n");
//下面的代码当删除函数编写成功后,可以取消注释,让其执行,主要是调用函数实现链表结点的删除
//printf("请输入要删除数,以-1结尾:");
//scanf("%d",&temp);
//while (temp!=-1)
//{
// delformList(head,temp);
// scanf("%d",&temp);
//}
//printf("删除节点后,链表中剩余数据为:");
//printLinkedList(head);
//printf("\n");
}
四、思考与提高
试将以上链表改为有序表,并分析有序表有哪些显著的优点和缺点?
库函数载和常量定义:(代码,C++)
#include<iostream>
using namespace std;
const int MaxSize=100;
(1)顺序表存储结构的定义(类的声明):(代码)
template <class datatype> //定义模板类SeqList
class SeqList
{
public:
SeqList( ); //无参构造函数
SeqList(datatype a[ ], int n); //有参构造函数
~SeqList(){}; //析构函数为空
int Length(); //求线性表的长度
datatype Get(int i); //按位查找,取线性表的第i个元素
int Locate(datatype item); //查找元素item
void Insert(int i, datatype item); //在第i个位置插入元素item
datatype Delete(int i); //删除线性表的第i个元素
void display(); //遍历线性表,按序号依次输出各元素
private:
datatype data[MaxSize]; //存放数据元素的数组
int length; //线性表的长度
};
(2)初始化顺序表算法实现(不带参数的构造函数)
/*
*输入:无
*前置条件:顺序表不存在
*功能:构建一个顺序表
*输出:无
*后置条件:表长为0
*/
实现代码:
template <class datatype>
SeqList<datatype>:: SeqList( )
{
length=0;
}
(3)顺序表的建立算法(带参数的构造函数)
/*
*输入:顺序表信息的数组形式a[],顺序表长度n
*前置条件:顺序表不存在
*功能:将数组a[]中元素建为长度为n的顺序表
*输出:无
*后置条件:构建一个顺序表
*/
实现代码:
template <class datatype>
SeqList<datatype>:: SeqList(datatype a[], int n)
{
if (n>MaxSize)
{
cout<<"数组元素个数不合法"<<endl;
}
for (int i=0; i<n; i++)
data[i]=a[i];
length=n;
}(4)在顺序表的第i个位置前插入元素e算法
/*
*输入:插入元素e,插入位置i
*前置条件:顺序表存在,i要合法
*功能:将元素e插入到顺序表中位置i处
*输出:无
*后置条件:顺序表插入新元素,表长加1
*/
实现代码:
template <class datatype>
void SeqList<datatype>::Insert(int i, datatype item)
{
int j;
if (length>=MaxSize)
{
cout<<"溢出"<<endl;
}
if (i<1 || i>length+1)
{
cout<<"i不合法!"<<endl;
}
for (j=length; j>=i; j--)
data[j]=data[j-1];
data[i-1]=item;
length++;
}(5)删除线性表中第i个元素算法
/*
*输入:要删除元素位置i
*前置条件:顺序表存在,i要合法
*功能:删除顺序表中位置为i的元素
*输出:无
*后置条件:顺序表册除了一个元素,表长减1
*/
实现代码:
template <class datatype>
datatype SeqList<datatype>::Delete(int i)
{
int item,j;
if (length==0)
{
cout<<"表为空,无法删除元素!"<<endl;
}
if (i<1 || i>length)
{
cout<<"i不合法!"<<endl;
}
item=data[i-1];//获得要删除的元素值
for (j=i; j<length; j++)
data[j-1]=data[j]; //注意数组下标从0记
length--;
return item;
}(6)遍历线性表元素算法
/*
*输入:无
*前置条件:顺序表存在
*功能:顺序表遍历
*输出:输出所有元素
*后置条件:无
*/
实现代码:
template<class datatype>
void SeqList<datatype>::display()
{
if(length==0)
{
cout<<"表为空,无法输出!"<<endl;
}
for(int i=0;i<length;i++)
{
cout<<data[i]<<"";
}
}
(7)获得线性表长度算法
/*
*输入:无
*前置条件:顺序表存在
*功能:输出顺序表长度
*输出:顺序表长度
*后置条件:无
*/
实现代码:
template <class datatype>
int SeqList<datatype>::Length()
{
return Length;
}
(8)在顺序线性表中查找e值,返回该元素的位序算法
/*
*输入:查询元素值e
*前置条件:顺序表存在
*功能:按值查找值的元素并输出位置
*输出:查询元素的位置
*后置条件:无
*/
实现代码:
template <class datatype>
int SeqList<datatype>::Locate(datatype item)
{
for (int i=0; i<length; i++)
if (data[i]==item)
return i+1 ;
//下标为i的元素等于item,返回其序号i+1
return 0; //查找失败
}
(9)获得顺序线性表第i个元素的值
/*
*输入:查询元素位置i
*前置条件:顺序表存在,i要合法
*功能:按位查找位置为i的元素并输出值
*输出:查询元素的值
*后置条件:无
*/
实现代码:
template <class datatype>
datatype SeqList<datatype>::Get(int i)
{
if (i<0||i>length)
{
cout<<"i不合法!"<<endl;
}
else return data[i-1];
}
(10)判表空算法
/*
*输入:无
*前置条件:无
*功能:判表是否为空
*输出:为空返回1,不为空返回0
*后置条件:无
*/
实现代码:
template <class datatype>
bool SeqList<datatype>::Empty()
{
if (length==0)
{
return 1;
}
else
{
return 0;
}
}
(11)求直接前驱结点算法
/*
*输入:要查找的元素e,待存放前驱结点值e1
*前置条件:无
*功能:查找该元素的所在位置,获得其前驱所在位置。
*输出:返回其前驱结点的位序。
*后置条件:e1值为前驱结点的值
*/
实现代码:
template<class datatype>
int SeqList<datatype>::Pre(datatype item)
{
int k=Locate(item)-1;
if (k>0)
return k;
else
{
cout<<"无前驱结点!"<<endl;
return 0;
}
}
(12)求直接后继结点算法
/*
*输入:要查找的元素e,待存放后继结点值e1
*前置条件:无
*功能:查找该元素的所在位置,获得其后继所在位置。
*输出:返回其后继结点的位序。
*后置条件:e1值为后继结点的值
*/
实现代码:
template<class datatype>
int SeqList<datatype>::Suc(datatype item)
{
int k=Locate(item)+1;
if (k>length)
{
cout<<"无后继结点!"<<endl;
return 0;
}
else
{
return k;
}
}
上机实现以上基本操作,写出main()程序:
用以上基本操作算法,实现A=AUB算法。(利用函数模板实现)
/*
*输入:集合A,集合B
*前置条件:无
*功能:实现A=AUB
*输出:无
*后置条件:A中添加了B中的元素。
*/
实现代码:
template<class datatype>
SeqList<datatype> SeqList<datatype>::Add(SeqList<datatype
展开阅读全文