| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 528 人关注过本帖
标题:这个问题有点晕,请高手指教
取消只看楼主 加入收藏
lp520zw
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2005-4-23
收藏
 问题点数:0 回复次数:1 
这个问题有点晕,请高手指教
//学生系统(引用&附加头结点)
//预定义
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<malloc.h>                                       
#define NULL 0
#define LEN sizeof(struct student)
//存储结构
struct student{
 long num;//学号
        char name[20];//姓名
        float English,Math,Computer;//各科成绩
 struct student *next;//指针域
};
int n;
//基本操作
struct student *creat(void){ //创建链表
 struct student *head;
 struct student *p1,*p2;
 n=0;
 p1=p2 =(struct student *)malloc(LEN);
 scanf("%ld,%10s,%f,%f,%f",&p1->num,p1->name,&p1->English,&p1->Math,&p1->Computer);
 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,%10s,%f,%f,%f",&p1->num,p1->name,&p1->English,&p1->Math,&p1->Computer);
 }
 p2->next=NULL;
 return(head);
 }
void print(struct student *head){ //输出
 struct student *p;
 printf("\nNOW,These %d recordes are:\n",n);
 printf("num\t\tname\tEnglish\tMath\tComputer");
 p=head;
 if(head!=NULL)
 while(p!=NULL)
 {printf("\n%ld\t%10s\t%f\t%f\t%f\n",p->num,p->name,p->English,p->Math,p->Computer);
        p=p->next;
 }
}
void main(){
 clrscr();//清屏
 struct student *head,stu;
 long del_num;
        printf("input records:");
 head=creat();
 print(head);
 printf("\ninput the deleted number:");
 getch();//暂停
}
以上是我作的关于学生系统的程序(链表).
我的测试结果显示太不美观,并且我觉的还有一点错误
在name之后的数据有问题,
请指教,谢谢.
搜索更多相关主题的帖子: 指教 
2005-05-23 03:10
lp520zw
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2005-4-23
收藏
得分:0 
是不是结构体的定义有问题啊
在各科成绩那里
应该怎么改啊?
2005-05-23 04:05
快速回复:这个问题有点晕,请高手指教
数据加载中...
 
   



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

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