注册 登录
编程论坛 C++教室

初学顺序表

愿o圆o安 发布于 2017-03-21 21:26, 1724 次点击
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

#define MAXSIZE  100
typedef struct student
{
    char xuehao[14];
    char name[20];
    int sex;
    char tel[13];
    char qq[12];
}ElemType;

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

void InitSqlist(SqList *L)
{
    char flag;
     int i,n;

     ElemType *p;
     L->elem=(ElemType*)malloc(MAXSIZE*sizeof(ElemType));
     L->length=0;
     L->listsize=MAXSIZE;

     printf("是否输入初始数据?(Y/N)");
     scanf("%c",&flag);
     if(flag=='N'||'n')
         return;
     printf("请输入初始化的数据的个数:");
     scanf("%d",&n);
     if(n>L->listsize)
     {
         printf("数据太多,不足以储存!");
             return;
     }
     p=L->elem;
     L->length=n;
     for(i=0;i<n;i++)
     {
         printf("请输入第个学生的数据(学号  姓名 性别(0或1) 联系电话 qq号)\n",i+1);
         scanf("%s%s%d%s%s",p->xuehao,p->name,&p->sex,p->tel,p->qq);
     }
     return;
}

void PrintSqlist(SqList *L)
{
    int i;
    for(i=0;i<L->length;i++)
    {
        printf(" 学号  姓名   性别  联系方式  qq\n");
        printf("%-10s%-10s",L->elem[i].xuehao,L->elem[i].name);
        if(L->elem[i].sex)
            printf("男");
        else
            printf("女");
        printf("%-10s%-10s",L->elem[i].tel,L->elem[i].qq);
    }
}



void main()
{
    SqList L;
    InitSqlist(SqList *L);
    InitSqlist(SqList *L);
}
7 回复
#2
rjsp2017-03-22 08:35
呵呵,学个顺序表也要到网上打报告?!
当然,学习热情是蛮高的,要支持。但如果是秀代码,最好代码质量高一些;如果是提问,必须将问题描述清楚。

#3
愿o圆o安2017-03-22 12:33
回复 2楼 rjsp
主函数 调用函数的时候 不知道错在哪
#4
yangfrancis2017-03-22 13:05
编译信息
#5
愿o圆o安2017-03-22 18:01
回复 4楼 yangfrancis
就是上面的
#6
wp2319572017-03-22 18:04
  InitSqlist(SqList *L);
    InitSqlist(SqList *L);

调用函数哪有这么玩的 这样形态 都是声明函数时用到
#7
wp2319572017-03-22 18:06
改成这样 可以通过编译
程序代码:
void main()
{
    SqList* L;
    InitSqlist(L);
    InitSqlist(L);
}

但是你这个程序 运行出错  都是指针惹得祸 慢慢调试吧
#8
wp2319572017-03-22 18:09
这里
程序代码:
  for(i=0;i<n;i++)
     {
         printf("请输入第个学生的数据(学号  姓名 性别(0或1) 联系电话 qq号)\n",i+1);
         scanf("%s%s%d%s%s",p->xuehao,p->name,&p->sex,p->tel,p->qq);
     }
明显就没有申请内存

但是 程序根本就没走到这里 就崩溃了  
1