ImageVerifierCode 换一换
格式:DOCX , 页数:49 ,大小:22.43KB ,
资源ID:24975740      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24975740.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c语言做的学生管理系统.docx)为本站会员(b****9)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c语言做的学生管理系统.docx

1、c语言做的学生管理系统/*Copyright (c) 2012,陈长佑*All right reserved*文件名称:log_menu.c*文件标识:*摘 要:本文件放置了登录函数,功能是登录到管理员主菜单或学生主菜单,* 管理员账户固定,登录前加载密码,学生登录前先加载学生信息,然后匹配学生用户名和密码。*版 本:1.0*作 者:陈长佑*完成日期:2012年8月4日*/#includegloble.hvoid loger()/登录函数 int m=0; int i=0; int y=310909;/固定的管理员账户 char st32;/把加载的管理员密码放到该数组中 char str32

2、;/把输入密码放到该数组中 node_p head=create_headnode();/创建头结点 strcpy(st,load_manege_key();/75加载管理员密码 head=load_stu(head);/加载学生信息 for(i=0;inext; if(sp!=NULL) while(sp!=NULL) if(m=sp-stu.num)&(strcmp(str,sp-stu.key)=0)/验证学生学号和密码 break; sp=sp-next; if(sp!=NULL) student_menu(head,m);/进入学生菜单 else printf(系统不存在这用户!n)

3、; if(inext=NULL; return head; node_p create_node()/创建空结点,无指向 node_p headp; headp=(node_p)malloc(sizeof(node_t); if(headp=NULL) exit(1); headp-next = NULL; return headp;node_p input_data()/输入学生信息 node_p headp; static int k; k=add_num(); headp=create_node(); if(headp=NULL) printf(内存分配失败n); headp-stu.n

4、um=k; printf(自动生成学号n); printf(%d,headp-stu.num); printf(请输入姓名n); scanf(%s,headp-stu.name); getchar(); printf(请输入密码n); scanf(%s,headp-stu.key); getchar(); printf(请输入年龄n); if(headp-stu.agestu.age150) printf(输入); /* else printf(请输入学生名字 密码 年龄 班级n); scanf(%s %s %d %d,headp-stu.name,headp-stu.key,&headp-s

5、tu.age,&headp-stu.classes); getchar(); printf(请输入数学 语文 c语言成绩:n); scanf(%d %d %d,&headp-stu.grade.math,&headp-stu.grade.chinese,&headp-stu.grade.c); */ k+; return headp;int add_num()/学号自增函数 int a=301; int b,c,d,t; printf(请设置学号的年级 班级 第一个学生的编号n); scanf(%d %d %d,&b,&c,&d); getchar(); t=a*1000000+b*10000

6、+c*100+d; return t;node_p insert_node(node_p head,node_p headp)/把结点插入到链表中去 headp-next=head-next; head-next=headp; return head; node_p add_stu(node_p head)/增加学生信息 int n; int i; node_p headp; printf(输入学生人数n); scanf(%d,&n); getchar(); if(head=NULL) exit(1); for(i=0;inext; while(headp!=NULL) fwrite(&hea

7、dp-stu,sizeof(STU),1,fp); headp=headp-next; printf(保存学生信息成功n); fclose(fp); flag=0; getchar(); return head;node_p load_stu(node_p head)/加载学生信息 FILE* fp; if(head=NULL) exit(1); node_p p=head-next; while(p!=NULL) head-next = p-next; free(p); p-next=NULL; p = head-next; if(fp=fopen(stb,rt)=NULL) printf(

8、不能打开文件n); exit(1); node_p headp =create_node(); while(fread(&headp-stu,sizeof(STU),1,fp)=1) printf(学号=%d,姓名=%s,密码=%s,年龄=%d,班级=%dn,headp-stu.num,headp-stu.name,headp-stu.key,headp-stu.age,headp-stu.classes); printf(数学=%d,语文=%d,c语言=%dn,headp-stu.grade.math,headp-stu.grade.chinese,headp-stu.grade.c); h

9、ead=insert_node(head,headp); headp =create_node(); fclose(fp); flag=0; printf(加载学生信息成功n); getchar(); return head;node_p delete_stu(node_p head)/删除学生信息 int n; node_p headp; if(head=NULL) exit(1); headp=head-next; if(headp=NULL) exit(1); printf(请输入删除学生的学号:n); scanf(%d,&n); getchar(); if(headp!=NULL) w

10、hile(headp!=NULL) if(n=headp-stu.num) break; head=head-next; headp=headp-next; if(headp!=NULL) head-next=headp-next; free(headp); headp-next=NULL; printf(删除学生信息成功n); flag=1; else printf(系统不存在这用户!n); return head;node_p modify_stu(node_p head)/修改学生信息 int i; int choice; while(1) system(clear); printf(=

11、n); printf(1:修改学生成绩n); printf(2:修改学生姓名n); printf(3:修改学生班级n); printf(0:返回上一级菜单n); printf(=n); printf(请选择:n); i=scanf(%d,&choice); while(i=0) printf(输入错误,请重新输入:n); while(getchar()!=n);/清空键盘缓冲 i=scanf(%d,&choice); getchar();/去掉换行符 switch(choice) case 1: modify_score(head); break; case 2: modify_name(he

12、ad); break; case 3: modify_classes(head); break; case 0: return head; default: printf(输入不对,请重新输入:); break; getchar(); flag=1; return head;void search_stu(node_p head) int i; int choice; while(1) system(clear); printf(=n); printf(1:按姓名查询学生信息n); printf(2:按班级查询学生信息n); printf(3:按总成绩排名查询学生信息n); printf(0:

13、返回上一级菜单n); printf(=n); printf(请选择:n); i=scanf(%d,&choice); while(i=0) printf(输入错误,请重新输入:n); while(getchar()!=n);/清空键盘缓冲 i=scanf(%d,&choice);/ getchar();/去掉换行符 switch(choice) case 1: name_search(head); break; case 2: classes_search(head); break; case 3: total_sort_output(head); break; case 0: return;

14、 default: printf(输入不对,请重新输入:); break; getchar(); flag=0; return;void sort_stu(node_p head) int i; int choice; while(1) system(clear); printf(=n); printf(1:根据总成绩显示学生信息n); printf(2:根据排名显示学生信息n); printf(3:根据姓名排名显示学生信息n); printf(0:返回上一级菜单n); printf(=n); printf(请选择:n); i=scanf(%d,&choice); while(i=0) pri

15、ntf(输入错误,请重新输入:n); while(getchar()!=n);/清空键盘缓冲 i=scanf(%d,&choice);/ getchar();/去掉换行符 switch(choice) case 1: total_sort_output(head); break; case 2: rank_output(head); break; case 3: name_sort_output(head); break; case 0: return; default: printf(输入不对,请重新输入:); break; getchar(); flag=0; return;void pr

16、intf_stu(node_p head)/打印学生信息 if(head=NULL) exit(1); node_p headp=head-next; while(headp!=NULL) printf(学号=%d,姓名=%s,密码=%s,年龄=%d,班级=%dn,headp-stu.num,headp-stu.name,headp-stu.key,headp-stu.age,headp-stu.classes); printf(数学=%d,语文=%d,c语言=%dn,headp-stu.grade.math,headp-stu.grade.chinese,headp-stu.grade.c)

17、; headp=headp-next; getchar(); return;void quit_stu(node_p head)/ 退出管理员菜单函数 if(head=NULL) exit(1); if(flag=0) exit(1); if(flag=1) printf(是否保存信息y或n:n); getchar(); if(getchar()=y|getchar()=Y) save_stu(head); exit(1); if(n=getchar()|N=getchar() exit(1); return;void save_manege_key()/保存管理员密码 FILE *fp; c

18、har st32=abcde; if(fp=fopen(sts,wt)=NULL) printf(不能打开文件n); exit(1); fprintf(fp,%s,st); rewind(fp); fclose(fp); printf(保存管理员密码成功n); getchar(); return; char* load_manege_key()/加载管理员密码 FILE *fp; static char st32=; if(fp=fopen(sts,rt)=NULL) printf(不能打开文件n); exit(1); fscanf(fp,%s,st); rewind(fp); fclose(

19、fp); printf(加载管理员密码成功n); return st;void modify_manege_key()/修改管理员密码 FILE *fp; static char snew32=; static char gnew32=; while(1) printf(请输入管理员新密码:n); scanf(%s,snew); getchar(); printf(请再次输入管理员新密码:n); scanf(%s,gnew); if(strcmp(snew,gnew)=0) if(fp=fopen(sts,wt)=NULL) printf(不能打开文件n); exit(1); fprintf(fp,%s,gnew); rewind(fp); fclose(fp);

copyright@ 2008-2022 冰豆网网站版权所有

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