| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 393 人关注过本帖
标题:大神们,帮我看看这个程序出的问题,提前谢谢!
取消只看楼主 加入收藏
Tooker
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2013-10-12
结帖率:66.67%
收藏
已结贴  问题点数:10 回复次数:2 
大神们,帮我看看这个程序出的问题,提前谢谢!
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#define MAXSIZE 100
#define OK 1
#define ERROR 0
#define MAXLEN 20

typedef struct
{
  int num[MAXLEN];
  char name[MAXLEN];
  int socre;
  int classes;
}ElemType;

typedef struct
{
 ElemType *elem;
 int last;
 int listsize;
}SqList;

 ListInit(SqList *L)
{
 L->elem=(ElemType *)malloc(sizeof(ElemType));
 L->last=0;
 L->listsize=MAXSIZE;
 return OK;
}

void ReadIn(ElemType *e)
{
 printf("输入学号:");
scanf("%d",e->num);
 printf("输入姓名:");
scanf("%s",e->name);
 printf("输入成绩:");
scanf("%d",&e->socre);
 printf("输入年级:");
scanf("%d",&e->classes);
}

 ListInsert(SqList *L,int pos,ElemType e)
{
ElemType *p,*q;
 if(pos<1||pos>L->last+1)
 return ERROR;
 p=&L->elem[L->last];
 q=&L->elem[pos-1];
 for(;p>=q;--p)
 *(p+1)=*p;
 *q=e;
 ++L->last;
 return OK;
}

 void Print(SqList L)
{ int i;
 for(i=0;i<L.last;++i)                    
 {printf("学号:%d\t",L.elem[i].num);
 printf("姓名:%s\t",L.elem[i].name);
 printf("成绩:%d\t",L.elem[i].socre);
 printf("年级:%d\t",L.elem[i].classes);
 printf("\n");
 }
}

void Sort(SqList *L  )
{int i,j;
 ElemType t;
 for(i=0;i<L->last-1;++i)
 for(j=0;j<L->last-i-1;++j)
 if(L->elem[j].socre>L->elem[j+1].socre)
 {t=L->elem[j];

 L->elem[j]=L->elem[j+1];
 L->elem[j+1]=t;
 }
 int a;
 for(a=0;a<L->last;++a)                    
 {
 printf("学号:%d\t",L->elem[a].num);
 printf("姓名:%s\t",L->elem[a].name);
 printf("成绩:%d\t",L->elem[a].socre);
 printf("年级:%d\t",L->elem[a].classes);
 printf("\n");
 }

}

int Find(SqList *L , int  *b)
{
 printf("请输入你想查找的学生学号:");
 scanf("%c",*b);
 int i=0;
 while((i<=L->last)&&(L->elem[i].num)!=(*b))
  i++;
 if(i<=L->last)
  return(i+1);
 else
  return(-1);
  {
 printf("学号:%d\t",L->elem[i].num);
 printf("姓名:%s\t",L->elem[i].name);
 printf("成绩:%d\t",L->elem[i].socre);
 printf("年级:%d\t",L->elem[i].classes);
 printf("\n");
 }

}

void main()
{SqList L;

 int key,len;
 int b;
 char a;
 ElemType e;
 ListInit(&L);
  printf("********************************学生管理系统***********************************\n");
  printf("是否进入学生管理系统?(Y/N): \n");
 a=getchar();
 if(a=='Y'||a=='y')
 {do{
printf("∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞\n");
 printf("********************************(1):输入成绩***********************************\n");

printf("\n");
 printf("********************************(2):成绩排序***********************************\n");
 printf("\n");
 printf("********************************(3):显示所有成绩*******************************\n");
 printf("\n");
  printf("*******************************(4):按学号查找学生*****************************\n");
 printf("\n");
 printf("********************************(5):退出***************************************\n");
 printf("\n");
printf("∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞\n");
printf("\n");
 scanf("%d",&key);
 switch(key)
 {
 case 1 :ReadIn(&e);
 len=L.last;
 ListInsert(&L,++len,e);
 break;
 case 2 :Sort(&L);break;
 case 3 :Print(L);break;
 case 4 :Find(&L,&b);break;
 case 5:exit(0);
 default:printf("Error\n");break;
 }
 }while(1);
 }
 else
  printf("不能进入学生管理系统!\n");
 
}




搜索更多相关主题的帖子: classes include return 
2013-12-13 16:31
Tooker
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2013-10-12
收藏
得分:0 
问题在Find函数中
2013-12-13 16:32
Tooker
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2013-10-12
收藏
得分:0 
回复 3楼 pangshch
你说的问题我改了后还是运行不出来find函数的内容啊?
2013-12-13 21:33
快速回复:大神们,帮我看看这个程序出的问题,提前谢谢!
数据加载中...
 
   



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

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