标题:请好心人帮我看一下这个程序
只看楼主
稳重的小蘑菇
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2014-5-10
得分:0 
回复 10 楼 top398
谢谢,你说的这个地方我已经改了
2014-05-12 09:59
稳重的小蘑菇
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2014-5-10
得分:0 
回复 8 楼 top398
这是个C语言的课程设计
说实话,我也不大会,你说我没有初始化数组,刚刚我在学生信息的结构体里视图初始化了一下,但是这样之后就出现错误了

你能帮我修改一下么?后天就要答辩了,我实在是不会修改。。。
2014-05-12 10:03
top398
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:427
专家分:857
注 册:2014-5-2
得分:0 
初始化建议在为新的记录分配内存后进行,如
..... malloc( .... );
memset (p, 0, struct_size);


[ 本帖最后由 top398 于 2014-5-12 11:37 编辑 ]
2014-05-12 11:20
稳重的小蘑菇
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2014-5-10
得分:0 
回复 13 楼 top398
这个具体难改吗?可否加QQ问一下你?
2014-05-12 19:27
top398
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:427
专家分:857
注 册:2014-5-2
得分:0 
不难改,我只是示例一下,你对照具体代码改即可,malloc 的地方不多。
2014-05-13 00:17
top398
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:427
专家分:857
注 册:2014-5-2
得分:0 
回头看了下你的代码,就添加课程和学生信息两个地方。例如:
case 1:{p1=(struct student *)malloc(sizeof(struct student));
下面添一行:
memset( p1, 0, sizeof (struct student) );
另一处类似。
另外一个问题,malloc的内存应该用 free 来释放。你在删除相应信息的的时候并没有 free 掉其占用的内存。
2014-05-13 00:22
稳重的小蘑菇
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2014-5-10
得分:0 
回复 16 楼 top398
按照你说的这样添加了两处,可是这样之后进去了添加学生信息的时候就出错了,就停止了。
呜呜~~是为什么呀?
2014-05-13 13:19
top398
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:427
专家分:857
注 册:2014-5-2
得分:0 
我把你楼顶的代码复制下来试了一下,除掉输出格式问题外(自己调整即可),共改动3处。
原83行:
        p1 = ( struct course * )malloc( sizeof( struct course ) );
        memset (p1, 0, sizeof( struct course ) ); // 加入此行
原160行:
        p1 = ( struct student * )malloc( sizeof( struct student ) );
        memset (p1, 0, sizeof( struct student ) ); // 加入此行
原280行:
        printf( "无法储存!" );
        // 原语句换码错误: printf( "\无法储存!" );
程序可以编译通过,并能添加课程和学生信息。
我想你是不是照搬了代码,两处初始化的结构大小是不同的,一个是 sizeof( struct course ),一个是 sizeof( struct student )。
2014-05-13 14:20
稳重的小蘑菇
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2014-5-10
得分:0 
回复 18 楼 top398
恩恩,这样就行了~!你真厉害!谢谢你啦~!
2014-05-13 16:56
top398
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:2
帖 子:427
专家分:857
注 册:2014-5-2
得分:0 
以下是引用稳重的小蘑菇在2014-5-13 16:56:46的发言:

恩恩,这样就行了~!你真厉害!谢谢你啦~!
好的。要在理解的基础上编写和修改,切忌生搬硬套哦。
2014-05-13 17:36



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-431342-1-1.html




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

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