资源描述:
《一个学生成绩管理系统C语言源代码.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一个学生成绩管理系统c源代码#include#include#include/*班级成绩管理*/#defineERROR0#defineOK1#defineK9charkm[K][20];/*单链表存储结构*/typedefstructLNode{longID;charname[10];charsex[2];intage;doublecj[K];structLNode*next;}*LinkList;charname[10],sex[2],k[20];doublec;inti,x,age,ks;staticinty;structLNodee;longid;/*创建一个带头结点的
2、空链表*/LinkListcreate(void){LinkListL;L=(LinkList)malloc(sizeof(structLNode));if(L!=NULL)L->next=NULL;returnL;}/*返回平均成绩*/doublepj(doublecj[K]){inti;doublepj=0;for(i=0;i;pj/=K;returnpj;}/*返回结点数*/intnode(LinkListp){intj=0;while(p->next){p=p->next;++j;}returnj;}/*标题*/voidbt(){printf("ID号t姓名t性别
3、t年龄t");for(i=0;iID);printf("%st",p->name);printf("%st",p->sex);printf("%dt",p->age);for(i=0;icj);printf("%f",pj(p->cj));}/*输出全部信息*/intall(LinkListp){intj=0;bt();while(p->next
4、){p=p->next;put(p);++j;}printf("共有%d人",j);returnOK;}/*输出全部信息---按编号*/intidall(LinkListp,longD){intj=0;bt();while(p->next){p=p->next;if(p->ID==D){put(p);++j;}}printf("共有%d人",j);returnOK;}/*输出全部信息---按姓名*/intnameall(LinkListp,charname[10]){intj=0;bt();while(p->next){p=p->next;if(p->name==name){p
5、ut(p);++j;}}printf("共有%d人",j);returnOK;}/*输出全部信息---按年龄*/intageall(LinkListp,intage){intj=0;bt();while(p->next){p=p->next;if(age==p->age){put(p);++j;}}printf("共有%d人",j);returnOK;}/*输出全部信息---按性别*/intsexall(LinkListp,charsex[2]){intj=0;bt();while(p->next){p=p->next;if(p->sex==sex){put(p);++j;}}
6、printf("共有%d人",j);returnOK;}/*输出全部信息---按成绩*/intcjall(LinkListp,intk,doublecj)/*k:第几门科目cj:大于等于这个分数*/{intj=0;bt();while(p->next){p=p->next;if(p->cj[k]>=cj){put(p);++j;}}printf("共有%d人",j);returnOK;}/*获取ID的信息返回给对象e---获取信息*/intGetdata(LinkListL,longD,structLNodee){structLNode*p=L->next;inti;while
7、(p
8、
9、p->ID!=D)p=p->next;if(!p)returnERROR;e.ID=p->ID;e.age=p->age;for(i=0;icj;for(i=0;i<10;i++)e.name=p->name;for(i=0;i<2;i++)e.sex=p->sex;returnOK;}/*将对象e的信息插入表---添加*/intInsert(LinkListp,structLNodee){LinkLists;s=(LinkList)malloc(siz