首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

写一个很小学生信息管理系统,帮忙看错在哪里

2013-10-12 
写一个小小的学生信息管理系统,帮忙看错在哪里? 自己改来改去,现在代码可能有点乱啦。#include stdio.h#i

写一个小小的学生信息管理系统,帮忙看错在哪里?
 自己改来改去,现在代码可能有点乱啦。

#include <stdio.h>
#include <malloc.h>
#define MaxSize 50

typedef struct
{
char No[5];
char name[10];
float score;
int age;
} Student;
typedef struct
{
Student data[MaxSize];
int length;
} SqList;

void Create_List(SqList &);
int Empty_List(SqList L);
int Delete_List(SqList *L,int i);
void Print_List(SqList L);

int main()
{
SqList L;
Create_List(L);
Print_List(L);
return 0;
}

void Create_List(SqList &A)
{
//L=(SqList *)malloc(sizeof(SqList));
A.length=0;
int n=0;
printf("请输入要创建的学生个数:\n");
scanf("%d",&n);
printf("请依次输入学生的年龄,姓名,学号,分数:\n");
for(int i=0;i<n;i++)
{
scanf("%d%s%s%f",&A.data[i].age,A.data[i].name,A.data[i].No,&A.data[i].score);
}
}

int Insert_List(SqList *L,Student &e,int i)
{
Student *p,*q;
if(i<1||i>L->length+1)
return 0;
q=&L->data[i-1];
for(p=&L->data[L->length-1];p>=q;--p)
*(p+1)=*p;
*q=e;
++L->length;
return 1;
}

int Delete_List(SqList *L,int i)
{
if(Empty_List(*L)==1)
{
return 0;
}
for(int j=i-1;j<=L->length-2;j++)
L->data[j]=L->data[j+1];
return 1;
}

int Empty_List(SqList L)
{
if(L.length==0)
return 1;
else
return 0;
}

void Print_List(SqList L)
{
int j=0;
printf("年龄      姓名    学号    分数\n");
for(j=0;j<=L.length-1;j++)
{
printf("%d  %s  %s  %f\n",L.data[j].age,L.data[j].name,L.data[j].No,L.data[j].score);

}

}
管理 系统,数据结构
[解决办法]
在函数Create_List中要增加以下语句:

A.length=n;
[解决办法]
#include <stdio.h>
#include <malloc.h>
#define MaxSize 50
 
typedef struct
{
    char No[5];
    char name[10];
    float score;
    int age;
} Student;
typedef struct
{
    Student data[MaxSize];
    int length;
} SqList;
 
void Create_List(SqList &);
int Empty_List(SqList L);
int Delete_List(SqList *L,int i);
void Print_List(SqList L);
 
int main()
{
    SqList L;
    Create_List(L);
    Print_List(L);

    return 0;
}
 
void Create_List(SqList &A)
{
    //L=(SqList *)malloc(sizeof(SqList));
   
    int n=0;
    printf("请输入要创建的学生个数:\n");
    scanf("%d",&n);
A.length=n;
    printf("请依次输入学生的年龄,姓名,学号,分数:\n");
    for(int i=0;i<n;i++)
    {
        scanf("%d%s%s%f",&A.data[i].age,A.data[i].name,A.data[i].No,&A.data[i].score);
    }
}
 
int Insert_List(SqList *L,Student &e,int i)
{
    Student *p,*q;
    if(i<1
[解决办法]
i>L->length+1)
        return 0;
    q=&L->data[i-1];
    for(p=&L->data[L->length-1];p>=q;--p)
        *(p+1)=*p;
    *q=e;
    ++L->length;
    return 1;
}
 
int Delete_List(SqList *L,int i)
{
    if(Empty_List(*L)==1)
    {
        return 0;
    }
    for(int j=i-1;j<=L->length-2;j++)
        L->data[j]=L->data[j+1];
    return 1;
}
 
int Empty_List(SqList L)
{
    if(L.length==0)
        return 1;


    else
        return 0;
}
 
void Print_List(SqList L)
{
    int j=0;
    printf("年龄      姓名    学号    分数\n");
    for(j=0;j<=L.length-1;j++)
    {
        printf("%d  %s  %s  %f\n",L.data[j].age,L.data[j].name,L.data[j].No,L.data[j].score);
     
    }
 
}

热点排行