| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1574 人关注过本帖
标题:初学顺序表
只看楼主 加入收藏
愿o圆o安
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2017-3-13
结帖率:25%
收藏
 问题点数:0 回复次数:7 
初学顺序表
#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);
}
搜索更多相关主题的帖子: include 
2017-03-21 21:26
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
呵呵,学个顺序表也要到网上打报告?!
当然,学习热情是蛮高的,要支持。但如果是秀代码,最好代码质量高一些;如果是提问,必须将问题描述清楚。

2017-03-22 08:35
愿o圆o安
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2017-3-13
收藏
得分:0 
回复 2楼 rjsp
主函数 调用函数的时候 不知道错在哪
2017-03-22 12:33
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:0 
编译信息
2017-03-22 13:05
愿o圆o安
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2017-3-13
收藏
得分:0 
回复 4楼 yangfrancis
就是上面的
2017-03-22 18:01
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
  InitSqlist(SqList *L);
    InitSqlist(SqList *L);

调用函数哪有这么玩的 这样形态 都是声明函数时用到

DO IT YOURSELF !
2017-03-22 18:04
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
改成这样 可以通过编译
程序代码:
void main()
{
    SqList* L;
    InitSqlist(L);
    InitSqlist(L);
}

但是你这个程序 运行出错  都是指针惹得祸 慢慢调试吧

DO IT YOURSELF !
2017-03-22 18:06
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
这里
程序代码:
  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);
     }
明显就没有申请内存

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

DO IT YOURSELF !
2017-03-22 18:09
快速回复:初学顺序表
数据加载中...
 
   



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

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