搜索
您的当前位置:首页正文

数据结构学生成绩管理系统

来源:榕意旅游网
#include #include #include #define ERROR 0 #define OK 1

#define OVERFLOW -1

#define LIST_INIT_SIZE 100 #define LISTINCREMENT 10

typedef struct Stu { char name[20];//姓名 char stuno[10];//学号 int age;//年龄 int score1;//语文成绩 int score2;//数学成绩 int score3;//英语成绩 }ElemType;

typedef struct LIST { ElemType *elem; int length;//顺序表长度 int listsize;//链表最大值 }List;

int init(List *L)//构造一个空的线性表L { L->elem=(ElemType *)malloc(LIST_INIT_SIZE*sizeof(ElemType)); if(!L->elem)exit(OVERFLOW); L->length=0; L->listsize=LIST_INIT_SIZE; return OK; }

int ListLength(List *L) { return L->length; }

int Insert_SqList(List *La,int i,ElemType x) { ElemType *p,*q,*newbase; if(i<1||i>La->length+1)return ERROR;

if(La->length>=La->listsize) { newbase=(ElemType*)realloc(La->elem,(La->listsize+LISTINCREMENT)*sizeof(ElemType)); if(!newbase)exit(OVERFLOW); La->elem=newbase; La->listsize+=LISTINCREMENT; } q=&(La->elem[i-1]); for(p=&(La->elem[La->length-1]);p>=q;--p) *(p+1)=*p; *q=x; ++La->length; return OK; }

void printList(List *L) { int i; for(i=0;ilength;i++) { printf(\"第%d个学生的信息:\\n\ printf(\"%s,%s,%d,%d,%d,%d\.score1,L->elem[i].score2,L->elem[i].score3); printf(\"\\n\"); } }

int Delete_SqList(List *La,int i,ElemType *x) { ElemType *p,*q; if(i<1||i>La->length)return ERROR; p=&(La->elem[i-1]); x=p; q=La->elem+La->length-1; for(++p;p<=q;++p) *(p-1)=*p; --La->length; return OK; }

void main()

{

int i,w,n; int j=1; List list;

ElemType stuck; init(&list);

printf(\"请输入要建立学生信息的长度:\\n\scanf(\"%d\for(i=1;i<=n;i++) { printf(\"请输入第%d个学生的信息\\n\

printf(\"输入第%d个学生的姓名:\\n\scanf(\"%s\

printf(请输入第%d个学生的学号:\\n\scanf(\"%s\

printf(\"请输入第%d个学生的年龄:\\n\scanf(\"%d\

printf(\"请输入第%d个学生的语文成绩:\\n\scanf(\"%d\ printf(\"请输入第%d个学生的数学成绩:\\n\scanf(\"%d\

printf(\"请输入第%d个学生的英语成绩:\\n\scanf(\"%d\

list.length++; }printList(&list);

因篇幅问题不能全部显示,请点此查看更多更全内容

Top