求助!求助!关爱新人!

时间:2022-09-30 16:07:08

求助,请问下面代码为什么一运行就死掉了。。。。。

#include "stdafx.h"
#include<iostream>
#include <stdlib.h>
#include<string>
#include <ctype.h>
using namespace std;
#define  INIT_LIST_SIZE  20
#define  ADATION 10
#define  ERROR 0
#define  OK 1
#define  FAILED 0
typedef int status;
 struct Data
{
 char sL;
 char ss;
 int  num;
 char ot;
 int h,j,k,g;
};

typedef struct Sqlist
{
 Data *elem;
 int listszie;
 int length;
}*sq;
status Initlist(sq L)
{
 L->elem=(Data *)malloc(INIT_LIST_SIZE*sizeof(Data));
 if(!L)return ERROR;
 L->length=0;
 L->listszie=INIT_LIST_SIZE;
 return OK;
}

status Getelm(sq L,int i)
{
 Data e;
 if(i<0&&i>L->length)
  return ERROR;
 e.ss=L->elem[i].ss;
 e.sL=L->elem[i].sL;
 e.num=L->elem[i].num;
 e.num=L->elem[i].num;
 return OK;
}

status Inputelm(sq L)
{
 char c=' ';
 int i=0;
 int j=0;
 while(i<5)
 {
  while(j<80&&c!='/n')
   {cin>>c;
  if (c>='a'&&c<='z')
  {
   L->elem[i].ss=c;
   L->elem[i].h++;
  }
  else if(c>='A'&&c<='Z')
  {
   L->elem[i].sL=c;
   L->elem[i].j++;
  }
  else if(c>='0'&&c<='9')
  {
   L->elem[i].num=c;
   L->elem[i].k;
  }
  else
  {
   L->elem[i].ot=c;
   L->elem[i].g++;
  }

  i++;
 L->length++;
 }
 }
 return OK;
}
status Insertelm(sq L,int i)
{

 char c;
 Data * p,*q;
 sq newbase=new Sqlist;
 if (i<0)
  return OVERFLOW;
 if (i>L->listszie)
  newbase->elem=(Data *)realloc(L->elem,(INIT_LIST_SIZE+ADATION)*sizeof(Data));
 if (!newbase)
  return FAILED;
 L=newbase;
 L->listszie+=INIT_LIST_SIZE;
 p=L->elem+i-1;
 for (q=L->elem+L->length;p<q;p--)
 *(q+1)=*q;
 cin>>c;
 if (c>='a'&&c<='z')
 {
  p->ss=c;
     p->h++;
 }
 else if(c>='A'&&c<='Z')
 {
  p->sL=c;
  p->j++;
 }
 else if(c>='0'&&c<='9')
 {
  p->num=c;
  p->k;
 }
 else
 {
  p->ot=c;
  p->g++;
 }
  L->length++;
 return OK;
}

status Display(sq L)
{
 for (int i =0;i<L->length;i++)
 cout<<L->elem->ss;
 for (int i =0;i<L->length;i++)
  cout<<L->elem->sL;
 for (int i =0;i<L->length;i++)
  cout<<L->elem->num;
 for (int i =0;i<L->length;i++)
  cout<<L->elem->ot;
 return OK;
}

void main()
{
 sq L=new Sqlist;
 Initlist(L);
 Inputelm(L);
 Insertelm(L,3);
 Getelm(L,3);
 Display(L);
}