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

    学生成绩管理系统.docx

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

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

    学生成绩管理系统.docx

    1、学生成绩管理系统#include #include #include#include /引用头文件struct A int num; char name20; int score3; struct A*next;/声明学生成绩结构体变量/*声明学生成绩管理系统各函数*/void Aadd(char filename20);/声明学生成绩管理系统添加功能函数void Adel(char filename20);/声明学生成绩管理系统删除功能函数void Achange(char filename20);/声明学生成绩管理系统修改功能函数void Asearch(char filename20);

    2、/声明学生成绩管理系统查找功能函数void Asave(struct A*pt,char filename20);/声明学生成绩管理系统文件保存函数void END();/声明结束函数struct A*Acreate();/声明学生成绩管理系统新建函数struct A*Aread(char filename20);/声明学生成绩管理系统文件输出函数/*定义结束函数*/ void END()printf(#n);printf(# #n);printf(# 谢谢您的使用,欢迎下次使用,再见! #n);printf(# #n);printf(#n);/*定义学生成绩管理系统新建函数*/struct

    3、A*Acreate() struct A*p,*q,*head; int a=0;char ch; p=q=(struct A*)malloc(sizeof(struct A); /开辟一个新单元 head=NULL; printf(学号:); scanf(%d,&p-num); /输入第一个学生的学号 printf(姓名:); scanf(%s,p-name); /输入第一个学生的姓名 getchar(); printf(高数成绩:n); scanf(%d,&p-score0); printf(英语成绩:n); scanf(%d,&p-score1); printf(数据结构成绩:n); s

    4、canf(%d,&p-score2); printf(是否继续?Y.是 N(其它任意键).否 ); scanf(%c,&ch); getchar(); if(ch=Y) while(ch=Y) a=a+1; if(a=1) head=p; else q-next=p; /使p指向q的下一结点 q=p; p=(struct A*)malloc(sizeof(struct A); /开辟一个新单元 printf(学号:); scanf(%d,&p-num); printf(姓名:); scanf(%s,p-name); getchar(); printf(高数成绩:n); scanf(%d,&p-

    5、score0); printf(英语成绩:n); scanf(%d,&p-score1); printf(数据结构成绩:n); scanf(%d,&p-score2); printf(是否继续?Y.是 N(其它任意键).否 ); scanf(%c,&ch); p-next=NULL; q-next=p; else p-next=NULL; head=p; return(head);/*定义学生成绩管理系统函数*/int main() char ch,filename20; while(1) printf(#n); printf(# #n); printf(# 欢迎您使用学生成绩管理系统! #n

    6、); printf(# #n); printf(# 欢迎您使用以下功能: #n); printf(# #n); printf(# A.添加 B.删除 #n); printf(# #n); printf(# C.修改 D.查找 #n); printf(# #n); printf(# E.保存 F.退出 #n); printf(# #n); printf(# #n); printf(# #n); printf(#n); printf(请您选择您所需要的功能:); scanf(%c,&ch); getchar(); if(ch!=A&ch!=B&ch!=C&ch!=D&ch!=E&ch!=F) pr

    7、intf(对不起,您输入有误,请重试。n); else if(ch=F) END(); return 0; /退出使用 else printf(请您输入所用文件名:); scanf(%s,filename); getchar(); switch(ch) caseA:Aadd(filename);break;/选择学生成绩添加功能 caseB:Adel(filename);break;/选择学生成绩删除功能 caseC:Achange(filename);break;/选择学生成绩修改功能 caseD:Asearch(filename);break;/选择学生成绩查找功能 caseE:Asave

    8、(Acreate(),filename);break;/选择学生成绩保存功能 /*定义学生成绩管理系统文件保存函数*/void Asave(struct A*pt,char filename20) FILE *fp; if(fp=fopen(filename,a)=NULL)/新建并打开文件 printf(对不起,无法打开此文件n);/无法打开此文件 exit(0); while(pt!=NULL)/如果存在就输入文件保存 if(fwrite(pt,sizeof(struct A),1,fp)!=1) printf(对不起,文件输入错误n); pt=pt-next;/使pt指向下一个结点 fc

    9、lose(fp); /关闭fp所指的文件/*定义学生成绩管理系统添加函数*/void Aadd(char filename20) struct A*pt,*p; pt=Acreate(); FILE *fp; if(fp=fopen(filename,ab)=NULL)/打开文件出错 fp=fopen(filename,wb);/如果原文件不存在,就新建 while(pt!=NULL) /如果存在就输入文件保存 if(fwrite(pt,sizeof(struct A),1,fp)!=1) printf(对不起,文件输入错误n); pt=pt-next; fclose(fp);/关闭文件 p=

    10、Aread(filename); free(p); /释放P所指的内存区 Asave(pt,filename);/*定义学生成绩管理系统文件输出函数*/struct A*Aread(char filename20) FILE*fp; /定义一个指向文件的指针变量fp int i; struct A*head,*p,*q; head=NULL; /头指针为空地址 if(fp=fopen(filename,rb)=NULL)/打开文件出错 printf(对不起,无法打开此文件n);/无法打开此文件 exit(0); printf(当前系统学生成绩内容如下:n); p=q=(struct A*)ma

    11、lloc(sizeof(struct A);/把p和q分配为与struct A相同字节的存储区 fread(p,sizeof(struct A),1,fp); /从fp指向的文件读入一组数据 for(i=0;!feof(fp);i+) /如果未遇到fp文件的结束标志 printf(学号:%- 20d姓名:%-20s高数成绩:%-10d英语成绩:%-10d数据结构成绩:%-10dn,p-num,p-name,p-score0,p-score1,p-score2); q=p; p=(struct A*)malloc(sizeof(struct A);/开辟相同字节的存储区 fread(p,size

    12、of(struct A),1,fp);/从fp指向的文件中再次读入一组数据 q-next=p; /使p指向下一个结点 if(i=0)head=q; /使q的地址成为头指针 i+; q-next=NULL;/使q的下一个结点为空地址 return(head);/*定义学生成绩管理系统删除功能函数*/void Adel(char filename20) char ch,name20; int a; struct A*pt,*p,*q,*head; int i=0,flag=0; /判断是非的标志 do i=0; head=NULL; /头指针为空地址 p=q=(struct A*)malloc(s

    13、izeof(struct A); /开辟p和q空间的起始地址 p=Aread(filename); head=p; /p的空间地址为头指针 printf(请您选择:A.按学号操作 B.按姓名操作 C.按高数成绩操作 D.按英语成绩操作 E.按数据结构成绩操作 ); scanf(%c,&ch); /键盘输入选择键 getchar(); switch(ch) caseA: printf(请输入您要删除学生的学号:);/按学号操作 scanf(%d,&a); /输入学生学号 while(p!=NULL) /指针p的地址不为空地址 if(a=p-num) /若指针p指向的学号与a相等 flag=1;

    14、/继续循环 if(i=0) head=p-next; /p的下一个结点的地址为头指针 p=head; else q-next=p-next;/使p的下一个结点指向q的下一个结点 free(p);/释放p所指的内存区 p=q-next;/使q的下一个结点指向p else q=p; /指针变量p的地址赋予指针p p=q-next; /使q的下一个结点指向p i+; if(flag=0) printf(对不起,您要查找的内容不存在。n); else Asave(head,filename); /存储此文件 flag=0; /跳出循环 break;/提前终止循环,跳出switch语句 caseB: p

    15、rintf(请输入您要删除学生的姓名:);/按姓名操作 scanf(%s,name); getchar(); while(p!=NULL) /指针p的地址不为空地址 if(strcmp(p-name,name)=0) /比较指针p指向的成员姓名与输入姓名 flag=1; if(i=0) head=p-next;/p的下一个结点赋予头指针 p=head;/再将头指针赋予指针变量p else q-next=p-next; /使p的下一个结点指向q的下一个结点 free(p);/释放p所指的内存区 p=q-next; /使q的下一个结点指向p else q=p; p=q-next; /使q的下一个结

    16、点指向p i+; if(flag=0) printf(对不起,您要查找的内容不存在。n); else Asave(head,filename); /存储此头文件 flag=0; break; /提前终止循环,跳出switch语句 caseC: printf(请输入您要删除学生的高数成绩:);/按高数成绩操作 scanf(%d,&a); while(p!=NULL) /指针p的地址不为空地址 if(a=p-score0) /若输入成绩a等于p指向的高数成绩 flag=1; if(i=0) head=p-next; /使p下一个结点成为头指针 p=head;/再将头指针赋予指针变量p else q

    17、-next=p-next; /使p的下一个结点指向q的下一个结点 free(p); /释放p所指的内存区 p=q-next; /使q的下一个结点指向p else q=p; p=q-next; /使q的下一个结点指向p i+; if(flag=0) printf(对不起,您要查找的内容不存在。n); else Asave(head,filename); /存储此文件 flag=0; break; /提前终止循环,跳出switch语句 caseD: printf(请输入您要删除学生的英语成绩:);/按英语成绩操作 scanf(%d,&a); while(p!=NULL) /当指针p的地址不为空地址

    18、时 if(a=p-score1) /若输入成绩a等于p指向的英语成绩 flag=1; if(i=0) head=p-next; /使p指向的下一个结点引为头指针 p=head; /将头指针赋予指针p else q-next=p-next; /使p的下一个结点指向q的下一个结点 free(p); /释放p所指的内存区 p=q-next; /使q的下一个结点指向p else q=p; /指针p的地址赋予指针q p=q-next; /使q的下一个结点指向p i+; if(flag=0) printf(对不起,您要查找的内容不存在。n); else Asave(head,filename); /存储此

    19、文件 flag=0; break; /提前终止循环,跳出switch语句 caseE: printf(请输入您要删除学生的数据结构成绩:);/按数据结构成绩操作 scanf(%d,a); while(p!=NULL) /当指针p的地址不为空地址时 if(a=p-score2) /若输入成绩a等于p指向的数据结构成绩 flag=1; if(i=0) head=p-next; /将p的下一个结点引为头指针 p=head;/再将头指针赋予指针变量p else q-next=p-next; /使p的下一个结点指向q的下一个结点 free(p); /释放p所指的内存区 p=q-next; /使q的下一个

    20、结点指向p else q=p; /将指针p的地址赋予指针q的地址 p=q-next;/使q的下一个结点指向p i+; if(flag=0) printf(对不起,您要查找的内容不存在。n); else Asave(head,filename); /存储此文件 flag=0; break; /提前终止循环,跳出switch语句 default: /若上面所有条件都不成立,则运行以下程序 printf(对不起,您输入有误。n); printf(是否继续?Y.是 N(其它任意键).否 n); scanf(%c,&ch); getchar(); while(ch=Y); /当选择Y时pt=Aread(

    21、filename); /输出文件ptfree(pt); /释放pt所指的存储区/*定义学生成绩管理系统修改功能函数*/void Achange(char filename20) char ch,name20; int a; struct A*pt,*p,*head; int flag; do flag=0; p=(struct A*)malloc(sizeof(struct A); p=Aread(filename); head=p; printf(请您选择:A.按学号操作 B.按姓名操作 C.按高数成绩操作 D.按英语成绩操作 E.按数据结构成绩操作 ); scanf(%c,&ch); ge

    22、tchar(); switch(ch) caseA: printf(请输入您要修改学生的学号:);/按学号操作 scanf(%d,&a); getchar(); while(p!=NULL) if(a=p-num) flag=1; printf(学生原始信息:n); printf(学号:%dn,p-num); printf(姓名:%sn,p-name); printf(高数成绩:%dn,p-score0); printf(英语成绩:%dn,p-score1); printf(数据结构成绩:%dn,p-score2); printf(是否修改学号?Y.是 N(其它任意键).否 ); scanf(

    23、%c,&ch); getchar(); if(ch=Y) printf(请输入修改后的学号:); scanf(%d,&p-num); getchar(); printf(是否修改姓名?Y.是 N(其它任意键).否 ); scanf(%c,&ch); getchar(); if(ch=Y) printf(请输入修改后的姓名:); scanf(%s,&p-name); getchar(); printf(是否修改高数成绩?Y.是 N(其它任意键).否 ); scanf(%c,&ch); getchar(); if(ch=Y) printf(请输入修改后高数成绩:); scanf(%d,&p-score0); printf(是否修改英语成绩?Y.是 N(其它任意键).否 ); scanf(%c,&ch); getchar(); if(ch=Y) printf(请输入修改后的英语成绩:); scanf(%d,&p-score1); printf


    注意事项

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

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




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

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

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

    收起
    展开