| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 619 人关注过本帖
标题:[求助] 程序结果和预想的不一样
只看楼主 加入收藏
laigaoat2005
Rank: 4
等 级:业余侠客
帖 子:388
专家分:226
注 册:2007-4-5
结帖率:88.89%
收藏
 问题点数:0 回复次数:9 
[求助] 程序结果和预想的不一样

/*我是个beginner,我想做一个有建立文件和删除文件功能的程序,但是出现了错误,程序结果和预想的不一样,请帮忙看看啊,谢*/
/*能不能帮我调一下啊*/

#include<stdio.h>
#include<io.h>

struct students{ /*定义一个学生情况的结构体*/
char name[6]; /*学生姓名*/
char sex[2]; /*学生性别*/
char phone[11]; /*学生电话*/
}stu[100]; /*学生结构体变量*/

int del(fname_del); /*声明删除文件函数*/

void main()
{
FILE *fp_new; /*定义新建文件指针*/
FILE *fp_del; /*定义被删除文件指针*/
char fname_new[20]; /*定义新建文件名变量*/
char fname_del[20]; /*定义被删除文件名变量*/
int i; /*过程控制量*/
int j; /*过程控制量*/
puts("请选择你想执行的操作:\n1 删除文件\n2 其它");
scanf("%d",&i);
if(i==1)
{
puts("请输入你想删除的文件名:");
gets(fname_del);
del(fname_del);
}

printf("i=%d",i); /*检测i的值*/
getchar(); /*暂停便于检测函数执行情况*/
printf("请输入新文件名:\n"); /*提示用户输入新文件名*/
gets(fname_new); /*接收用户输入的新文件名*/
if((fp_new=fopen(fname_new,"a+"))==NULL) /* 如果打开文件指针返回NULL,今天我在这里出错了,我在这里提醒我自己!注意:fopen(fname_new,"w+") 中的文件名用的是变量,因此不用双引号扩起来!*/
{
printf("建立文件出错!\n"); /* 提示操作结果*/
exit(0); /*退出*/
}
printf("请输入学生姓名:\n"); /*提示用户输入信息*/
scanf("%s",&stu[0].name); /*接收用户输入信息*/
printf("%s\n",stu[0].name); /*输出用户信息*/
fputs(stu[0].name,fp_new); /*存入用户信息*/
fputc("\n",fp_new); /*写入回车符*/
fclose(fp_new); /*关闭文件*/
}

int del(char *wjp) /*定义删除文件函数*/
{
int status; /*这以后的我不懂了,请高手指教啊*/
{
unlink(wjp);
status = access(wjp,0);
if (status == 0)
printf("F文件已删除!\n");
else
printf("文件未找到!\n");
return 0;
}
}


/* 函数备忘录:
fputc();
fputs();
fprintf();
fwrite();


函数名: unlink
功 能: 删掉一个文件
用 法: int unlink(char *filename);
程序例:

#include <stdio.h>
#include <io.h>

int main(void)
{
FILE *fp = fopen("junk.jnk","w");
int status;

fprintf(fp,"junk");

status = access("junk.jnk",0);
if (status == 0)
printf("File exists\n");
else
printf("File doesn't exist\n");

fclose(fp);
unlink("junk.jnk");
status = access("junk.jnk",0);
if (status == 0)
printf("File exists\n");
else
printf("File doesn't exist\n");


return 0;
}

*/

搜索更多相关主题的帖子: 预想 结果 
2007-04-23 18:46
限量版猪头
Rank: 2
等 级:论坛游民
威 望:1
帖 子:165
专家分:30
注 册:2006-2-5
收藏
得分:0 

哪里不一样?编译通过吗?
那么长的,不想仔细看,你说具体点


2007-04-23 18:49
laigaoat2005
Rank: 4
等 级:业余侠客
帖 子:388
专家分:226
注 册:2007-4-5
收藏
得分:0 
编著译能通过,就是不能删除文件.
还有,代码并不长,只有2个函数,有一半是我自己的备忘录,它不是程序.
2007-04-23 19:19
限量版猪头
Rank: 2
等 级:论坛游民
威 望:1
帖 子:165
专家分:30
注 册:2006-2-5
收藏
得分:0 
以下是引用laigaoat2005在2007-4-23 19:19:13的发言:
编著译能通过,就是不能删除文件.
还有,代码并不长,只有2个函数,有一半是我自己的备忘录,它不是程序.

你确信编得过?
我怎么编不过?

[此贴子已经被作者于2007-4-23 19:44:33编辑过]


2007-04-23 19:40
laigaoat2005
Rank: 4
等 级:业余侠客
帖 子:388
专家分:226
注 册:2007-4-5
收藏
得分:0 
我在C-Free3.5中调试通过的.只是结果不对.
2007-04-23 19:48
laigaoat2005
Rank: 4
等 级:业余侠客
帖 子:388
专家分:226
注 册:2007-4-5
收藏
得分:0 
如果你用的是TC2.0,就要把注解号  //   换成/*      */
2007-04-23 19:49
限量版猪头
Rank: 2
等 级:论坛游民
威 望:1
帖 子:165
专家分:30
注 册:2006-2-5
收藏
得分:0 

修改如下:

#include<stdio.h>
#include<io.h>

struct students{ /*定义一个学生情况的结构体*/
char name[6]; /*学生姓名*/
char sex[2]; /*学生性别*/
char phone[11]; /*学生电话*/
}stu[100]; /*学生结构体变量*/

int del(char *wjp); /*声明删除文件函数*/ //这样声明才对

void main()
{
FILE *fp_new; /*定义新建文件指针*/
FILE *fp_del; /*定义被删除文件指针*/
char fname_new[20]; /*定义新建文件名变量*/
char fname_del[20]; /*定义被删除文件名变量*/
int i; /*过程控制量*/
int j; /*过程控制量*/
puts("请选择你想执行的操作:\n1 删除文件\n2 其它");
scanf("%d",&i);
if(i==1)
{
getchar(); // 这里最重要,不然下面的gets把你输入的回车给截住了
puts("Please del:");
gets(fname_del); //如果不加的话,你这里得到是回车,所以才会无效
printf("name:%s",fname_del);
del(fname_del);
}

printf("i=%d",i); /*检测i的值*/
getchar(); /*暂停便于检测函数执行情况*/
printf("请输入新文件名:\n"); /*提示用户输入新文件名*/
gets(fname_new); /*接收用户输入的新文件名*/
if((fp_new=fopen(fname_new,"a+"))==NULL) /* 如果打开文件指针返回NULL,今天我在这里出错了,我在这里提醒我自己!注意:fopen(fname_new,"w+") 中的文件名用的是变量,因此不用双引号扩起来!*/
{
printf("建立文件出错!\n"); /* 提示操作结果*/
exit(0); /*退出*/
}
printf("请输入学生姓名:\n"); /*提示用户输入信息*/
scanf("%s",&stu[0].name); /*接收用户输入信息*/
printf("%s\n",stu[0].name); /*输出用户信息*/
fputs(stu[0].name,fp_new); /*存入用户信息*/
fputc('\n',fp_new); /*写入回车符*/
fclose(fp_new); /*关闭文件*/
}

int del(char *wjp) /*定义删除文件函数*/
{
int status; /*这以后的我不懂了,请高手指教啊*/
{
unlink(wjp);
status = access(wjp,0);
if (status == 0)
printf("F文件已删除!\n");
else
printf("文件未找到!\n");
return 0;
}
}

[此贴子已经被作者于2007-4-23 19:55:13编辑过]


2007-04-23 19:53
laigaoat2005
Rank: 4
等 级:业余侠客
帖 子:388
专家分:226
注 册:2007-4-5
收藏
得分:0 
你编译了了吗?我去试试。
2007-04-23 20:11
laigaoat2005
Rank: 4
等 级:业余侠客
帖 子:388
专家分:226
注 册:2007-4-5
收藏
得分:0 
你编译了了吗?我去试试。谢谢了哈。
2007-04-23 20:11
laigaoat2005
Rank: 4
等 级:业余侠客
帖 子:388
专家分:226
注 册:2007-4-5
收藏
得分:0 
哦,对了,谢谢你哦。
2007-04-23 20:16
快速回复:[求助] 程序结果和预想的不一样
数据加载中...
 
   



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

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