| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6712 人关注过本帖
标题:小女就要交作业了.学生成绩管理系统.大家帮帮忙好吗?我都要哭出来了..
只看楼主 加入收藏
kaifeng05
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2005-5-11
收藏
得分:0 
我想帮你,但我无能为力呀

学.....佛......有恒
2005-06-04 23:56
粉色精灵
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2005-6-2
收藏
得分:0 

大家帮我看看啊.我这个只是按照谭浩强的<C程序设计>第二版后面(我们的教材呀)的链表练习的原代码写的一个小程序(书上的原代码啊),想漫漫的练习一下啊.可是,我写了之后却不能运行. 希望大家给我看看是哪里的问题啊....程序如下: #include<malloc.h> #define NULL 0 #define LEN sizeof(struct student)

struct student {long num; float score; struct student * next; }; int n;

struct student * creat(void)/*定义函数增加,返回一个带指向链表头的指针*/ {struct student * head,* p1,*p2; n=0; p1=p2=(struct student *)malloc(LEN);/*开辟一个新单元*/ scanf("%ld,%f",&p1->num,&p1->score); head=NULL; while(p1->num!=0) {n=n+1; if(n==1)head=p1; else p2->next=p1; p2=p1; p1=(struct student * )malloc(LEN); scanf("%ld,%f",&p1->num,&p1->score); } p2->next=NULL; return(head); }

void print(struct student * head)/*此函数的功能是输出链表*/ {struct student * p; printf("\nNow,These %d records are:\n",n); p=head; if(head!=NULL) do {printf("%ld,%5.1f\n",p->num,p->score); p=p->next; }while(p!=NULL); }

struct student * del(struct student * head,long num)/*此函数是删除一个接点*/ {struct student * p1,* p2; if(head==NULL){printf("\nList null!!\n"); }/*这个end到底是怎么回师?*/ p1=head; while(num!=p1->num && p1->next!=NULL) {p2=p1;p1=p1->next; }/*p1向后移动一个接点*/

if(num==p1->num)/*找到了*/ {if(p1==head) head=p1->next;/*p1指向的是第一个接点,把第二个接点地址赋给head*/ else p2->next=p1->next;/*否则把下一个地址赋给前一个地址*/ printf("delete:%ld\n",num); n=n-1; } else printf("%ld not been found!!\n",num);/*输出找不到该接点*/ return(head); }

struct student * insert(struct student * head,struct student * stud)/*此函数的作用是插入一个结点*/ {struct student * p0,* p1,* p2; p1=head; /*使p1指向第一个接点*/ p0=stud; /*p0指向要插入的接点*/ if(head==NULL) {head=p0;p0->next=NULL;}/*使p0指向的接点作为头接点*/ else {while((p0->num>p1->num)&&(p1->next!=NULL)) {p2=p1; /*使p2指向刚才p1指向的结点*/ p1=p1->next; } /*p1后移一个结点*/ if(p0->num<p1->num) {if(head==p1) head=p0;/*插入到原来的第一个结点之前*/ else p2->next=p0; /*插入到p2指向的结点之后*/ p0->next=p1; } else{p1->next=p0;p0->next=NULL;}/*插入到最后的结点之后*/ } n=n+1; return(head); }

main() {struct student * head,* stu; long del_num; printf("input records: \n"); head=creat();/*调用creat函数*/ print(head);/*调用print函数*/ printf("\ninput the deleted number:"); scanf("%ld",&del_num); while(del_num!=0) {head=del(head,del_num); print(head); printf("input the deleted number:"); scanf("%ld",&del_num); } printf("\ninput the inserted record:"); stu=(struct student *)malloc(LEN); scanf("%ld,%f",&stu->num,&stu->score); while(stu->num!=0) {head=insert(head,stu); print(head); printf("input the inserted record:"); stu=(struct student * )malloc(LEN); scanf("%ld,%f",&stu->num,&stu->score); } }

编译是通过了.可是当我输入第一个数据的时候:99101,99 按回车之后就出错了,显示:scanf : floating point formats not linked Abnormal program termination 请问各位大哥哥,这是什么错误啊???我应该怎么做啊??这个我不是要做作业拉。。。你们要回答我哦。。。

2005-06-05 22:06
粉色精灵
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2005-6-2
收藏
得分:0 
快回答我呀.......还有东西要做呢.........5555555555555555不能卡在这里啊.....谢谢 拉。...
2005-06-06 12:54
mingyue
Rank: 1
等 级:新手上路
帖 子:60
专家分:0
注 册:2004-5-13
收藏
得分:0 
float数据输入的问题。
解决办法是在struct student * creat(void)中增加一个中间变量,让编译器知道score是float型的。

2005-06-06 14:01
warriorguo
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-5-28
收藏
得分:0 
这程序不难啊~

2005-06-06 18:03
wolf
Rank: 1
等 级:新手上路
帖 子:52
专家分:0
注 册:2005-6-6
收藏
得分:0 
delphi的可以不?可以的话我可能给你

我的群为(IT学院):8114403 欢迎大家加入共同讨论IT问题!
2005-06-06 19:37
粉色精灵
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2005-6-2
收藏
得分:0 
以下是引用mingyue在2005-6-6 14:01:59的发言: float数据输入的问题。 解决办法是在struct student * creat(void)中增加一个中间变量,让编译器知道score是float型的。
请问能够讲得清楚一点吗??我很笨的啊。......55555 DELPHI不行啊。老师就是要C啊,
2005-06-07 00:33
粉色精灵
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2005-6-2
收藏
得分:0 
以下是引用wolf在2005-6-6 19:37:04的发言: delphi的可以不?可以的话我可能给你
不过可能下一个题目就是用DELPHI做咯。... 那你给我吧,,让我未雨绸缪嘛.哈哈哈哈谢谢先咯。....
2005-06-07 00:43
流浪魂
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2005-4-21
收藏
得分:0 
想帮,没时间,这样的题目,应不难吧

何谓菜鸟?,呵呵,就是会吃菜的鸟。
2005-06-07 07:45
淘淘
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2005-5-18
收藏
得分:0 
123你怎么这样啊 

天上会闪的是什么啊? 我要把你摘下来.     ..................放到家里的窗前
2005-06-07 11:34
快速回复:小女就要交作业了.学生成绩管理系统.大家帮帮忙好吗?我都要哭出来了..
数据加载中...
 
   



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

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