学生成绩统计程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
}
void tianjia(struct xsnode *xshead)
{
int i,n,w;
struct xsnode *p=NULL;
printf("请输入要添加的人数:");
scanf("%d",&n);
printf("\n\n\n输入想要添加的学生信息:\n");
printf("**************************************\n");
printf(" \n\n\n正在删除学生信息......\n");
while(p!=NULL)
{
xshead->next=p->next;
free(p);
p=xshead->next;
}
printf(" \n\n\n OK!\n");
}
void bjg(struct xsnode *xshead)
printf("学号姓名高数英语物理\n");
printf("--------------------------------------\n");
for(i=0;i<n;i++)
{
p=(struct xsnode *)malloc(sizeof(struct xsnode));
scanf("%d%s%d%d%d%f",&p->xh,&p->xm,&p->gs,&p->yy,&p->wl);
while(p!=NULL)
{ if(p->xh==num)
printf(" %-4d %-10s%-2d %-2d %-2d %-7.2f \n",
p->xh,p->xm,p->gs,p->yy,p->wl,p->xfj);
p=p->next;
}
printf("***************************************************\n");
printf("学号姓名高数英语物理学分积\n");
printf("--------------------------------------------------\n");
while(p!=NULL)
{
printf(" %-4d %-10s%-2d %-2d %-2d %-7.2f \n",
p->xh,p->xm,p->gs,p->yy,p->wl,p->xfj);
while(p!=NULL)
{ p->xfj=((p->gs)*6.0+(p->yy)*5.0+(p->wl)*4.0)/15.0;
printf(" %-4d %-10s%-2d %-2d %-2d %-7.2f \n",
p->xh,p->xm,p->gs,p->yy,p->wl,p->xfj);
p=p->next;
{ printf("\n已找到,信息如下:\n\n");
printf("****************************************************\n");
printf("学号姓名高数英语物理学分积\n");
printf("----------------------------------------------------\n");
printf(" %-4d %-10s%-2d %-2d %-2d %-7.2f \n",
p->xh,p->xm,p->gs,p->yy,p->wl,p->xfj);
printf("****************************************************\n");
printf(" \n输入修改信息\n\n");
printf("***************************************************\n");
printf("学号姓名高数英语物理学分积\n");
printf("---------------------------------------------------\n");
#include<stdio.h>
#include <stdlib.h>
struct xsnode
{
int xh; //学号
char xm[15]; //姓名
int gs; //高数
int yy; //英语
int wl; //物理
double xfj; //学分积
struct xsnode *next;
printf("\n修改后信息输出\n\n");
printf("****************************************************\n");
printf("学号姓名高数英语物理学分积\n");
printf("--------------------------------------------------\n");
{ p->xfj=((p->gs)*6.0+(p->yy)*5.0+(p->wl)*4.0)/15.0;
p=p->next;
}
}
void xuehao(struct xsnode *xshead) //按学号查询学生信息
{
int num;
struct xsnode *p=xshead->next; //跳过头结点
printf(" %-4d %-10s%-2d %-2d %-2d %-7.2f \n",
p->xh,p->xm,p->gs,p->yy,p->wl,p->xfj);
}
p=p->next;
}
printf("****************************************************\n");
while(p!=NULL)
{ if((p->xfj)>85)
printf(" %-4d %-10s%-2d %-2d %-2d %-7.2f \n",
p->xh,p->xm,p->gs,p->yy,p->wl,p->xfj);
p=p->next;
}
printf("***************************************************\n");
};
void create(struct xsnode *xshead) //学生信息录入,建立链表
{
int i;
int n;
struct xsnode *p=NULL;
printf("\n输入班级人数:");
scanf("%d",&n);
printf("\n\n输入学生信息\n");
printf("\n-----------------------------\n");
printf("\n请输入查询学生学号:");
scanf("%d",&num);
printf("***************************************************\n");
printf("学号姓名高数英语物理学分积\n");
printf("---------------------------------------------------\n");
printf("\n\n输出学分积大于85分的同学信息\n\n");
printf("***************************************************\n");
printf("学号姓名高数英语物理学分积\n");
printf("---------------------------------------------------\n");
printf(" 3.物理不及格的学生信息\n");
printf(" 4.退出系统\n");
printf(" **************请输入编号选择功能****************\n");
printf("请输入功能编号:");
scanf("%d",&ch1);
void gaoshu60(struct xsnode *xshead);
printf("学号姓名高数英语物理\n");
printf("-----------------------------\n");
for(i=0;i<n;Βιβλιοθήκη Baidu++)
{
p=(struct xsnode*)malloc(sizeof(struct xsnode));
scanf("%d%s%d%d%d",&p->xh,&p->xm,&p->gs,&p->yy,&p->wl);
}
printf("***************************************************\n");
}
void xfj1(struct xsnode *xshead) //求学分绩
{
struct xsnode *p=xshead->next; //跳过头结点
while(p!=NULL)
p=p->next;
}
printf("***************************************************\n");
}
void shanchu(struct xsnode *xshead) //删除链表
{
struct xsnode *p=xshead->next; //跳过头结点
}
void xiugai(struct xsnode *xshead) //修改某学生信息并输出
{
int num;
struct xsnode *p=xshead->next; //跳过头结点
printf("\n请输入修改学生学号:");
scanf("%d",&num);
while(p!=NULL)
{ if(p->xh==num)
printf("****************************************************\n");
printf("学号姓名高数英语物理\n");
printf("----------------------------------------------------\n");
p->next=xshead->next;
xshead->next=p;
}
printf("**************************************\n");
}
void xfj85(struct xsnode *xshead) //输出学分积大于85分的同学信息
{
struct xsnode *p=xshead->next; //跳过头结点
void yingyu60(struct xsnode *xshead);
void wuli60(struct xsnode *xshead);
switch(ch1)
{case 1: gaoshu60(xshead); //输出高数成绩小于60分的同学信息
break;
case 2: yingyu60(xshead); //输出英语成绩小于60分的同学信息
p->next=xshead->next;
xshead->next=p;
}
printf("-----------------------------\n");
}
void xfj(struct xsnode *xshead) //求学分绩
{
struct xsnode *p=xshead->next; //跳过头结点
{
struct xsnode *p=xshead->next;
int ch1;
while(1)
{
printf(" \n\n **********查询某科目不及格的学生信息***********\n");
printf(" 1.高数不及格的学生信息\n");
printf(" 2.英语不及格的学生信息\n");
scanf("%d%s%d%d%d",&p->xh,&p->xm,&p->gs,&p->yy,&p->wl);
p->xfj=(p->gs*6.0+p->yy*5.0+p->wl*4.0)/15.0;
printf("****************************************************\n");
}
void output(struct xsnode *xshead) //链表显示,输出学生信息
{
struct xsnode *p=xshead->next; //跳过头结点
xfj1(xshead);
printf(" \n\n\n输出学生信息\n");
printf("***************************************************\n");
break;
相关文档
最新文档