学生成绩管理系统 联系客服

发布时间 : 星期三 文章学生成绩管理系统更新完毕开始阅读7277842ceefdc8d376ee3269

#include #include #include

struct student { char id[3]; char name[7]; char sex[3]; char dnum[4];//宿舍号码 char tel[9]; struct student *next; };

struct achievement { char id[3];//学号 char num[4];//课程编号 char kcmc[9];/*课程名称*/ float xf;//学分 float pscj;//平时成绩 float sycj;//实验成绩 float jmcj;//卷面成绩 float zhcj;//综合成绩 float sdxf;//实得学分 struct achievement *next; };

struct student *pa,*pa1,*heada,*enda;

struct achievement *pb,*pb1,*headb,*endb; FILE *fap,*fbp;

/*函数声明*/ void loada(); void loadb(); void inquire(); void inquire1(); void inquire2(); void inquire3(); void inquire4(); void menu();

void inputstudent();

void inputachievement(); void shrt(); void shrt1();

void shrt2(); void shrt3(); void shrt4(); void del();

void save/*quit*/(); void quit();

void main() { loada(); loadb(); menu(); }

//录入函数

void inputstudent()//录入学生信息 { pa1=(struct student *)malloc(sizeof(struct student)); enda->next=pa1,enda=pa1,enda->next=NULL; printf(\学 号:\ scanf(\ printf(\姓名:\ scanf(\ printf(\性 别:\ scanf(\ printf(\宿舍号码:\ scanf(\ printf(\电话号码:\ scanf(\ menu(); }

void inputachievement()//录入学生成绩 { pb1=(struct achievement *)malloc(sizeof(struct achievement)); endb->next=pb1,endb=pb1,endb->next=NULL; printf(\学 号:\ scanf(\ printf(\课程编号:\ scanf(\ printf(\课程名称:\ scanf(\ printf(\学 分:\ scanf(\ printf(\平时成绩:\

scanf(\ printf(\实验成绩:\ scanf(\ printf(\卷面成绩:\ scanf(\ /*综合成绩的计算*/ if(endb->sycj>0) endb->zhcj=(float)(endb->pscj*0.15+endb->sycj*0.15+endb->jmcj*0.7); else endb->zhcj=(float)(endb->pscj*0.3+endb->jmcj*0.7); /*实得学分计算*/ if(endb->zhcj>=90&&endb->zhcj<=100) endb->sdxf=endb->xf; else if(endb->zhcj>=80&&endb->zhcj<90) endb->sdxf=endb->xf*0.8; else if(endb->zhcj>=70&&endb->zhcj<80) endb->sdxf=endb->xf*0.75; else if(endb->zhcj>=60&&endb->zhcj<70) endb->sdxf=endb->xf*0.6; else endb->sdxf=0; menu();//主菜单函数 }

void inquire()//查询函数 { int a; printf(\查 询-----\\n\\n\ printf(\学生基本信息查询*\\n\ printf(\按学号查询\\n\ printf(\按姓名查询\\n\ printf(\按宿舍号码查询\\n\\n\ printf(\学生成绩查询*\\n\ printf(\按学号查询\\n\ printf(\返回上一级菜单\\n\\n\ printf(\请输入您要执行的功能所对应的数字:\ scanf(\ switch(a) { case 1:inquire1();break; case 2:inquire2();break; case 3:inquire3();break; case 4:inquire4();break;

default:menu(); } }

//按学号查询 void inquire1() { int flag=0; char id[3]; printf(\请输入您要查询的学生学号:\ scanf(\ pa=heada; do { pa1=pa; if(strcmp(pa->id,id)==0) { printf(\学号:%s\\n姓名:%s\\n性别:%s\\n宿舍号码:%s\\n电话号码:%s\\n\ pa->id,pa->name,pa->sex,pa->dnum,pa->tel); flag=1; } pa=pa->next; } while(pa1->next!=NULL); if(flag==0) printf(\无此学号!\\n\ inquire(); }

//按姓名查询 void inquire2() { int flag=0; char name[7]; printf(\请输入您要查询的学生姓名:\ scanf(\ pa=heada; do { pa1=pa; if(strcmp(pa->name,name)==0) { printf(\学号:%s\\n姓名:%s\\n性别:%s\\n宿舍号码:%s\\n电话号码:%s\\n\ pa->id,pa->name,pa->sex,pa->dnum,pa->tel); flag=1;