dvbbs
收藏本页
联系我们
论坛帮助
dvbbs

堕落街论坛休闲之乐游戏体育 → 数据库三级 求助


  共有325人关注过本帖树形打印

主题:数据库三级 求助

帅哥哟,离线,有人找我吗?
shanf123
  1楼 个性首页 | 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:宝宝 主题:2 精华:0 贴子:8 排名:0 威望:0 排名:0 注册:2006/3/21 21:43:23 近访:2006/3/31 12:27:19
数据库三级 求助  发贴心情 Post By:2006/3/21 21:57:00

哪位帅哥靓女精通数据库三级的能帮一下小弟啊!

现在好是郁闷啊,在书上找不到解释,很难理解程序啊


支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
伊义
  2楼 个性首页 | 博客 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 水王元老执法TS 我不相信
等级:研二 主题:266 精华:1 贴子:7405 排名:22 威望:27 排名:49 注册:2004/5/24 12:46:00 近访:2025/11/7 20:30:54
  发贴心情 Post By:2006/3/21 22:38:00

没有靓女


Media Star

再也不要孤单

支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
风随月
  3楼 个性首页 | 博客 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 伊见钟情的贱客
等级:高二 主题:14 精华:0 贴子:1135 排名:985 威望:2 排名:538 注册:2006/3/3 13:20:34 近访:2007/11/4 16:50:22
  发贴心情 Post By:2006/3/22 0:02:00

机试的程序吗?

都是很简单的C语言 买一本书看看 我同学考过,题目应该都是书上一样的



长空听月风相随  咫尺天涯千山对  举杯尽饮与谁醉   痴狂心碎空无泪

支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
shanf123
  4楼 个性首页 | 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:宝宝 主题:2 精华:0 贴子:8 排名:0 威望:0 排名:0 注册:2006/3/21 21:43:23 近访:2006/3/31 12:27:19
  发贴心情 Post By:2006/3/22 11:37:00

对就是上机的 ,

可能我以前学的不好,

现在还不能很好的理解一些程序;

比方说这个 :

/*函数ReadDat()实现从文件ENG.IN中读取一篇英文文章存入到字符串中数组xx中。

请编制函数DelWOrd()分别按行删除空格,标点符号以及10个不区分大小

写的英文单词(you,for,your,on,no,if,the,in,to,all )
余下的单词仍按顺序重新存入数组xx中,
最后调用函数WriteDat()把结果xx输出到文件PS6.OUT中*/
#include"stdio.h"
#include"string.h"
#include"conio.h"
#include"ctype.h"

char WORD[10][10]={"you","for","your","on","no","if","the","in","to","all"};
char xx[50][80];
int maxline=0;/*文章的总行树*/

int ReadDat(void);
void WriteDat(void);

void DelWord(void)
{
int i,j,k,tag;
char word[21],*p;
char str[80];
for(i=0;i<maxline;i++){
memset(str,0,80);
p=xx[i];
j=0;
k=0;
memset(word,0,21);
while(*p){
if(isalpha(*p)){
word[j++]=*p++;
if(*p)continue;
}
tag=1;
for(k=0;k<10&&tag;k++)if(stricmp(word,WORD[k])==0)tag=0;
if(tag)strcat(str,word);
j=0;
memset(word,0,21);
while(*p&&(!isalpha(*p)))p++;
}
strcpy(xx[i],str);
}
}

void main()
{
clrscr();
if(ReadDat()){
printf("数据文件ENG.IN不能打开!\n\007");
return;
}
DelWord();
WriteDat();
}

int ReadDat(void)
{ FILE *fp;
int i=0;
char *p;
if((fp=fopen("eng.in","r"))==NULL)return 1;
while(!fgets(xx[i],80,fp)!=NULL){
p=strchr(xx[i],'\n');
if(p)xx[i][p-xx[i]]=0;
i++;
}
maxline=i;
fclose(fp);
return 0;
}

void WriteDat(void)
{
FILE *fp;
int i;
fp=fopen("ps6.out","w");
for(i=0;i<maxline;i++){
printf("%s\n",xx[i]);
fprintf(fp,"%s\n",xx[i]);
}
fclose(fp);
}
这个好象还正确吧.我读的子函数中的while(!fget(xx[i],80,fp)!=NULL)不理解,

还有在写函数中的printf("%s\n",xx[i]);

fprintf("%s\n",xx[i]);

为什么要打印两次,同学说是为了好检查,是吗?


支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
shanf123
  5楼 个性首页 | 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:宝宝 主题:2 精华:0 贴子:8 排名:0 威望:0 排名:0 注册:2006/3/21 21:43:23 近访:2006/3/31 12:27:19
  发贴心情 Post By:2006/3/22 11:39:00

接上面

其中的memset(str,0,80);

0,80,分别代表什么啊 ?

先多谢了啊,呵呵


支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
风随月
  6楼 个性首页 | 博客 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 伊见钟情的贱客
等级:高二 主题:14 精华:0 贴子:1135 排名:985 威望:2 排名:538 注册:2006/3/3 13:20:34 近访:2007/11/4 16:50:22
  发贴心情 Post By:2006/3/22 15:32:00

while(!fget(xx[i],80,fp)!=NULL)每下从fp指向的文件读取一行,也就是size为80的数据,放到x[i](一个地址)中间去,这个语句意思就是读取到文件结束为止

fprintf(fp,"%s\n",xx[i]);的意思并不是输出的意思,它的用法和sprintf相似,意思是将x[i]在"%s\n"这个格式下输出的结果放入到文件指针fp指向的文件中去,并不输出任何东西.而sprintf第一参数则是一个字符串指针

memset(str,0,80);是一个内存初始化函数,将str的前80个字节放入'0',就是作初始化的意思

以上解释可能有不对的地方 你可以自己去查下资料就知道了,还有国家等级考试三级的题目很容易的,不可能出这些东西给你做,上面这种函数一般是已经给出的,你只需要去使用它们,再加上你自己写的简单数字游戏程序就可以过关了.



长空听月风相随  咫尺天涯千山对  举杯尽饮与谁醉   痴狂心碎空无泪

支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
shanf123
  7楼 个性首页 | 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:宝宝 主题:2 精华:0 贴子:8 排名:0 威望:0 排名:0 注册:2006/3/21 21:43:23 近访:2006/3/31 12:27:19
  发贴心情 Post By:2006/3/22 18:08:00

谢谢!!!!

谢谢啊 ,起码让我不在害怕他们了;

while(!fgets(xx[i],80,fp)!=NULL){
p=strchr(xx[i],'\n');
if(p)xx[i][p-xx[i]]=0;
i++;
}

这个中的fgets语句和其后的if 语句不好理解;

特别是指针指向的一维数组怎么一下子变成了二维数组了,

可以给些提示吗 ?

再次感谢


支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
风随月
  8楼 个性首页 | 博客 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 伊见钟情的贱客
等级:高二 主题:14 精华:0 贴子:1135 排名:985 威望:2 排名:538 注册:2006/3/3 13:20:34 近访:2007/11/4 16:50:22
  发贴心情 Post By:2006/3/23 2:34:00

p=strchr(xx[i],'\n');
它的意思是返回字符串xx[i]中与最后一个'\n'匹配并以它开头的字符串指针给指针p

if(p)xx[i][p-xx[i]]=0;
这句的意思是在换行符的地方结束xx[i]这个字符串,比如xx[i][8]='\n'这样的话就有xx[i][8]=0;

"特别是指针指向的一维数组怎么一下子变成了二维数组了,

可以给些提示吗 ?"

这句没怎么看懂你的意思   指针就是一个地址的意思,它的具体指向搞清楚了就行了(指针指向的地址),你去看看C语言的书就知道了.这里是指向的x[i]字符串指针中'\n'开头的那个地址.



长空听月风相随  咫尺天涯千山对  举杯尽饮与谁醉   痴狂心碎空无泪

支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
shanf123
  9楼 个性首页 | 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:宝宝 主题:2 精华:0 贴子:8 排名:0 威望:0 排名:0 注册:2006/3/21 21:43:23 近访:2006/3/31 12:27:19
  发贴心情 Post By:2006/3/29 11:51:00

谢谢朋友们的帮助,我这里还有一个问题

求出4位数中的各位数字之和是奇数的数的个数totCnt

这里有这些描述

for(i=0;i<totNum;i++){

sprintf(num,"%04d",xx[i]);

j=num[0]-48+num[1]-48+num[2]-48+num[3]-48;

if(j%2){

totCnt++;

}

}

这里的sprintf语句不好理解,能给些解释吗 ?


支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
shanf123
  10楼 个性首页 | 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:宝宝 主题:2 精华:0 贴子:8 排名:0 威望:0 排名:0 注册:2006/3/21 21:43:23 近访:2006/3/31 12:27:19
  发贴心情 Post By:2006/3/29 11:54:00

后面紧跟着的j带领的语句也不好理解,

好象有些错误似的,请给些提示


支持(0中立(0反对(0回到顶部
总数 11 1 2 下一页