| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1460 人关注过本帖
标题:来看下,头晕~
只看楼主 加入收藏
senyee
Rank: 1
等 级:新手上路
帖 子:422
专家分:0
注 册:2006-11-28
收藏
 问题点数:0 回复次数:20 
来看下,头晕~

搞了好久了.....
不知道那儿错了.....
人多力量大~帮看看
char filename[20];
....
.... //省略。
open()
{
FILE *fp;
int i=0;
char s;
struct student stud,*st1,*st2;
if(fp=fopen("filename","r"))
{
pr("no have the file\n"); /*打开文件*/
pr("do you want build a new file? y/n");
scanf("%c",&s);
if(s=='Y'||s=='y')
{
fp=fopen("filename","w");
pr("add data now? y/n\n");
scanf("%c",&s);
if(s=='Y'||s=='y') add(); //就感觉open函数有问题...
}
return;
}
while(!feof(fp))
{
fread(&st1,SIZE,1,fp); /*读取文件*/
if(i==0) head=st1;
else st2->next=st1;
st2=st1;i++;
st2->next=0;
pr(ppp);
}
fclose(fp);
pr("you %d ge.\n",i+1);
getch();
}

/******************主函数******************************/
main()
{
char order='c';
int num;
in_print();
pr("enter the filename:");
scanf("%s",filename);
getchar();
open();
while(order!='q')
{
pr("please enter your order:\n");
scanf("%s",&order); /*操作*/
switch(order)
{
case 'A':
case 'a':add();break;
case 'D':
case 'd':del();break;
case 'S':
case 's':search();break;
case 'X':
case 'x':show();break;
case 'b':
case 'B':if(ackkw()) save();break;
case 'Q':order+=32;
case 'q':if(ackkw())quit();
else order=0;break;
case 'c':
case 'C':system("cls.exe");in_print();break; /*清屏==clrscr();*/
default:printf("no have this order\n");
}
}

getch();
}

E5rWqLgr.rar (1.87 KB) 来看下,头晕~



要全文的也可以下
随便帮我看看其他错误...
第一次编这么多~~
以前都是编编小代码
有点不适应了
搜索更多相关主题的帖子: 头晕 
2007-01-03 17:09
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
请提供一个输入的文件(否则调试很难进行)

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-01-03 17:51
senyee
Rank: 1
等 级:新手上路
帖 子:422
专家分:0
注 册:2006-11-28
收藏
得分:0 

代码都有啊

我上传了的....

如果找不到输入文件...
就新建
但是好象不起作用


菜鸟~~请多指教~~
2007-01-03 17:59
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
看起来好头疼,连printf都 define了

这一部分我改了一下,改正了几个错误,但好象还有问题

if(!(fp=fopen(filename,"r"))) /*没有引号,注意要!*/
{
printf("no have the file\n"); /*打开文件*/
printf("do you want build a new file? y/n");
s=getch();
if(s=='Y'||s=='y')
{
fp=fopen(filename,"w"); /*没有引号*/
pr("add data now? y/n\n");
scanf("%c",&s);
if(s=='Y'||s=='y') add();
}
return;
}

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-01-03 18:22
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
还有save函数中的
fp=fopen("filename","wb");
改为
fp=fopen(filename,"wb");

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-01-03 18:23
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
还有错误,我等一会再看看

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-01-03 18:23
编程之王
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-1-1
收藏
得分:0 
以下是引用senyee在2007-1-3 17:09:51的发言:

搞了好久了.....
不知道那儿错了.....
人多力量大~帮看看
char filename[20];
....
.... //省略。
open()
{
FILE *fp;
int i=0;
char s;
struct student stud,*st1,*st2;
if(fp=fopen("filename","r"))
{
pr("no have the file\n"); /*打开文件*/
pr("do you want build a new file? y/n");///非常不好的偷懒习惯
scanf("%c",&s);
if(s=='Y'||s=='y')
{
fp=fopen("filename","w");//if((fp=fopen("filename","w"))==NULL){..}else {....
//此处需用判断fopen是否成功,成功则如何如何,不成功则如何如何
pr("add data now? y/n\n");
scanf("%c",&s);
if(s=='Y'||s=='y') add(); //就感觉open函数有问题...
}
return;
}
while(!feof(fp))
{
fread(&st1,SIZE,1,fp); /*读取文件*/
if(i==0) head=st1;
else st2->next=st1;
st2=st1;i++;
st2->next=0;
pr(ppp);
}
fclose(fp);
pr("you %d ge.\n",i+1);
getch();
}

/******************主函数******************************/
main()
{
char order='c';
int num;
in_print();
pr("enter the filename:");
scanf("%s",filename);
getchar();
open();
while(order!='q')
{
pr("please enter your order:\n");
scanf("%s",&order); /*操作*// 错误
switch(order)
{
case 'A':
case 'a':add();break;
case 'D':
case 'd':del();break;
case 'S':
case 's':search();break;
case 'X':
case 'x':show();break;
case 'b':
case 'B':if(ackkw()) save();break;
case 'Q':order+=32;//有必要么?前面几句你为什么不加32?
case 'q':if(ackkw())quit();
else order=0;break;
case 'c':
case 'C':system("cls.exe");in_print();break; /*清屏==clrscr();*///无.EXE吧?
default:printf("no have this order\n");
}
}

getch();
}

[attach]15523[/attach]

要全文的也可以下
随便帮我看看其他错误...
第一次编这么多~~
以前都是编编小代码
有点不适应了


2007-01-03 18:30
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
楼上注意:fopen("filename",格式))
应改为
fopen(filename,格式))

filename是变量名

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-01-03 18:35
senyee
Rank: 1
等 级:新手上路
帖 子:422
专家分:0
注 册:2006-11-28
收藏
得分:0 

非常感谢 卧龙孔明
呵呵
也感谢编程之王(不知道是不是真的

坏习惯是有点多
但我不知道什么是好习惯
反正知道是坏习惯就改


菜鸟~~请多指教~~
2007-01-03 21:23
senyee
Rank: 1
等 级:新手上路
帖 子:422
专家分:0
注 册:2006-11-28
收藏
得分:0 

scanf("%s",&order); /*操作*// 错误

什么错?
详解

为什么不能用scanf?


菜鸟~~请多指教~~
2007-01-04 12:32
快速回复:来看下,头晕~
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018782 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved