33学生成绩管理系统(数据结构C语言版源代码)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

人生的成功不过是在紧要处有一份坚持。#includestdio.h#includestring.h#includestdlib.hstructstudents{charNum[10];/*字符型学生学号*/charName[20];/*字符型学生姓名*/charSex[3];/*字符型学生性别*/doubleEnglish;/*双精度实型英语成绩*/doubleJava;/*双精度实型Java成绩*/doubleSjjg;/*双精度实数据结构*/doubleSzdl;/*双精度实型数字电路*/doubleJsj;/*计算机组成原理*/structstudents*next;/*用与构建连表指向下一结点*/};FILE*fp;/*定义全局变量fp*/voidRevisemenu();/*修改菜单*/voidSortmenu();/*排序菜单*/voidmenu();/*主菜单*/voidsecret();/*安全验证*/structstudents*Input();/*新建学生信息*/voidfprint(structstudents*head);/*将信息导入文件可追加*/voidfprint_(structstudents*head);/*将信息导入文件并覆盖*/voidBrowse(structstudents*head);/*浏览全部学生信息*/structstudents*create(structstudents*headint*n);/*从tushu_list中读取数据构建链表*/voidFindofNum(structstudents*head);/*按学号查询学生信息*/voidFindofNname(structstudents*head);/*按姓名查询学生信息*/voidSortEnglish(structstudents*head);/*按英语成绩排序*/voidSortJava(structstudents*head);/*按Java成绩排序*/voidSortSjjg(structstudents*head);/*按数据结构成绩排序*/voidSortSzdl(structstudents*head);/*按数字逻辑电路成绩排序*/voidSortJsj(structstudents*head);/*按计算机组成原理成绩排序*/structstudents*Delete(structstudents*headcharm[15]);/*按学号删除学生成绩信息*/structstudents*Revise();/*修改学生信息(按编号修改)*//*主菜单*/voidmenu(){printf(\n\n);printf(***************************************************\n);printf(学生成绩管理系统\n);printf(---------------------------------------------------\n);printf(1-添加新同学2-浏览学生信息\n);printf(3-按学号查询4-按姓名查询\n);printf(5-按成绩排序6-修改学生信息\n);printf(7-删除学生信息0-退出系统\n);printf(---------------------------------------------------\n);printf(___________________________________________________\n);}/*排序菜单*/voidSortmenu(){printf(\n\n);printf(***************************************************\n);printf(按成绩排序\n);printf(1-大学英语2-JAVA编程\n);printf(3-数据结构4-数字逻辑电路\n);printf(5-计算机组成原理0-返回上级菜单\n);printf(***************************************************\n);}/*修改菜单*/voidRevisemenu(){printf(\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n);printf(1--修改学生姓名2--修改学生学号\n);printf(3--修改学生性别4--修改英语成绩\n);printf(5--修改JAVA成绩6--修改数据结构\n);printf(7--修改数字电路8--修改计算计\n);printf(0--返回上级菜单\n);printf(\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n);}/*安全验证*/voidsecret(){chara[20];printf(**欢迎来到学生信息管理系统进入系统前请先进行密码验证---);printf();do{gets(a);/*输入密码*/system(cls);/*调用库函数清屏*/printf(对不起!您输入的密码有误请重新输入---);}while(strcmp(a0605)!=0);/*单一密码0605*/system(cls);}/*新建学生信息*/structstudents*Input(){structstudents*p1*p2*head;/*建立辅助结点及头结点*/charName;intn=0x;printf(\n请按对应项输入学生信息以#结束:\n);printf(姓名学号性别英语Java数据结构数字电路计算机组成原理\n);p1=(structstudents*)malloc(sizeof(structstudents));head=p2=p1;do{/*使用dowhile语句输入学生信息*/scanf(%s&p1-Name);if(strcmp(p1-Name#)==0)break;/*判断结束符*/elsescanf(%s%s%lf%lf%lf%lf%lfp1-Nump1-Sex&p1-English&p1-Java&p1-Sjjg&p1-Szdl&p1-Jsj);Name='#';p1=(structstudents*)malloc(sizeof(structstudents));p2-next=p1;p2=p1;n++;}while(1);p1-next=NULL;printf(学生信息输入结束!\n);getchar();printf(是否保存学生信息?(1.是/2.否):);scanf(%d&x);if(x==1)fprint(head);/*调用函数保存至文件*/elseprintf(\n文件没有被保存!\n);returnhead;/*返回头指针*/}/*将信息导入文件可追加*/voidfprint(structstudents*head){structstudents*p1;if((fp=fopen(students_list.txta))==NULL){printf(Fileopenerror!\n);exit(0);}for(p1=head;p1-next!=NULL;p1=p1-next)/*遍历*/fprintf(fp%s\t%s\t%s\t%.1lf\t%.1lf\t%.1lf\t%.1lf\t%.1lf\np1-Namep1-Nump1-Sexp1-Englishp1-Javap1-Sjjgp1-Szdlp1-Jsj);/*将学生信息写入文件*/fclose(fp);/*关闭文件*/printf(\n学生信息已成功保存到文件students_list.txt中!\n);getchar();}/*将信息导入文件并覆盖*/voidfprint_(structstudents*head){structstudents*p1;if((fp=fopen(students_list.txtw))==NULL){printf(Fileopenerror!\n);exit(0);}for(p1=head;p1!=NULL;p1=p1-next)/*遍历*/fprintf(fp%s\t%s\t%s\t%.1lf\t%.1lf\t%.1lf\t%.1lf\t%.1lf\np1-Namep1-Nump1-Sexp1-Englishp1-Javap1-Sjjgp1-Szdlp1-Jsj);/*将学生信息写入文件*/fclose(fp);/*关闭文件*/;getchar();}/*浏览全部学生信息*/voidBrowse(structstudents*head){charNum[10];/*字符型学生学号*/charName[20];/*字符型学生姓名*/charSex[3];/*字符型学生性别*/doubleEnglish;/*双精度实型英语成绩*/doubleJava;/*双精度实型Java成绩*/doubleSjjg;/*双精度实数据结构*/doubleSzdl;/*双精度实型数字电路*/doubleJsj;/*计算机组成原理*/if((fp=fopen(students_list.txta+))==NULL){printf(Fileopenerror!\n);exit(0);}printf(-------------------------------------------------------------\n);printf(姓名学号性别英语Java数据结构数字电路计算机\n);while(!feof(fp))/*读取并输出*/{fscanf(fp%s%s%s%lf%lf%lf%lf%lfNameNumSex&English&Java&Sjjg&Szdl&Jsj);printf(%s\t%s\t%s\t%.1lf\t%.1lf\t%.1lf\t%.1lf\t%.1lf\nNameNumSexEnglishJavaSjjgSzdlJsj);};if(fclose(fp)){printf(Cannotclosethefile!\n);exit(0);}}/*从tushu_list中读取数据构建链表*/structstudents*create(structstudents*headint*n){FILE*fp;structstudents*p*p1*p2;if((fp=fopen(students_list.txta+))==NULL){printf(Fileopenerror!\n);exit(0);}while(!feof(fp)){(*n)++;p=(structstudents*)malloc(sizeof(structstudents));fscanf(fp%s%s%s%lf%lf%lf%lf%lfp-Namep-Nump-Sex&p-English&p-Java&p-Sjjg&p-Szdl&p-Jsj);if(head==NULL){head=p;p1=p;}else{p1-next=p;p2=p1;p1=p;}}p2-next=NULL;free(p);(*n)--;fclose(fp);returnhead;}/*按姓名查询学生信息*/voidFindofName(structstudents*head){inti=0n=0;charb[20];structstudents*p;head=create(head&n);p=head;printf(\n请输入要查询的学生姓名:);scanf(%sb);while(p!=NULL){if(strcmp(p-Nameb)==0){printf(姓名学号性别英语Java数据结构数字电路计算机\n);printf(%s\t%s\t%s\t%.1lf\t%.

1 / 23
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功