问答题在三层B/S结构的数据库应用系统中,业务规则是在______服务器端完成的。
问答题某商场新购了一套商品经营管理系统,此系统使用SQL Server 2008数据库管理系统。此系统上线运行前,需将商场原有的数据导入到新系统中。原有系统使用SQL Server 2000,数据结构与新系统不完全一致。为了保证数据一致性,数据导入过程中要求暂停业务且必须在2小时内完成。
问答题当用户在一个关系表的某一列上建立一个非聚集索引(该表没有聚集索引)时,数据库管理系统会自动为该索引维护一个索引结构。该索引结构中的记录是由_________和它相对应的指针构成的。
问答题下列程序的功能是:将大于整数m且紧靠m的k个素数存入数组xx。请编写函数num(int m,int k,int xx[])实现程序的要求,最后调用函数readwrite DAT()把结果输出到out31.dat文件中。 例如:若输入17,5,则应输出19,23,29,31,37。 注意:部分源程序已给出。 请勿改动主函数main()和输入输出函数readwriteDAT()的内容。 试题程序: #include<conio.h> #include<stdio.h> void readwriteDAT(); void num(int m, int k,int xx[]) main ( ) int m,n,xx[1000]; clrscr ( ); printf("/nPlease enter two integers:" scanf("%d,%d", num(m, n, xx); for(m=0;m<n;m++) printf("%d ",xx[m]); printf("/n"); readwriteDAT(); void readwriteDAT() int m, n, xx[1000],i; FILE *rf,*wf; rf=fopen("in31.dat","r") wf=fopen("out31.dat","w"); for(i=0;i<10;i++) fscanf(rf,"%d %d", num(m,n,xx); for(m=0;m<n;m++) fprintf(wf,"%d ",xx[m]); fprintf(wf,"/n"); fclose(rf); fclose(wf);
问答题已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中。请编写函数jsVal(),其功能是:依次从数组a中取出一个四位数,如果该四位数连续小于该四位数以后的五个数且该数是偶数(该四位数以后不满五个数,则不统计),则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat(),把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 注意:部分程序已经给出。 程序中已定义数组:a[200],b[200];已定义变量:cnt。 请勿改动数据文件IN.DAT中的任何数据及主函数main()、读函数readDat()和写函数writeDat()的内容。 #include<stdio.h> #define MAX 200 int a[MAX],b[MAX],cnt=0; void jsVal() void readDat() int i; FILE *fp; fp=fopen("IN.DAT","r"); for(i=0;i<MAX; i++) fscanf(fp,"%d,",&a[i]); fclose(fp); void writeDat() FILE *fp; int i; fp=fopen("OUT.DAT","w"); fprintf(fp,"%d/n",cnt); for(i=0;i<cnt;i++) fprintf(fp,"%d/n",b[i]); fclose(fp); void main() int i; readDat(); jsVal(); printf("满足条件的数=%d/n",cnt); for(i=0; i<cnt;i++) printf("%d",b[i]); printf("/n"); writeDat();
问答题已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中。请编写函数jsVal(),其功能是:若一个四位数的千位数字上的值大于等于百位数字上的值,百位数字上的值大于等于十位数字上的值,以及十位数字上的值大于等于个位数字上的值,并且原四位数是奇数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat(),把结果cnt以及数组b中符合条件的数输出到OUT.DAT文件中。 注意:部分源程序已经给出。 程序中已定义数组:a[200],b[200];已定义变量:cnt。 请勿改动数据文件IN.DAT中的任何数据及主函数main()、读函数readDat()和写函数writeDat()的内容。 #include<stdio.h> #define MAX 200 int a[MAX],b[MAX],cnt=0; void jsVal() void readDat() int i; FILE *fp; fp=fopen("IN.DAT","r"); for(i=0;i<MAX;i++) fscanf(fp,"%d,",&a[i]); fclose(fp); void writeDat() FILE *fp; int i; fp=fopen("OUT.DAT","w"); fprintf(fp,"%d/n",cnt); for(i=0; i<cnt;i++) fprintf(fp,"%d/n",b[i]); fclose(fp); void main() int i; readDat(); jsVal(); printf("满足条件的数=%d/n",cnt); for(i=0;i<cnt; i++) printf("%d",b[i]); printf("/n"); writeDat();
问答题已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中。请编写函数jsVal(),其功能是:把个位数字和千位数字重新组成一个新的两位数(新两位数的十位数字是原四位数的个位数字,新两位数的个位数字是原四位数的千位数字),以及把百位数字和十位数字组成另一个新的两位数(新两位数的十位数字是原四位数的百位数字,新两位数的个位数字是原四位数的十位数字),如果新组成的两个两位数均是偶数并且两个两位数中至少有一个数能被9整除,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat(),把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。
注意:部分源程序已经给出。
程序中已定义数组:a[200],b[200];已定义变量:cnt。
请勿改动数据文件IN.DAT中的任何数据及主函数main()、读函数readDat()和写函数writeDat()的内容。
#include <stdio.h>
#define MAX 200
int a[MAX],b[MAX],cnt=0;
void jsVal()
{
}
void readDat()
{
int 1;
FIIE *fp;
fp=fopen("IN.DAT","r");
for(i=0;i<MAX;i++)
fscanf(fp,"%d,",
fclose(fp);
}
void writeDat()
{
FIIE *fp;
int i;
fp=fopen("OUT.DAT","w");
fprintf(fp,"%d/n",cnt);
for (i=0;i<cnt;i++)
fprintf(fp,"%d/n",b[i]);
fclose(fp);
}
void main()
{
int i;
readDat();
jsVal();
printf("满足条件的数=%d/n",cnt);
for (i=0;i<cnt;i++)
printf("%d",b[i]);
printf("/n");
writeDat();
)
问答题通常数据库的转储机制有三种,分别是完全转储、差量转储和____________转储。
问答题函数ReadDat()实现从IN.DAT文件中读取一篇英文文章并存入到字符串数组xx中。请编写函数ConvertCharD(),其功能是:以行为单位把字符串中的所有小写字母改写成该字母的上一个字母,如果是字母a,则改写成字母z。大写字母仍为大写字母,小写字母仍为小写字母,其他字符不变。最后把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数WriteDat(),把结果xx输出到OUT.DAT文件中。
例如,原文:Adb.Bcdza
abck.LLhj
结果:Aca.Bbcyz
zabj.LLgi
原始数据文件存放的格式是:每行的宽度均小于80个字符。
注意:部分源程序已经给出。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
#include <stdio.h>
#include <string.h>
#include <conio.h>
char xx [50][80];
int maxline=0; /*文章的总行数*/
int ReadDat(void);
void WriteDat(void);
void ConvertCharD(void)
{
}
void main()
{
if (ReadDat())
{
printf("数据文件IN.DAT不能打开! /n/007");
return;
ConvertCharD();
WriteDat();
int ReadDat(void)
{
FILE *fp;
int i=0;
char *p;
if ((fp=fopen("IN.DAT","r"))==NULL)
return 1;
while (fgets(xx[i],80,fp) !=NULL)
{
p=strchr(xx[i],'/n');
if(p)
i++;
maxline=i;
fclose(fp);
return 0;
}
void WriteDat(void)
{
FILE *fp;
int i;
fp=fopen("OUT.DAT","w");
for (i=0;i<maxline;i++)
{
printf("%s/n",xx[i]);
fprintf(fp,"%s/n",xx[i]);
}
fclose(fp);
}
问答题已知在IN.DAT文件中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位)、单价由(整型)、数量sl(整型)、金额je(长整型)五部分组成。其中:金额=单价×数量。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编写函数SortDat(),其功能是:按金额从小到大进行排列,若金额相同,则按产品代码从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat(),把结果输出到OUT.DAT文件中。
注意:部分源程序已经给出。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <stdlib.h>
#define MAX 100
typedef struct
{
char dm[5]; /*产品代码*/
char mc[11]; /*产品名称*/
int dj; /*单价*/
int sl; /*数量*/
long je; /*金额*/
} PRO;
PRO sell[MAX];
void ReadDat();
void WriteDat();
void SortDat()
{
}
void main()
{
memset(sell,0,sizeof(sell));
ReadDat();
SortDat();
WriteDat();
}
void ReadDat()
{
FILE *fp;
char str[80],ch[11];
int i;
fp=fopen("IN.DAT"."r");
for(i=0;i<100;i++)
{
fgets(str,80,fp);
memcpy(sell[i].dm.str,4);
memcpy(sell[i].mc,str+4,10);
memcpy(ch,str+14,4);
sell[i].dj=atoi(ch);
memcpy(ch,str+18,5);
sell[i].sl=atoi(ch);
sell[i].je=(long)sell[i].dj * sell[i].sl;
}
fclose(fp);
}
void WriteDat(void)
{
FILE *fp;
int i;
fp=fopen("OUT.DAT","w");
for(i=0;i<100;i++)
printf("%s %s %4d %5d %5d/n",
sell[i].dm,sell[i].mc,sell[i].dj,sell[i].sl,sell[i].je);
fprintf(fp,"%s %s %4d %5d %5d/n",
sell[i].dm,sell[i].mc,sell[i].dj,sell[i].sl,sell[i].je);
}
fclose(fp);
}
问答题在文件IN.dat中有200组数据,每组有3个数,每个数均是三位数。函数Rdata()读取这 200组数据存放到结构数组aa中,请编写函数greatSort(),其功能是:要求在200组数据中找出条件为每组中的第1个数大于第2个数加第3个数的和,其中满足条件的组数作为函数 greatSort()的返回值,同时把满足条件的数据存入结构数组bb中,再对bb中的数据按照每组数据的第1个数加第3个数之和的大小进行升序排列(第1个数加第3个数的和均不相等),排序后的结果仍重新存入结构数组bb中。最后调用函数Wdata(),把结果bb输出到OUT.dat文件中。 注意:部分源程序已经给出。请勿改动主函数main()、读数据函数Rdata()和输出数据函数Wdata()的内容。#include <stdio. h>#include <string.h>#include <conio. h>typedef struct int x1, x2, x3; data;data aa[200], bb[200];int greatSort ()void Rdata () FILE *in; int i; in = fopen("IN.dat", "r"); for (i=0; i<200; i++) fscanf (in, "%d %d %d", fclose (in);void Wdata(int count) FILE *out; int i; out = fopen("OUT.dat", "w"); for (i=0; i<count; i++) printf("%d,%d,%d 第一个数+第三个数=%d/n", bb[i].x1,bb[i].x2, bb[i].x3, bb[i].x1 + bb[i]. x3); fprintf (out, "%d %d %d/n", bb[i] .x1, bb[i] .x2,bb[i] .x3); fclose (out);void main () int count; Rdata ( ); count = greatSort() ;/* 返回满足条件的个数 */ Wdata (count);
问答题函数ReadDat()的功能是从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中。请编写函数ChA(),该函数的功能是:以行为单位用字符串的第一个字符的ASCII码值加第二个字符的ASCII码值,得到第一个新的字符,第二个字符的ASCII值加第三个字符的ASCII码值,得到第二个新的字符,依此类推,一直处理到倒数第二个字符,最后一个字符的ASCII码值加第一个字符的ASCII码值,得到最后一个新的字符,得到的新字符分别存放在原字符串对应的位置上。最后把已处理的字符串逆转后,仍按行重新存入字符串数组xx中,并调用函数WriteDat(),把结果xx输出到文件OUT.DAT中。
原始文件存放的格式是:每行的宽度小于80个字符,含标点符号和空格。请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。
[试题程序]
#include<stdio.h>
#includevstring.h>
#include<stdlib.h>
char xx[50][80];
int maxline=0;
int ReadDat();
void WriteDat();
void ChA(void)
{
}
void main()
{
system("CLS");
if(ReadDat())
{
printf("数据文件IN.DAT无法打开!/n/007");
return;
}
ChA();
WriteDat();
}
int ReadDat(void)
{
FILE*fp;
int i=0;
char*p;
if((fp=fopen("IN.DAT", "r"))==NULL)
return 1;
while(fgets(xx[i], 80, fp)!=NULL)
{
p=strchr(xx[i], "/n");
if(p)
*p=0;
i++;
}
maxline=i;
fclose(fp);
return 0;
}
void WriteDat()
{
FILE*fp;
int i;
system("CLS");
fp=fopen("OUT.DAT", "w");
for(i=0; i<maxline; i++)
{
printf("%s/n", xx[i]);
fprintf(fp, "%s/n", xx[i]);
}
fclose(fp);
}
问答题设有高校选课系统,需要对学校的系信息、教师信息、课程信息、学生信息、学生选课信息进行管理。已知系(DEPT)信息包括系编号(DeptNO)、系名称(DeptName);教师(Teacher)信息包括教师号(TNO)、教师名(Tname);课程(Course)信息包括课程号(CNO)、课程名(CName)、课程学分(Credit);学生(Student)信息包括学号(SNO)、学生姓名(Sname)、学生性别(Sex)。选课系统的管理规则如下:Ⅰ.一个系可聘用多名教师,一个教师只受聘于一个系;Ⅱ.一个系可有多名学生,一个学生只属于一个系;Ⅲ.一名教师可讲授多门课程,一门课程可由多名教师讲授;Ⅳ.一名学生可选修多门课程,一门课程可被多名学生选修;Ⅴ.学生选修完课程后,可获得相应课程的成绩。针对以上描述,完成下列设计内容:
问答题函数ReadDat()实现从IN.DAT文件中读取一篇英文文章并存入字符串数组xx中。请编写函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代后,仍存入数组xx的对应位置上,最后调用函数WriteDat(),把结果xx输出到OUT.DAT文件中。
替代关系:f(p)=p*11mod256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或f(p)对应的字符是小写字母,则该字符不变,否则将f(p)所对应的字符进行替代。
原始数据文件存放的格式是:每行的宽度均小于80个字符。
注意:部分源程序已经给出。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <ctype.h>
unsigned char xx [50][80];
int maxline=0; /*文章的总行数*/
int ReadDat(void);
void WriteDat(void);
void encryptChar()
{
}
void main ()
if (ReadDat()
{
printf("数据文件IN.DAT不能打开! /n/007");
return;
}
encryptChar();
WriteDat();
}
int ReadDat(void)
{
FILE *fp;
int i=0;
unsigned char *p;
if((fp=fopen("IN.DAT","r"))==NULL)
return 1;
while (fgets(xx[i],80,fp)!=NULL)
{
p=strchr(xx[i],'/n');
if(p)
i++;
}
maxline=i;
fclose(fp);
return 0;
}
void WriteDat (void)
{
FILE *fp;
int i;
fp=fopen("OUT.DAT","w");
for(i=0;i<maxline;i++)
{
printf("%s/n",xx[i]);
fprintf(fp,"%s/n",xx[i]);
fclose(fp);
问答题已知在文件in.dat中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称me(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量。函数ReadDat()读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按金额从大到小进行排列,若金额相等,则按产品代码从大到小进行排列,最终排列结果仍存入结构数组sell中。最后main()函数调用函数WriteDat()把结果输出到文件out.dat中。
提示:若中间变量为PRO temp,则可以直接使用结构赋值语句进行解题。
例如:sell[i]=temp;
请勿改动主函数main()、读函数ReadDat()和输出函数WriteDat()内容。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAX 100
typedef struct
{
char dm[5]; /*产品代码*/
char mc[11]; /*产品名称*/
int dj; /*单价*/
int sl; /*数量*/
long je; /*金额*/
}PRO;
PRO sell[MAX];
void ReadDat();
void WriteDat();
void SortDat()
{
}
void main()
{
memset(sell, 0, sizeof(sell));
ReadDat();
SortDat();
WriteDat();
}
void ReadDat()
{
FILE *fp;
char str[80], ch[11];
int i;
fp=fopen("in.dat", "r");
for(i=0; i<100; i++)
{
fgets(str, 80, fp);
memcpy(sell[i].dm, str, 4);
memcpy(sell[i].mc, str+4, 10);
memcpy(ch, str+14, 4); ch[4]=0;
sell[i].dj=atoi(ch);
memcpy(ch, str+18, 5); ch[5]=0;
Sell[i].sl=atoi(ch);
sell[i].je=(long)sell[i].dj*sell[i].sl;
}
fclose(fp);
}
void WriteDat()
{
FILE *fp;
int i;
fp=fopen("out.dat", "w");
for(i=0; i<100; i++)
{
fprintf(fp, "%s %s %4d %5d %10ld/n", sell[i].dm, sell[i].mc, sell[i].dj, sell[i].sl,
sell[i].je);
}
fclose(fp);
}
问答题在UML中,____________是一种特殊形式的关联,它表示类之间的关系是整体与部分的关系。
问答题请编写函数countValue(),其功能是:求出1~1000之内能被7或11整除但不能同时被7或11整除的所有整数,将它们放在数组a中,并通过n返回这些数的个数。 主函数最后调用函数writeDAT()把计算结果输出到out.dat文件中。 注意:部分源程序已经给出。 请勿改动主函数main()和输出数据函数writeDAT()的内容。 #include<conio.h> #include<stdio.h> void countValue(int*a,int*n) void writeDAT() int aa[1000],n,k; FILE *fp; fp=fopen("out.dat","w"); countValue(aa,&n); for(k=0;k<n; k++) if((k+1)%10==0) fprintf(fp,"%5d/n",aa[k]); else fprintf(fp,"%5d",aa[k]); fprintf(fp,"/n"); fclose(fp); main() int aa[1000],n,k; ceuntValue(aa,&n); for(k=0; k<n;k++) if((k+1)%10==0) printf("%5d/n",aa[k]); else printf("%5d",aa[k]); writeDAT();
问答题已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中。请编写函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的两位数(新两位数的十位数字是原四位数的千位数字,新两位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的两位数(新两位数的十位数字是原四位数的个位数字,新两位数的个位数字是原四位数的百位数字),如果新组成的两个两位数均是素数且新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat(),把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 注意:部分源程序已经给出。 程序中已定义数组:a[200],b[200];已定义变量:cnt。 请勿改动数据文件IN.DAT中的任何数据及主函数main()、读函数readDat()和写函数writeDat()的内容。 #include<stdio.h> #define MAX 200 int a[MAX],b[MAX],cnt=0; int isprime(int m) int i; for(i=2;i<=m/2; i++) if(m%i==0) return 0; return 1; void jsVal() void readDat() int i; FILE *fp; fp=fopen("IN.DAT","r"); for(i=0; i<MAX; i++) fscanf(fp,"%d,",&a[i]); fclose(fp); void writeDat() FILE *fp; int i; fp=fopen("OUT.DAT","w"); fprintf(fp,"%d/n",cnt); for(i=0;i<cnt;i++) fprintf(fp,"%dkn",b[i]); fclose(fp); void main() int i; readDat(); jsVal(); printf("满足条件的数=%d/n",cnt); for(i=0;i<cnt;i++) printf("%d",b[i]); printf("/n"); writeDat();
问答题在in.dat文件中有200组数据,每组有3个数,每个数均是三位数。函数ReadDat()读取这200组数据并存放到结构数组aa中。请编写函数jsSort(),其功能是:要求在200组数据中找出条件为每组中的第二个数大于第一个数加第三个数之和,其中满足条件的组数作为函数jsSort()的返回值,同时把满足条件的数据存入结构数组bb中,再对bb中的数据按照每组数据的第二个数加第三个之和的大小进行降序排列(第二个数加第三个数的和均不相等),排序后的结果仍重新存入结构数组bb中,最后调用函数WriteDat(),把结果bb输出到out.dat文件中。 注意:部分源程序已经给出。 请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 #include<stdio.h> #include<string.h> #include<conio.h> typedef struct int x1,x2,x3; data; data aa[200],bb[200]; int jsSort() void ReadDat() FILE *in; int i; in=fopen("in.dat","r"); for(i=0; i<200;i++) fscanf(in,"%d,%d,%d",&aa[i].x1,&aa[i].x2,&aa[i].x3); fclose(in); void WriteDat(int count) FILE *out; int i; out=fopen("out.dat","w"); for(i=0; i<count;i++) printf("%d,%d,%d第二个数+第三个数=%d/n",bb[i].x1,bb[i].x2,bb[i].x3,bb[i].x2+bb[i].x3); fprintf(out,"%d%d%d/n",bb[i].x1,bb[i].x2,bb[i].x3); fclose(out); void main() int count; ReadDat(); count=jsSort(); /*返回满足条件的个数*/ WriteDat(count);
问答题在SQL Server 2008中,每个数据页可存储8060字节的数据。设表T有10000行数据,每行占用3000字节,则存储该表数据大约需要_________MB存储空间。(存储空间保留到整数,小数点后按四舍五入处理)
