当前位置: 首页 > news >正文

关于网站建设与维护的心得体会建设多用户网站

关于网站建设与维护的心得体会,建设多用户网站,网站制作开发,wordpress编辑器不习惯学生成绩管理系统思考 作业要求#xff1a; 目录 思路 基本函数 学习理解大佬的代码#xff1a; 完成作业#xff1a; 思路 学生成绩管理系统#xff0c;首先要初始化系统#xff0c; 用C语言做学生实验管理系统要求实现对某班学生3门课程#xff08;包括语文、数…学生成绩管理系统思考 作业要求 目录 思路 基本函数 学习理解大佬的代码 完成作业 思路 学生成绩管理系统首先要初始化系统 用C语言做学生实验管理系统要求实现对某班学生3门课程包括语文、数学、英语成绩的管理功能学生成绩的统计如每个人的平均成绩、每门课的平均成绩等;, 按个人平均成绩从高到低的顺序进行排序。输出不及格学生名单。 基本函数 1.结构体 struct Student 定义一个结构体struct 结构体的关键字students 定义的结构体对象。学号char ID[20];姓名char Name[10]; 各项成绩float Mark每个人的平均成绩float average1 每个科目的平均成绩float average2 2.录入void inputt 利用循环将数据从students[0]开始录入各项信息计数器num1直至到3内部数据中会有 0 1 2 3.修改void modfiy 利用循环将数组里面的信息与待修改的信息比对若相同对其进行重新复制即修改若无此项提示重新输入。 5.排序 void sort按照题目要求此时应该有两次排序每个人的平均成绩float average1 每个科目的平均成绩float average2 排序的平均分依次比较两个相邻的成绩如果他们的顺序如果前小于后就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换也就是说该元素已经排序完成。 利用什么方法冒泡排序法 6.显示 void display 利用循环将已录入的信息打印出来。 7.查询 void Student_SearchByIndex此时按照题目要求应该输出个人平均成绩从高到低的顺序以及不及格学生名单 8.主函数 main 利用无限次循环while和swithch)实现各函数的调用系统根据输入的数字来操控相应的函数同时显示可供选择的选项 学习理解大佬的代码 学生成绩管理系统C语言_张十五的博客-CSDN博客_学生成绩管理系统 #includestdio.h#includestdlib.h#includestdlib.h#includestring.hstruct Student{   //每个学生对应一个结构体char ID[20];//学号char Name[10];//姓名float Mark1;//语文成绩float Mark2;//数学成绩 //四个变量float Mark3;//英语成绩float Mark4;//计算机成绩float All; //总分float Average;//平均成绩}students[1000];int num0; //计数器void Copy(struct Student *arr,int i,int j){strcpy(arr[i].ID,arr[j].ID); //strcpy()函数的简介是将一个字符串复制到另一块空间地址中 的函数‘\0’是停止拷贝的终止条件也复制到目标空间。下面是库中的strcpy()函数声明strcpy(arr[i].Name,arr[j].Name);arr[i].Mark1 arr[j].Mark1;arr[i].Mark2 arr[j].Mark2;arr[i].Mark3 arr[j].Mark3;arr[i].Mark4 arr[j].Mark4;arr[i].All arr[j].All;arr[i].Average arr[j].Average;}int Student_SearchByName(char name[])//通过姓名来检索学生{int i;for (i0;inum;i){if (strcmp(students[i].Name,name)0)  //通过strcmp函数来对比学生姓名找到返回在数组的位置{return i;}}return -1;    //未找到返回 -1}int Student_SearchByIndex(char id[])//通过学号来检索学生信息{int i;for (i0;inum;i){if (strcmp(students[i].ID,id)0)  //通过strcmp函数来对比学生id找到返回位置{return i;}  }return -1;   //未找到返回 -1}void Student_DisplaySingle(int index)//输出表头{printf(%10s%10s%8s%8s%8s%10s\n,学号,姓名,语文,数学,英语,计算机,总成绩,平均成绩);printf(-------------------------------------------------------------\n);printf(%10s%10s%8.2f%8.2f%8.2f%8.2f%10.2f%10.2f\n,students[index].ID,students[index].Name,students[index].Mark1,students[index].Mark2,students[index].Mark3,students[index].Mark4,students[index].All,students[index].Average);}void inputt()//利用循环录入学生信息{while(1){printf(请输入学号:);scanf(%s,students[num].ID);getchar();printf(请输入姓名:);scanf(%s,students[num].Name);getchar();printf(请输入成绩:);scanf(%f,students[num].Mark1);getchar();printf(请输入成绩:);scanf(%f,students[num].Mark2);getchar();printf(请输入成绩:);scanf(%f,students[num].Mark3);getchar();printf(请输入成绩:);scanf(%f,students[num].Mark4);   //依次输入各项数据getchar();students[num].Allstudents[num].Mark1students[num].Mark2students[num].Mark3students[num].Mark4;    //输完数据后自动计算总成绩与平均成绩students[num].Average(students[num].Mark1students[num].Mark2students[num].Mark3students[num].Mark4)/4;if(Student_SearchByIndex(students[num].ID) -1){num;  //移向下一个位置}else{printf(学号重复输入数据无效 !!!\n);}printf(是否继续?(y/n));if (getchar()n){break;}}}void modify()//修改成绩{while(1){char id[20];int index;printf(请输入要修改的学生的学号:);scanf(%s,id);getchar();indexStudent_SearchByIndex(id);  //调用搜查id函数根据其返回值确定位置if (index-1){printf(学生不存在!\n);}else{printf(你要修改的学生信息为:\n);Student_DisplaySingle(index);printf(-- 请输入新值--\n);printf(请输入学号:);scanf(%s,students[index].ID);getchar();printf(请输入姓名:);scanf(%s,students[index].Name);getchar();printf(请输入语文成绩:);scanf(%f,students[index].Mark1);getchar();printf(请输入数学成绩:);scanf(%f,students[index].Mark2);getchar();printf(请输入英语成绩:);scanf(%f,students[index].Mark3);getchar();printf(请输入计算机成绩:);scanf(%f,students[index].Mark4);  //重新录入一套新的数据替代getchar();students[index].Allstudents[index].Mark1students[index].Mark2students[index].Mark3students[index].Mark4;students[index].Average(students[index].Mark1students[index].Mark2students[index].Mark3students[index].Mark4)/4;   }printf(是否继续?(y/n));if (getchar()n){break;}}}void deletee()//删除学生信息{int i;while(1){char id[20];int index;printf(请输入要删除的学生的学号:);scanf(%s,id);getchar();indexStudent_SearchByIndex(id);   //调用搜查id函数根据其返回值确定位置if (index-1){printf(学生不存在!\n);}else{printf(你要删除的学生信息为:\n);Student_DisplaySingle(index);printf(是否真的要删除?(y/n));if (getchar()y){for (iindex;inum-1;i){Copy(students,i,i1);//students[i]students[i1];    //把后边的对象都向前移动}num--;}getchar();}printf(是否继续?(y/n));if (getchar()n){break;}}}void display()//打印已录入的学生信息{int a;printf(%10s%10s%8s%8s%8s%8s%10s%10s\n,学号,姓名,语文,数学,英语,计算机,总成绩,平均成绩);printf(-------------------------------------------------------------\n);for (a0;anum;a){printf(%10s%10s%8.2f%8.2f%8.2f%8.2f%10.2f%10.2f\n,students[a].ID,students[a].Name,students[a].Mark1,students[a].Mark2,students[a].Mark3,students[a].Mark4,students[a].All,students[a].Average);}}void insert()//指定位置插入学生信息{int a,b,c;printf(请输入你要插入的位置);scanf(%d,a);if(anum) {printf(输入的位置有误请重新输入,当前共%d条数据\n,num);scanf(%d,a);}bnum-1;for(;ba-1;b--){//strcpy(students[b1].ID,students[b].ID);//strcpy(students[b1].Name,students[b].Name);//students[b1].Mark1students[b].Mark1;//students[b1].Mark2students[b].Mark2;//students[b1].Mark3students[b].Mark3;//students[b1].Mark4students[b].Mark4;//students[b1].Allstudents[b].All;//students[b1].Averagestudents[b].Average;  Copy(students,b1,b); //根据其输入的位置将其及以后的数据向后移动一个位置}num;printf(请输入学号:);scanf(%s,students[a-1].ID);getchar();printf(请输入姓名:);scanf(%s,students[a-1].Name);getchar();printf(请输入语文成绩:);scanf(%f,students[a-1].Mark1);getchar();printf(请输入数学成绩:);scanf(%f,students[a-1].Mark2);getchar();printf(请输入英语成绩:);scanf(%f,students[a-1].Mark3);getchar();printf(请输入计算机成绩:);scanf(%f,students[a-1].Mark4);  //输入新数据getchar();  students[a-1].Allstudents[a-1].Mark1students[a-1].Mark2students[a-1].Mark3students[a-1].Mark4;students[a-1].Average(students[a-1].Mark1students[a-1].Mark2students[a-1].Mark3students[a-1].Mark4)/4;}void search()//查询学生信息{while(1){char name[20];int index;printf(请输入要查询的学生的姓名:);scanf(%s,name);getchar();indexStudent_SearchByName(name);   //调用搜查name函数根据其返回值确定位置if (index-1){printf(学生不存在!\n);}else{printf(你要查询的学生信息为:\n);Student_DisplaySingle(index);}printf(是否继续?(y/n));if (getchar()n){break;}}}voidsort()//根据平均分排序 (此时注意按照题目要求应该排序两个){int i,j;//struct students tmp;for (i0;inum;i){students[i].Average(students[i].Mark1students[i].Mark2students[i].Mark3students[i].Mark4)/4;}for (i0;inum;i){for (j1;jnum-i;j){if (students[j-1].Averagestudents[j].Average){Copy(students,num,j-1);Copy(students,j-1,j);Copy(students,j,num);//tmpstudents[j-1];//students[j-1]students[j];//students[j]tmp;      //冒泡排序}  }}int a;printf(%10s%10s%8s%8s%8s%10s\n,学号,姓名,语文,数学,英语,计算机,总成绩,平均成绩);printf(-------------------------------------------------------------\n);for (a0;anum;a){printf(%10s%10s%8.2f%8.2f%8.2f%8.2f%10.2f%10.2f\n,students[a].ID,students[a].Name,students[a].Mark1,students[a].Mark2,students[a].Mark3,students[a].Mark4,students[a].All,students[a].Average);}}void SearchLow()//搜索不及格的并输出{int a;printf(           语文不及格的有%10s%10s%8s\n,学号,姓名,语文);for(a0;anum;a){if(students[a].Mark160)printf(%10s%10s%8.2f\n,students[a].Name,students[a].ID,students[a].Mark1);    //从头搜索到尾若小于60就输出}printf(           数学不及格的有%10s%10s%8s\n,学号,姓名,数学);for(a0;anum;a){if(students[a].Mark260)printf(%10s%10s%8.2f\n,students[a].Name,students[a].ID,students[a].Mark2);}printf(           英语不及格的有%10s%10s%8s\n,学号,姓名,英语);for(a0;anum;a){if(students[a].Mark360)printf(%10s%10s%8.2f\n,students[a].Name,students[a].ID,students[a].Mark3);}printf(           计算机不及格的有%10s%10s%8s\n,学号,姓名,计算机);for(a0;anum;a){if(students[a].Mark460)printf(%10s%10s%8.2f\n,students[a].Name,students[a].ID,students[a].Mark4);}system(pause); //这个好像没作用}void SearchHigh()//搜索成绩最高者输出{int a;int max ;printf(           语文最高分为%10s%10s%8s\n,学号,姓名,语文);maxstudents[0].Mark1;for(a1;anum;a){if(students[a].Mark1max)maxstudents[a].Mark1;}for(a0;anum;a){if(maxstudents[a].Mark1)printf(%10s%10s%8.2f\n,students[a].Name,students[a].ID,students[a].Mark1);}printf(           数学最高分为%10s%10s%8s\n,学号,姓名,数学);maxstudents[0].Mark2;for(a1;anum;a){if(students[a].Mark2max)maxstudents[a].Mark2;}for(a0;anum;a){if(maxstudents[a].Mark2)printf(%10s%10s%8.2f\n,students[a].Name,students[a].ID,students[a].Mark2);}printf(           英语最高分为%10s%10s%8s\n,学号,姓名,英语);maxstudents[0].Mark3;for(a1;anum;a){if(students[a].Mark3max)maxstudents[a].Mark3;}for(a0;anum;a){if(maxstudents[a].Mark3)printf(           %10s%10s%8.2f\n,students[a].Name,students[a].ID,students[a].Mark3);}printf(           计算机最高分为%10s%10s%8s\n,学号,姓名,计算机);maxstudents[0].Mark4;for(a1;anum;a){if(students[a].Mark4max)maxstudents[a].Mark4;}for(a0;anum;a){if(maxstudents[a].Mark4)printf(           %10s%10s%8.2f\n,students[a].Name,students[a].ID,students[a].Mark4);}system(pause);}void Save(){FILE*fp fopen(temp.txt,w);fprintf(fp,%d\n,num);for(int i 0 ; i num ;i){fprintf(fp,%s %s %f %f %f %f %f %f\n,students[i].ID,students[i].Name,students[i].Mark1,students[i].Mark2,students[i].Mark3,students[i].Mark4,students[i].All,students[i].Average);}fclose(fp);}void Load(){FILE*fp fopen(temp.txt,r);fscanf(fp,%d,num);for(int i 0 ; i num ;i){fscanf(fp,%s %s %f %f %f %f %f %f\n,students[i].ID,students[i].Name,students[i].Mark1,students[i].Mark2,students[i].Mark3,students[i].Mark4,students[i].All,students[i].Average);}fclose(fp);}/*主程序*/ int main(){int i;while(1){Load();printf(\t\t\t\t\t-------- 学生成绩管理系统-------\n\n\n\n);     //菜单printf(\t\t\t\t\t1. 增加学生记录\n\n);printf(\t\t\t\t\t2. 修改学生记录\n\n);printf(\t\t\t\t\t3. 删除学生记录\n\n);printf(\t\t\t\t\t4. 插入学生记录\n\n);printf(\t\t\t\t\t5. 显示所有记录\n\n);printf(\t\t\t\t\t6. 查询学生记录\n\n);printf(\t\t\t\t\t7. 按平均成绩排序\n\n);printf(\t\t\t\t\t8. 输出各科目不及格学生\n\n);printf(\t\t\t\t\t9. 输出各科目最高分\n\n);printf(\t\t\t\t\t0. 退出\n\n\n);printf(请选择(0-9):);scanf(%d,i);switch(i){case 1:inputt();break;case 2:modify();break;case 3:deletee();break;case 4:insert();break;case 5:display();break;case 6:search();break;case 7:sort();break;case 8:SearchLow();break;case 9:SearchHigh();break;case 0:exit(0);default:  ;}Save();}return 0;}void Save() {FILE *fp fopen(temp.txt, w);fprintf(fp, %d\n, num);for (int i 0 ; i num ; i) {fprintf(fp, %s %s %f %f %f %f %f %f\n, students[i].ID, students[i].Name, students[i].Mark1, students[i].Mark2,students[i].Mark3, students[i].Average1);}fclose(fp);}void Load() {FILE *fp fopen(temp.txt, r);fscanf(fp, %d, num);for (int i 0 ; i num ; i) {fscanf(fp, %s %s %f %f %f %f %f %f\n, students[i].ID, students[i].Name, students[i].Mark1, students[i].Mark2,students[i].Mark3, students[i].Average1);}fclose(fp);} 完成作业 #include stdio.h #include stdlib.h #include stdlib.h #include string.hstruct Student { //每个学生对应一个结构体char ID[20];//学号char Name[10];//姓名float Mark1;//语文成绩float Mark2;//数学成绩 //四个变量float Mark3;//英语成绩float Average1;//平均成绩 } students[1000]; int num 0; //计数器void Copy(struct Student *arr, int i, int j) {strcpy(arr[i].ID, arr[j].ID); //strcpy()函数的简介strcpy(arr[i].Name, arr[j].Name);arr[i].Mark1 arr[j].Mark1;arr[i].Mark2 arr[j].Mark2;arr[i].Mark3 arr[j].Mark3;arr[i].Average1 arr[j].Average1; }int Student_SearchByName(char name[]) {//通过姓名来检索学生int i;for (i 0; i num; i) {if (strcmp(students[i].Name, name) 0) { //通过strcmp函数来对比学生姓名找到返回在数组的位置return i;}}return -1; //未找到返回 -1 }int Student_SearchByIndex(char id[]) { //通过学号来检索学生信息int i;for (i 0; i num; i) {if (strcmp(students[i].ID, id) 0) { //通过strcmp函数来对比学生id找到返回位置return i;}}return -1; //未找到返回 -1 }void Student_DisplaySingle(int index) { //输出表头printf(%10s%10s%8s%8s%10s%10s\n, 学号, 姓名, 语文, 数学, 英语,平均成绩);printf(-------------------------------------------------------------\n);printf(%10s%10s%8.2f%8.2f%8.2f%8.2f\n, students[index].ID, students[index].Name,students[index].Mark1, students[index].Mark2, students[index].Mark3, students[index].Average1); }void inputt() { //利用循环录入学生信息while (1) {printf(请输入学号:);scanf(%s, students[num].ID);getchar();printf(请输入姓名:);scanf(%s, students[num].Name);getchar();printf(请输入语文成绩:);scanf(%f, students[num].Mark1);getchar();printf(请输入数学成绩:);scanf(%f, students[num].Mark2);getchar();printf(请输入英语成绩:);scanf(%f, students[num].Mark3);getchar();students[num].Average1 (students[num].Mark1 students[num].Mark2 students[num].Mark3) / 3;if (Student_SearchByIndex(students[num].ID) -1) {num; //移向下一个位置} else {printf(学号重复输入数据无效 !!!\n);}printf(是否继续?(y/n));if (getchar() n) {break;}} }void display() { //打印已录入的学生信息int a;printf(%10s%10s%8s%8s%8s%8s%10s%10s\n, 学号, 姓名, 语文, 数学, 英语, 平均成绩);printf(-------------------------------------------------------------\n);for (a 0; a num; a) {printf(%10s%10s%8.2f%8.2f%8.2f%8.2f%10.2f%10.2f\n, students[a].ID, students[a].Name,students[a].Mark1, students[a].Mark2, students[a].Mark3, students[a].Average1);} }void search() { //查询学生信息while (1) {char name[20];int index;printf(请输入要查询的学生的姓名:);scanf(%s, name);getchar();index Student_SearchByName(name); //调用搜查name函数根据其返回值确定位置if (index -1) {printf(学生不存在!\n);} else {printf(你要查询的学生信息为:\n);Student_DisplaySingle(index);}printf(是否继续?(y/n));if (getchar() n) {break;}} }void sort() { //根据平均分排序int i, j; //struct students tmp;for (i 0; i num; i) {students[i].Average1 (students[i].Mark1 students[i].Mark2 students[i].Mark3) / 3;}for (i 0; i num; i) {for (j 1; j num - i; j) {if (students[j - 1].Average1 students[j].Average1) {Copy(students, num, j - 1);Copy(students, j - 1, j);Copy(students, j, num);//tmpstudents[j-1];//students[j-1]students[j];//students[j]tmp; //冒泡排序}}}int a;printf(%10s%10s%8s%8s%8s%10s\n, 学号, 姓名, 语文, 数学, 英语, 平均成绩);printf(-------------------------------------------------------------\n);for (a 0; a num; a) {printf(%10s%10s%8.2f%8.2f%8.2f%8.2f\n, students[a].ID, students[a].Name,students[a].Mark1, students[a].Mark2, students[a].Mark3, students[a].Average1);} }void SearchLow() { //搜索不及格的并输出int a;printf( 语文不及格的有%10s%10s%8s\n, 学号, 姓名, 语文);for (a 0; a num; a) {if (students[a].Mark1 60)printf(%10s%10s%8.2f\n, students[a].Name, students[a].ID, students[a].Mark1); //从头搜索到尾若小于60就输出}printf( 数学不及格的有%10s%10s%8s\n, 学号, 姓名, 数学);for (a 0; a num; a) {if (students[a].Mark2 60)printf(%10s%10s%8.2f\n, students[a].Name, students[a].ID, students[a].Mark2);}printf( 英语不及格的有%10s%10s%8s\n, 学号, 姓名, 英语);for (a 0; a num; a) {if (students[a].Mark3 60)printf(%10s%10s%8.2f\n, students[a].Name, students[a].ID, students[a].Mark3);}printf( 计算机不及格的有%10s%10s%8s\n, 学号, 姓名, 计算机);system(pause); }void Save() {FILE *fp fopen(temp2.txt, w);fprintf(fp, %d\n, num);for (int i 0 ; i num ; i) {fscanf(fp, %s %s %f %f %f %f \n, students[i].ID, students[i].Name, students[i].Mark1, students[i].Mark2,students[i].Mark3, students[i].Average1);}fclose(fp); }void Load() {FILE *fp fopen(temp2.txt, r);fscanf(fp, %d, num);for (int i 0 ; i num ; i) {fprintf(fp, %s %s %f %f %f %f \n, students[i].ID, students[i].Name, students[i].Mark1, students[i].Mark2,students[i].Mark3, students[i].Average1);}fclose(fp); }int main() {int i;float Average2;//语文平均成绩float Average3;//数学平均成绩float Average4;//英语平均成绩while (1) {Load();printf(\t\t\t\t\t-------- 学生成绩管理系统-------\n\n\n\n); //菜单printf(\t\t\t\t\t1. 增加学生成绩记录\n\n);printf(\t\t\t\t\t2. 显示所有成绩记录\n\n);printf(\t\t\t\t\t3. 查询学生成绩记录\n\n);printf(\t\t\t\t\t4. 按平均成绩排序\n\n);printf(\t\t\t\t\t5. 输出各科目不及格学生\n\n);printf(\t\t\t\t\t0. 退出\n\n\n);printf(请选择(0-5):);scanf(%d, i);switch (i) {case 1:inputt();break;case 2:display();break;case 3:search();break;case 4:sort();break;case 5:SearchLow();break;case 0:exit(0);default:;}Save();}return 0; }
http://www.dnsts.com.cn/news/54899.html

相关文章:

  • 怎么搜才能搜到网站wordpress导航代码
  • 网站搭建合同模板wordpress 企业主模板
  • 报关做业务可以上哪些网站建设银行网站下载中心在哪
  • 企业网站建设软件顺德 网站设计
  • 网站建设方案书 5个备案价格低用英语怎么说
  • 店招搜索栏在那个网站上可以做wordpress修订版本删除
  • 长沙 网站设计 公司苏州有哪些做网站公司
  • 设计师个人网站主页深圳企业视频制作公司
  • 湖南做网站磐石网络近期国内新闻
  • 2019年做网站还有前景吗成都哪些公司可以做网站
  • 公司网站建网西宁市网站设计
  • 大学生网站开发中文域名转换英文域名
  • 网站开发人员需求专业做网站登录
  • 如何seo网站怎么做电影网站教程
  • 网站建设的图片怎么加水印个人网站建设合同
  • 电子商务网站建设是学什么软件郑州知名做网站公司
  • 个人建设网站如何定位赣州律师网站建设
  • 织梦制作网站地图虚拟主机 发布网站
  • 免费网站域名一个简单的html网页
  • 常用的小企业网站建设天津网站优化多少钱
  • 漳州seo建站眼镜网站建设
  • 东营seo网站推广网站做SEO优化多少钱
  • 综合门户网站什么意思wordpress自动适应插件
  • 宁河做网站公司wordpress satellite7
  • 对网站建设的讲话公司标志logo设计免费
  • 虚拟货币做空网站wordpress网頁
  • 自己怎样开网站苏州网站推广找苏州梦易行
  • 最近国际时事seo技术服务
  • 重庆景点排行榜前十名seo石家庄
  • 设计排版网站手机怎么做网站服务器