问题 问答题

审核输入凭证、记账,月末转账。

答案

参考答案:审核凭证
以“考生姓名”的身份重新注册总账系统。
(1)执行“凭证”→“审核凭证”命令,打开“凭证审核”查询条件对话框。
(2)输入查询条件,单击“确认”按钮,进入“凭证审核”的凭证列表窗口。
(3)双击要审核的凭证或单击“确定”按钮,进入“凭证审核”的审核凭证窗口。
(4)检查要审核的凭证,无误后,单击“审核”按钮,凭证底部的“审核”处自动签上审核人姓名。
(5)单击“下一张”按钮,对其他凭证签字,最后单击“退出”按钮。记账
(1)执行“凭证”→“记账”命令,进入“记账”窗口。
(2)第一步,单击“全选”按钮,选择所有要记账的凭证,单击“下一步”按钮。
(3)第二步,显示记账报告,如果需要打印记账报告,可单击“打印”按钮。如果不打印记账报告,单击“下一步”按钮。
(1)第三步,记账,单击“记账”按钮,打开“试算平衡表”对话框,单击“确认”按钮,系统开始登录有关的总账和明细账、辅助账。登记完后,弹出“记账完毕”信息提示对话框。
(5)单击“确定”,记账完毕。
月末转账进入总账系统→月未转账→“期间损益结转”→“参照”→“本年利润”参照→“本年利润”科目→确定→全选→确定。
月末转账完以后系统自动生成转账凭证,需要再做记账。

问答题

【说明】 C++语言本身不提供对数组下标越界的判断。为了解决这一问题,在程序6中定义了相应的类模板,使得对厂任意类型的二维数组,可以在访问数组元素的同时,对行下标和列下标进行越界判断,并给出相应的提示信息。 #include<iostream.h> template <class T> class Array; template <class T> class ArrayBody { friend (1) T* tpBody; int iRows, iColumns, iCurrentRow; ArrayBody (int iRsz, int iCsz) { tpBody = (2) iRows = iRsz; iColumns =iCsz; iCurrentRow =-1; } public: T& operator[] (int j) { bool row_error, column_error; row_error=column_error=false; try{ if (iCurrentRow < 0 || iCurrentRow >=iRows) row_error=true; if (j < 0 || j >=iColumns) column_error=true; if ( row_error==true || column_error == true) (3) } catch (char) { if (row_error==true) cerr << "行下标越界[" << iCurrentRow << "] "; if (column_error== true ) cerr << "列下标越界[" <<j << "]"; cout << "\n"; } return tpBody[iCurrentRow * iColumns +j]; }; ~ArrayBody ( ) { delete[] tpBody; } }; template <class T> class Array { ArrayBody<T> tBody; public: ArrayBody<T> & operator[] (int i) { (4) return tBody; } Array (int iRsz, int iCsz) : (5) {} }; void main() { Array<int>a1(10,20); Array<double>a2(3,5); int b1; double b2; b1=a1[-5][10]; //有越界提示:行下标越界[-5] b1=a1[10][15]; //有越界提示:行下标越界[10] b1=a1[1][4]; //没有越界提示 b2=a2[2][6]; //有越界提示:列下标越界[6] b2=s2[10][20]; //有越界提示:行下标越界[10]列下标越界[20] b2=a2[1][4]; //没有越界提示 }