| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 418 人关注过本帖
标题:兄弟们帮我看一下这个学生信息表在哪有错误了,谢谢
只看楼主 加入收藏
persistent_y
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-11-20
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
兄弟们帮我看一下这个学生信息表在哪有错误了,谢谢
#include<stdio.h>
#include<conio.h>
typedef int DataType;
#define maxnum 20
typedef struct
{int data[maxnum];
int length;
}SeqList;
int insert(SeqList *L, int i,DataType x)
{int j;
if(i<0||i>(*L).length+1)
{printf("\n i 值不合法");
return 0;
}
if((*L).length>=maxnum-1)
{printf("\n表满不能插入!");
return 0;
}
for(j=(*L).length; j>=i;j--) (*L).data[j+1]=(*L).data[j];
(*L).data[i]=x;
(*L).length++;
return 1;
}
int delete(SeqList *L,int i)
{int j;
if(i<0||i>(*L).length)
{printf("\n 删除位置错误!");
return 0;
}
for(j=i+1;j<=(*L).length;j++)
(*L).data[j-1]=(*L).data[j];
(*L).length--;
return 1;
}
void creatlist(SeqList *L)
{int n,i,j;
printf("请输入顺序表L的数据个数:\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{printf("data[%d]=",i);
scanf("%d",&((*L).data[i]));
}
(*L).length=n-1;
printf("\n");
}
printout(SeqList *L)
{int i ;
for (i=0;i<=(*L).length;i++)
printf("  data[%d]=",i);
printf("%d",(*L).data[i]);
}
printf("\n");
}
main()
{SeqList *L;
char cmd;
int i,t,x;
clrscr();
creatlist(L);
do
{printf("\n i,I----插入\n");
printf("d,D-----删除\n");
printf("q,Q----退出\n");
do
{cmd=getchar();
}while((cmd!='i')&&(cmd!='I')&&(cmd!='d')&&(cmd!='D')&&(cmd!='q')&&(cmd!='Q'));
switch(cmd)
{case 'i':
case 'I':
    printf("\nplease input the DATA:");
    scanf("%d",&x);
    printf(\nwhere?");
        scanf("%d",&i);
    insert(L,i,x);
    printout(L);
    break;
case 'd':
case 'D':
    printf("\nwhere to delete ?");
    scanf("%d",&i);
    delete(L,i);
    printout(L);
    break;
}
}while((cmd!='q')&&(cmd!='Q'));
}

搜索更多相关主题的帖子: 兄弟 学生 
2010-11-27 15:19
shafeilong
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:236
专家分:1434
注 册:2009-3-21
收藏
得分:10 
程序代码:
#include<stdio.h>
#include<conio.h>
typedef int DataType;
#define maxnum 20

typedef struct
{
    int data[maxnum];
    int length;
}SeqList;


int insert(SeqList *L, int i,DataType x)
{
    int j;
    if(i<0||i>(*L).length+1)
    {
        printf("\n i 值不合法");
        return 0;
    }
    if((*L).length>=maxnum-1)
    {
        printf("\n表满不能插入!");
        return 0;
    }
    for(j=(*L).length; j>=i;j--)
        (*L).data[j+1]=(*L).data[j];
    (*L).data[i]=x;
    (*L).length++;
    return 1;
}



int Delete(SeqList *L,int i)
{
    int j;
    if(i<0||i>(*L).length)
    {
        printf("\n 删除位置错误!");
        return 0;
    }
    for(j=i+1;j<=(*L).length;j++)
    (*L).data[j-1]=(*L).data[j];
    (*L).length--;
    return 1;
}
void Creatlist(SeqList *L)
{
    int n,i;
    printf("请输入顺序表L的数据个数:\n");
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        printf("data[%d]=",i);
        scanf("%d",&((*L).data[i]));
    }
    (*L).length=n-1;
    printf("\n");
}

void printout(SeqList *L)
{
    int i ;
    for (i=0;i<=(*L).length;i++)
        printf("  data[%d]=",i);
    printf("%d",(*L).data[i]);

    printf("\n");
}


main()
{
    SeqList *L;
    char cmd;
    int i,t,x;

    Creatlist(L);
    do
    {
        printf("\n i,I----插入\n");
        printf("d,D-----删除\n");
        printf("q,Q----退出\n");
        do
        {
            cmd=getchar();
        }while((cmd!='i')&&(cmd!='I')&&(cmd!='d')&&(cmd!='D')&&(cmd!='q')&&(cmd!='Q'));
        switch(cmd)
        {
            case 'i':
            case 'I':
            printf("\nplease input the DATA:");
            scanf("%d",&x);
            printf("\nwhere?");
            scanf("%d",&i);
            insert(L,i,x);
            printout(L);
            break;
            case 'd':
            case 'D':
            printf("\nwhere to delete ?");
            scanf("%d",&i);
            Delete(L,i);
            printout(L);
            break;
        }
    }while((cmd!='q')&&(cmd!='Q'));
}
我只能把他改成没有error  其他的情况你自己弄   那个printfout没定义 你自己定义吧
另外  delete是关键字 改成Delete
2010-11-27 18:16
xiaomarn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:348
专家分:2026
注 册:2009-3-18
收藏
得分:10 
程序代码:
#include<stdio.h>
#include<conio.h>
#include<malloc.h>
#include<stdlib.h>

typedef int DataType;

#define maxnum 20

typedef struct
{
      int data[maxnum];
      int length;
}SeqList;

int
insert(SeqList *L, int i,DataType x)
{
      int j;

      if(i<0||i>(*L).length+1)
      {
            printf("\n i 值不合法");
            return 0;
      }
      if((*L).length>=maxnum-1)
      {
            printf("\n 表满不能插入!");
            return 0;
      }

      for(j=(*L).length; j>=i;j--)
            (*L).data[j+1]=(*L).data[j];
      (*L).data[i]=x;
      (*L).length++;
      return 1;
}

int
del(SeqList *L,int i)
{
      int j;

      if(i<0||i>(*L).length)
      {
            printf("\n 删除位置错误!");
            return 0;
      }
      for(j=i+1;j<=(*L).length;j++)
            (*L).data[j-1]=(*L).data[j];
      (*L).length--;
      return 1;
}

void
creatlist(SeqList *L)
{
      int n,i;

      printf("请输入顺序表L的数据个数:\n");
      scanf("%d",&n);
      for(i=0;i<n;i++)
      {
            printf("data[%d]=",i);
            scanf("%d",&((*L).data[i]));
      }
      (*L).length=n-1;
      printf("\n");
}

void
printout(SeqList *L)
{
      int i ;

      for (i=0;i<=(*L).length;i++)
      {
            printf("  data[%d]=",i);
            printf("%d",(*L).data[i]);
      }

      printf("\n");
}

int
main(void)
{
      SeqList *L=(SeqList *)malloc(sizeof(SeqList));
      char cmd;
      int i,x;

      // clrscr();
      creatlist(L);
      do
      {
            printf("\ni,I----插入\n");
            printf("d,D-----删除\n");
            printf("q,Q----退出\n");

            fflush(NULL);
            do
            {
                  cmd=getchar();
            }while((cmd!='i')&&(cmd!='I')&&(cmd!='d')&&(cmd!='D')&&(cmd!='q')&&(cmd!='Q'));
            switch(cmd)
            {
                  case 'i':
                  case 'I':
                        printf("\nplease input the DATA:");
                        scanf("%d",&x);
                        printf("\nwhere?");
                        scanf("%d",&i);
                        insert(L,i,x);
                        printout(L);
                        break;
                  case 'd':
                  case 'D':
                        printf("which num?");
                        scanf("%d",&i);
                        del(L,i);
                        printout(L);
                        break;
            }
      }while((cmd!='q')&&(cmd!='Q'));

      free(L);
      return 0;
}
OK,完成楼主要求
2010-11-27 21:30
快速回复:兄弟们帮我看一下这个学生信息表在哪有错误了,谢谢
数据加载中...
 
   



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

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