| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 612 人关注过本帖
标题:这是书上的例子怎么全是错???
只看楼主 加入收藏
给力芬2010
Rank: 2
等 级:论坛游民
帖 子:48
专家分:71
注 册:2011-3-17
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:11 
这是书上的例子怎么全是错???
#include<stdio.h>
#define SIZE 3
typedef struct student
{
    char name[10];
    int num;
    int age;
    char addr[15];
}stud[SIZE];
void save()
{
    FILE *fp;
    int i;
    if(fp=fopen("stud_list","wb")==NULL)
    {
        printf("Can not open the list\n");
        return;
        }
    for(i=0;i<SIZE;i++)
    if(fwrite(&stud[i],sizeof(struct student),1,fp)!=1)
    printf("File write error\n");
    fclose(fp);
    }

int main(int argc,char *argv[])
{
    int i;
    puts("Please input students information,seris are name,num,age and addr");
    for(i=0;i<SIZE;i++)
    scanf("%s%d%d%s",&stud[i].name,&stud[i].num,&stud[i].age,&stud[i].addr);
    save();
    return 0;
   
    }
搜索更多相关主题的帖子: return 
2011-04-11 08:35
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
书上的例子有点错应该的。除非是那种再版了七八次,销量还不减的好书。

如果自己把书看懂了,它写错点根本不是问题。不过这种错误多的书,质量应该也不是很好,不用在上面下太多心思。
2011-04-11 08:47
给力芬2010
Rank: 2
等 级:论坛游民
帖 子:48
专家分:71
注 册:2011-3-17
收藏
得分:0 
回复 2楼 pangding
求修改
2011-04-11 08:48
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
运行起来有什么错误,具体说一下。
2011-04-11 08:59
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
有个比较明显的:
if(fp=fopen("stud_list","wb")==NULL)
=>
if( (fp=fopen("stud_list","wb")) == NULL)
2011-04-11 09:01
给力芬2010
Rank: 2
等 级:论坛游民
帖 子:48
专家分:71
注 册:2011-3-17
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
2011-04-11 09:02
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
收藏
得分:0 
菜鸟的看法:
main和save函数应该有:struct student stud[SIZE];
save没有形参,不明白怎么执行save。
2011-04-11 09:03
王立帅
Rank: 3Rank: 3
来 自:山东淄博
等 级:论坛游侠
帖 子:61
专家分:160
注 册:2011-4-4
收藏
得分:10 
程序代码:
#include<stdio.h>
#define SIZE 3
typedef struct student
{
    char name[10];
    int num;
    int age;
    char addr[15];
}stud[SIZE];
void save()
{
    stud stud1;
    FILE *fp;
    int i;
    if((fp=fopen("stud_list","wb"))==NULL)                         //修改处
    {
        printf("Can not open the list\n");
        return;
        }
    for(i=0;i<SIZE;i++)
    if(fwrite(&stud1[i],sizeof(struct student),1,fp)!=1)   //修改
    printf("File write error\n");
    fclose(fp);
    }

int main(int argc,char *argv[])
{
    stud stud1;                                                         //声明
    int i;
    puts("Please input students information,seris are name,num,age and addr");
    for(i=0;i<SIZE;i++)
    scanf("%s%d%d%s",&stud1[i].name,&stud1[i].num,&stud1[i].age,&stud1[i].addr);   //修改
    save();
    return 0;
   
    } 

//顺便提问,这个函数运行之后什么效果

一个人走
2011-04-11 11:55
王立帅
Rank: 3Rank: 3
来 自:山东淄博
等 级:论坛游侠
帖 子:61
专家分:160
注 册:2011-4-4
收藏
得分:0 
楼主能不能再在原程序基础上写一个将结果在显示在运行结果屏幕上的程序

一个人走
2011-04-11 11:58
给力芬2010
Rank: 2
等 级:论坛游民
帖 子:48
专家分:71
注 册:2011-3-17
收藏
得分:0 
回复 8楼 王立帅
前面不是已经定义了一个结构体组吗???为什么在后面的main函数里还要再一次声明呢
2011-04-11 12:08
快速回复:这是书上的例子怎么全是错???
数据加载中...
 
   



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

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