网站做优化需要哪些后台信息,整个网站开发框架流程,网站教程dw,怎样建置换平台网站记一次课程设计作业 学生成绩管理系统#include#include#include#include/*学生成绩管理系统介绍2017C语言课程设计 2021609361.支持将数据保存到文件并从文件中读取已有数据2.支持添加、删改数据3.支持按学号或姓名查询、删除、修改数据4.支持简单统计#xff0c;包括 不及格…记一次课程设计作业 学生成绩管理系统#include#include#include#include/*学生成绩管理系统介绍2017C语言课程设计 2021609361.支持将数据保存到文件并从文件中读取已有数据2.支持添加、删改数据3.支持按学号或姓名查询、删除、修改数据4.支持简单统计包括 不及格人数、最高分、最低分5.支持按总分排序整理数据*/struct student{char num[10];char name[20];int cgrade;int sxgrade;int yygrade;int total;float ave;};struct node{struct student data;struct node *next;}*head,*last;int Add(int i)//执行增加学生记录操作{struct node *tmp;int loop1;while (loop){printf(请按以下格式输入数据:\n);tmp(struct node *)malloc(sizeof (struct node));printf(学号姓名 C语言成绩 数学成绩 英语成绩\n);scanf(%s %s %d %d %d,tmp-data.num,tmp-data.name,tmp-data.cgrade,tmp-data.sxgrade,tmp-data.yygrade);tmp-data.totaltmp-data.cgradetmp-data.sxgradetmp-data.yygrade;tmp-data.avetmp-data.total/3.0;if (last!NULL){last-nexttmp;lastlast-next;}else{headlasttmp;}last-nextNULL;i;printf(添加成功输入1继续录入输入0终止录入 );int t;scanf(%d,t);if (t0)loop0;}return i;}int Del(int i)//执行删除学生记录操作{char tmpname[20];char tmpnum[10];int find0,way;struct node *tmphead,*tmpbakhead;printf(请选择删除依据 1.学号 2.姓名 \n );scanf(%d,way);switch (way){case 1:printf(请输入学号);scanf(%s,tmpnum);while ((tmp!NULL)(!find)){if (!strcmp(tmpnum,tmp-data.num)){find1;break;}tmpbaktmp;tmptmp-next;}if (!find){printf(抱歉学号 %s未查到相关数据\n,tmpnum);}else{if (tmpbaktmp){headhead-next;printf(删除成功\n);i--;return i;}else{tmpbak-nexttmp-next;printf(删除成功\n);i--;return i;}}case 2:printf(请输入姓名);scanf(%s,tmpname);while ((tmp!NULL)(!find)){if (!strcmp(tmpname,tmp-data.num)){find1;break;}tmpbaktmp;tmptmp-next;}if (!find){printf(抱歉姓名 %s未查到相关数据\n,tmpname);}else{if (tmpbaktmp){headhead-next;printf(删除成功\n);i--;return i;}else{tmpbak-nexttmp-next;printf(删除成功\n);i--;return i;}}default:printf(选择错误查询失败\n);}}void Edit(struct node* tmp)//执行修改学生记录操作{printf(请输入修改后的信息\n);printf(学号姓名 C语言成绩 数学成绩 英语成绩\n);scanf(%s %s %d %d %d,tmp-data.num,tmp-data.name,tmp-data.cgrade,tmp-data.sxgrade,tmp-data.yygrade);tmp-data.totaltmp-data.cgradetmp-data.sxgradetmp-data.yygrade;tmp-data.avetmp-data.total/3.0;printf(修改成功 \n);printf(*************************************\n);}void Query()//执行查询学生记录操作{char tmpname[20];char tmpnum[10];int find0,way,change0;struct node *tmphead;printf(请选择查询方式 1.学号 2.姓名 \n );scanf(%d,way);switch (way){case 1:printf(请输入学号);scanf(%s,tmpnum);while ((tmp!NULL)(!find)){if (!strcmp(tmpnum,tmp-data.num)){find1;printf(找到以下数据\n);printf(学号姓名 C语言成绩 数学成绩 英语成绩 总分 平均分 \n);printf(%s %s%d%d%d%d%.2f \n,tmp-data.num,tmp-data.name,tmp-data.cgrade,tmp-data.sxgrade,tmp-data.yygrade,tmp-data.total,tmp-data.ave);printf(*************************************\n);printf(是否修改数据? 输入1修改输入0取消 );scanf(%d,change);if (change)Edit(tmp);}tmptmp-next;}if (!find){printf(抱歉学号 %s未查到相关数据\n,tmpnum);}break;case 2:printf(请输入姓名);scanf(%s,tmpname);while ((tmp!NULL)(!find)){if (!strcmp(tmpname,tmp-data.name)){find1;printf(找到以下数据\n);printf(学号姓名 C语言成绩 数学成绩 英语成绩 总分 平均分 \n);printf(%s %s%d%d%d%d%.2f \n,tmp-data.num,tmp-data.name,tmp-data.cgrade,tmp-data.sxgrade,tmp-data.yygrade,tmp-data.total,tmp-data.ave);printf(*************************************\n);printf(是否修改数据? 输入1修改输入0取消 );scanf(%d,change);if (change)Edit(tmp);}tmptmp-next;}if (!find){printf(抱歉姓名 %s未查到相关数据\n,tmpname);}break;default:printf(选择错误查询失败\n);}}void Tongji()//执行统计学生记录操作{struct node *tmphead;int cbjg0,sxbjg0,yybjg0,avebjg0,cmax0,sxmax0,yymax0,avemax0,cmin100,sxmin100,yymin100,avemin100;printf(正在统计数据请稍候...\n);while (tmp!NULL){if (tmp-data.cgrade60)cbjg;if (tmp-data.cgradecmax)cmaxtmp-data.cgrade;if (tmp-data.cgradecmintmp-data.cgrade;if (tmp-data.sxgrade60)sxbjg;if (tmp-data.sxgradesxmax)sxmaxtmp-data.sxgrade;if (tmp-data.sxgradesxmintmp-data.sxgrade;if (tmp-data.yygrade60)yybjg;if (tmp-data.yygradeyymax)yymaxtmp-data.yygrade;if (tmp-data.yygradeyymintmp-data.yygrade;if (tmp-data.ave60)avebjg;if (tmp-data.aveavemax)avemaxtmp-data.ave;if (tmp-data.aveavemintmp-data.ave;tmptmp-next;}printf(****************************\n统计完成数据如下\n);printf(C语言不及格人数%d 最高分%d 最低分%d \n,cbjg,cmax,cmin);printf(数学不及格人数%d 最高分%d 最低分%d \n,sxbjg,sxmax,sxmin);printf(英语不及格人数%d 最高分%d 最低分%d \n,yybjg,yymax,yymin);printf(平均分不及格人数%d 最高分%d最低分%d \n,avebjg,avemax,avemin);printf(**********************************\n);}void Sort(int n)//执行按降序进行排列学生记录的操作{int i,j;struct node *tmphead,*tmpbakhead-next,*bak;bak(struct node *)malloc(sizeof (struct node));for(i 0; i {for(j 0; i j {if(tmpbak-data.total tmp-data.total){bak-data tmp-data;tmp-data tmpbak-data;tmpbak-data bak-data;}tmptmp-next;tmpbaktmpbak-next;}tmphead;tmpbakhead-next;}printf(排序完成\n);}int Save()//执行存盘操作stuinfo.dat{if(!head) return 0;FILE *fpfopen(stuinfo.dat,wb);int i0;while(head){fwrite(head-data,sizeof(student),1,fp);i;headhead-next;}fclose(fp);return i;}int load() //从文件stuinfo.dat中载入数据{FILE *fpfopen(stuinfo.dat,rb);if(!fp){printf(Can not open the file!\n);return 0;}struct node *tmp;fseek(fp,0,SEEK_END);long endftell(fp);fseek(fp,0,SEEK_SET);int i0;if(ftell(fp)end){printf(无记录!\n);return 0;}while(ftell(fp)!end){tmp(struct node*)malloc(sizeof(struct node));tmp-nextNULL;fread(tmp-data,sizeof(struct student),1,fp);i;if (last!NULL){last-nexttmp;lastlast-next;}else{headlasttmp;}last-nextNULL;}fclose(fp);return i;}void Display()//执行将学生记录以表格形式打印输出至屏幕的操作{struct node *tmphead;printf(学号姓名 C语言成绩 数学成绩 英语成绩 总分 平均分 \n);while (tmp!NULL){printf(%s %s%d%d%d%d%.2f,tmp-data.num,tmp-data.name,tmp-data.cgrade,tmp-data.sxgrade,tmp-data.yygrade,tmp-data.total,tmp-data.ave);tmptmp-next;printf(\n);}}void Wrong()//给出按键错误提示{printf(输入错误请重新输入! \n);}int Quit()//存盘且退出{Save();return 0;}int Menu()//操作选单{int i;printf(\n);printf(欢迎使用学生成绩管理系统!\n);printf( 0: 存盘并退出\n);printf( 1增加学生记录\n);printf( 2删除学生记录\n);printf( 3查询/修改学生记录\n);printf( 4统计学生记录\n);printf( 5按降序进行排列学生记录\n);printf( 6将学生记录以表格形式打印输出至屏幕\n);printf(\n);printf(请选择你需要的操作);scanf(%d,i);printf(\n);return i;}void main(){int i,choice,loop1;iload();printf(从stuinfo.dat导入了%d条数据\n\n,i);while (loop){choiceMenu();switch (choice){case 0:loopQuit();break;case 1:iAdd(i);break;case 2:iDel(i);break;case 3:Query();break;case 4:Tongji();break;case 5:Sort(i);break;case 6:printf(共有%d条数据\n,i);Display();break;default:Wrong();}}}