欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    学生成绩管理系统数据结构C语言版源代码.docx

    • 资源ID:12639758       资源大小:19.90KB        全文页数:38页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    学生成绩管理系统数据结构C语言版源代码.docx

    1、学生成绩管理系统数据结构C语言版源代码相信自己,世界上没有不可攀越的高峰。#include#include#includestruct students char Num10; /*字符型学生学号*/ char Name20; /*字符型学生姓名*/ char Sex3; /*字符型学生性别*/ double English; /*双精度实型英语成绩*/ double Java; /*双精度实型Java成绩*/ double Sjjg; /*双精度实数据结构*/ double Szdl; /*双精度实型数字电路*/ double Jsj; /*计算机组成原理*/ struct students

    2、 *next; /*用与构建连表指向下一结点*/; FILE *fp; /*定义全局变量fp*/void Revisemenu();/*修改菜单*/void Sortmenu();/*排序菜单*/void menu();/*主菜单*/void secret();/*安全验证*/struct students * Input();/*新建学生信息*/void fprint(struct students *head);/*将信息导入文件可追加*/void fprint_(struct students *head);/*将信息导入文件并覆盖*/void Browse(struct student

    3、s *head);/*浏览全部学生信息*/struct students * create(struct students *headint *n);/*从tushu_list中读取数据构建链表*/void FindofNum(struct students *head);/*按学号查询学生信息*/void FindofNname(struct students *head);/*按姓名查询学生信息*/void SortEnglish(struct students * head);/*按英语成绩排序*/void SortJava(struct students * head);/*按Java

    4、成绩排序*/void SortSjjg(struct students * head);/*按数据结构成绩排序*/void SortSzdl(struct students * head);/*按数字逻辑电路成绩排序*/void SortJsj(struct students * head);/*按计算机组成原理成绩排序*/struct students * Delete(struct students * headchar m15);/*按学号删除学生成绩信息*/struct students * Revise();/*修改学生信息(按编号修改)*/*主菜单*/void menu() pri

    5、ntf(nn); 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);/*排序菜单*/void Sortmenu() printf(nn); printf(*n); printf( 按成绩排序 n); printf( 1-大学英语 2-JAVA编程 n); printf( 3-数据结构

    6、4-数字逻辑电路 n); printf( 5-计算机组成原理 0-返回上级菜单 n); printf(*n);/*修改菜单*/void Revisemenu() printf(nn); printf( 1-修改学生姓名 2-修改学生学号 n); printf( 3-修改学生性别 4-修改英语成绩 n); printf( 5-修改JAVA成绩 6-修改数据结构 n); printf( 7-修改数字电路 8-修改计算计 n); printf( 0-返回上级菜单 n); printf(nn);/*安全验证*/void secret() char a20; printf(*欢迎来到学生信息管理系统进入

    7、系统前请先进行密码验证-); printf( ); do gets(a); /*输入密码*/ system(cls); /*调用库函数清屏*/ printf(对不起!您输入的密码有误请重新输入-); while(strcmp(a0605)!=0); /*单一密码0605*/ system(cls);/*新建学生信息*/struct students * Input() struct students *p1*p2*head; /*建立辅助结点及头结点*/ char Name; int n=0x; printf(n请按对应项输入学生信息以#结束:n); printf(姓名 学号 性别 英语 Ja

    8、va 数据结构 数字电路 计算机组成原理n); p1=(struct students *)malloc(sizeof(struct students); head=p2=p1; do /*使用do while语句输入学生信息*/ scanf(%s&p1-Name); if(strcmp(p1-Name#)=0)break; /*判断结束符*/ else scanf(%s%s%lf%lf%lf%lf%lf p1-Nump1-Sex&p1-English&p1-Java&p1-Sjjg&p1-Szdl&p1-Jsj); Name=#; p1=(struct students *)malloc(s

    9、izeof(struct students); 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); /*调用函数保存至文件*/ else printf(n文件没有被保存!n); return head; /*返回头指针*/*将信息导入文件可追加*/void fprint(struct students *head) struct students *p1; if(f

    10、p=fopen(students_list.txta)=NULL) printf(File open error!n); exit(0); for(p1=head;p1-next!=NULL;p1=p1-next) /*遍历*/ fprintf(fp%st%st%st%.1lft%.1lft%.1lft%.1lft%.1lfn p1-Namep1-Nump1-Sexp1-Englishp1-Javap1-Sjjgp1-Szdlp1-Jsj);/*将学生信息写入文件*/ fclose(fp); /*关闭文件*/ printf(n学生信息已成功保存到文件 students_list.txt 中!n

    11、); getchar();/*将信息导入文件并覆盖*/void fprint_(struct students *head) struct students *p1; if(fp=fopen(students_list.txtw)=NULL) printf(File open error!n); exit(0); for(p1=head;p1!=NULL;p1=p1-next) /*遍历*/ fprintf(fp%st%st%st%.1lft%.1lft%.1lft%.1lft%.1lfn p1-Namep1-Nump1-Sexp1-Englishp1-Javap1-Sjjgp1-Szdlp1

    12、-Jsj);/*将学生信息写入文件*/ fclose(fp); /*关闭文件*/; getchar();/*浏览全部学生信息*/void Browse(struct students *head) char Num10; /*字符型学生学号*/ char Name20; /*字符型学生姓名*/ char Sex3; /*字符型学生性别*/ double English; /*双精度实型英语成绩*/ double Java; /*双精度实型Java成绩*/ double Sjjg; /*双精度实数据结构*/ double Szdl; /*双精度实型数字电路*/ double Jsj; /*计算机

    13、组成原理*/ if(fp=fopen(students_list.txta+)=NULL) printf(File open error!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(%st%st%st%.1lft%.1lft%.1lft%.1lft%.1lfn NameNumSexEnglishJavaSj

    14、jgSzdlJsj); ; if(fclose(fp) printf(Can not close the file!n); exit(0); /*从tushu_list中读取数据构建链表*/struct students * create(struct students * headint *n) FILE *fp; struct students*p*p1*p2; if(fp=fopen(students_list.txta+)=NULL) printf(File open error!n); exit(0); while(!feof(fp) (*n)+; p=(struct student

    15、s *)malloc(sizeof(struct students); fscanf(fp%s%s%s%lf%lf%lf%lf%lf p-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); return head;/*按姓名查询学生信息*/void FindofName(struct students *head) int i=0n=0; ch

    16、ar b20; struct students *p; head=create(head&n); p=head; printf(n请输入要查询的学生姓名:); scanf(%sb); while(p!=NULL) if(strcmp(p-Nameb)=0) printf(姓名 学号 性别 英语 Java 数据结构 数字电路 计算机n); printf(%st%st%st%.1lft%.1lft%.1lft%.1lft%.1lfn p-Namep-Nump-Sexp-Englishp-Javap-Sjjgp-Szdlp-Jsj); i+; p=p-next; if(i=0) printf(n对不

    17、起!没有找到名为%s的学生信息!nb);/*按学号查询学生信息*/void FindofNum(struct students *head) int i=0n; char b20; struct students *p; head=create(head&n); p=head; printf(n请输入要查询的学生学号:); scanf(%sb); while(p!=NULL) if(strcmp(p-Numb)=0) printf(姓名 学号 性别 英语 Java 数据结构 数字电路 计算机n); printf(%st%st%st%.1lft%.1lft%.1lft%.1lft%.1lfn p

    18、-Namep-Nump-Sexp-Englishp-Javap-Sjjgp-Szdlp-Jsj); i+; p=p-next; if(i=0) printf(n对不起!没有找到学号为%s学生信息!nb);/*按英语成绩排序*/void SortEnglish(struct students * head) struct students *p*tail; /*定义中间变量*/ int n; double English; p=(struct students *)malloc(sizeof(struct students); head=create(head&n); printf(姓名 学号

    19、性别 英语 Java 数据结构 数字电路 计算机n); while(head-next!=NULL) /*利用选择法排序*/ tail=NULL; p=head; English=p-English; /*将链表中第一个成绩赋给English*/ while(p!=NULL) if(p-English)English)/*比较*/ English=p-English; tail=p; p=p-next; tail=NULL; p=head; while(p-next!=NULL) if(p-English=English) printf(%st%st%st%.1lft%.1lft%.1lft%

    20、.1lft%.1lfn p-Namep-Nump-Sexp-Englishp-Javap-Sjjgp-Szdlp-Jsj); if(p=head) head=head-next; else tail-next=p-next; tail=p; p=p-next; if(p-English=English) /*分数相同时无需比较*/ printf(%st%st%st%.1lft%.1lft%.1lft%.1lft%.1lfn p-Namep-Nump-Sexp-Englishp-Javap-Sjjgp-Szdlp-Jsj); tail-next=NULL; p=head; /*将链表赋给结构体指

    21、针*/ printf(%st%st%st%.1lft%.1lft%.1lft%.1lft%.1lfn p-Namep-Nump-Sexp-Englishp-Javap-Sjjgp-Szdlp-Jsj);/*浏览排序后的信息*/ printf(按英语成绩排序后输出如上(注:此过程不保存至文件):n); return;/*按JAVA成绩排序*/void SortJava(struct students * head) struct students *p*tail; /*定义中间变量*/ int n; double Java; p=(struct students *)malloc(sizeof(

    22、struct students); head=create(head&n); printf(姓名 学号 性别 英语 Java 数据结构 数字电路 计算机n); while(head-next!=NULL) /*利用选择法排序*/ tail=NULL; p=head; Java=p-Java; /*将链表中第一个成绩赋给Java*/ while(p!=NULL) if(p-Java)Java)/*比较*/ Java=p-Java; tail=p; p=p-next; tail=NULL; p=head; while(p-next!=NULL) if(p-Java=Java) printf(%st

    23、%st%st%.1lft%.1lft%.1lft%.1lft%.1lfn p-Namep-Nump-Sexp-Englishp-Javap-Sjjgp-Szdlp-Jsj); if(p=head) head=head-next; else tail-next=p-next; tail=p; p=p-next; if(p-Java=Java) /*成绩相同时无需比较*/ printf(%st%st%st%.1lft%.1lft%.1lft%.1lft%.1lfn p-Namep-Nump-Sexp-Englishp-Javap-Sjjgp-Szdlp-Jsj); tail-next=NULL;

    24、p=head; /*将链表赋给结构体指针*/ printf(%st%st%st%.1lft%.1lft%.1lft%.1lft%.1lfn p-Namep-Nump-Sexp-Englishp-Javap-Sjjgp-Szdlp-Jsj);/*浏览排序后的信息*/ printf(按Java成绩排序后输出如上(注:此过程不保存至文件):n); return;/*按数据结构排序*/void SortSjjg(struct students * head) struct students *p*tail; /*定义中间变量*/ int n; double Sjjg; p=(struct studen

    25、ts *)malloc(sizeof(struct students); head=create(head&n); printf(姓名 学号 性别 英语 Java 数据结构 数字电路 计算机n); while(head-next!=NULL) /*利用选择法排序*/ tail=NULL; p=head; Sjjg=p-Sjjg; /*将链表中第一个成绩赋给Sjjg*/ while(p!=NULL) if(p-Sjjg)Sjjg)/*比较*/ Sjjg=p-Sjjg; tail=p; p=p-next; tail=NULL; p=head; while(p-next!=NULL) if(p-Sjjg=Sjjg) printf(%st%st%st%.1lft%.1lft%.1lft%.1lft%.1lfn p-Namep-Nump-Sexp-Eng


    注意事项

    本文(学生成绩管理系统数据结构C语言版源代码.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开