2022年学生信息管理系统源代码终版 .pdf
《2022年学生信息管理系统源代码终版 .pdf》由会员分享,可在线阅读,更多相关《2022年学生信息管理系统源代码终版 .pdf(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、#include stdio.h #include stdlib.h#include string.hint shoudsave =0; /* */struct student char num10;/* 学号 */char name20; char sex4; int age; int cgrade; int mgrade; int egrade; int totle; int ave; char xueyuan30; char banji20; char ID30; char phone20; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - -
2、 - - - - 名师精心整理 - - - - - - - 第 1 页,共 28 页 - - - - - - - - - char address50; char neartime10; /* 最近更新时间*/; typedef struct node struct student data; struct node *next; Node,*Link; int login()/* 登录函数 */ char logname30; printf( 请输入用户名和密码: n 用户名 :); scanf( %c ,logname); void menu() printf( *请按照提示操作,否则可能
3、出现错误*); printf( *); printf( t1 登记学生资料 tt2删除学生资料 tt7统计学生资料 n ); printf( t3 查询学生资料 tt4修改学生资料 tt8排序 n ); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 28 页 - - - - - - - - - printf( t5 保存学生资料 tt6输出学生资料 tt0结束n ); printf( *n); void printstart() printf( -n); void Wr
4、ong() printf( n=提示:输入错误 !n ); void Nofind() printf( n=提示:没有找到该学生 !n ); void printc() /* 本函数用于输出中文*/名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 28 页 - - - - - - - - - printf( 学号t 姓名性别年龄英语成绩数学成绩C语言成绩总分 平均分学院班级身份证电话住址n ); void printe(Node *p)/* 本函数用于输出英文*/print
5、f( %-12s%-8s%-6s%-6d%-6d%-6d%-6d%-6d%-8d%-20s%-15s%-20s%-15s%-20sn,p- data .num,p- data .name,p- data .sex,p- data .age,p- data .egrade,p - data .mgrade,p - data .cgrade,p - data .totle,p - data .ave,p- data .xueyuan,p - data .banji,p - data .ID,p- data .phone,p - data .address); Node* Locate(Link l
6、, char findmess, char nameornum) /* 该函数用于定位链表中符合要求的接点,幵返回该指针*/Node *r; if(strcmp(nameornum,num )=0) /* 按学号查询*/r=l- next; while(r!=NULL) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 28 页 - - - - - - - - - if(strcmp(r - data .num,findmess) = 0) return r; r=r- n
7、ext; else if(strcmp(nameornum,name )=0) /* 按姓名查询*/r=l- next; while(r!=NULL) if(strcmp(r - data .name,findmess) = 0) return r; r=r- next; return 0; void Add(Link l) /* 增加学生*/名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 28 页 - - - - - - - - - Node *p,*r,*s; cha
8、r num10; r=l; s=l- next; while(r- next !=NULL) r=r- next; /* 将指针置于最末尾*/while(1) printf( 请你输入学号 (以0返回上一级菜单 :); scanf( %s ,num); if(strcmp(num, 0)= 0) break ; while(s) if(strcmp(s - data .num,num) =0) printf( =提示:学号为 %s 的学生已经存在 ,若要修改请你选择 4 修改!n ,num); printstart(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - -
9、 - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 28 页 - - - - - - - - - printc(); printe(s); printstart(); printf( n ); return ; s=s- next; p=(Node *)malloc(sizeof (Node); strcpy(p - data .num,num); printf( 请你输入姓名 :); scanf( %s ,p- data .name); getchar(); printf( 请你输入性别 :); scanf( %s ,p- data .sex)
10、; getchar(); printf( 请你输入年龄 :); scanf( %d ,&p- data .age); getchar(); printf( 请你输入 c语言成绩 :); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 28 页 - - - - - - - - - scanf( %d ,&p- data .cgrade); getchar(); printf( 请你输入数学成绩 :); scanf( %d ,&p- data .mgrade); getcha
11、r(); printf( 请你输入英语成绩 :); scanf( %d ,&p- data .egrade); getchar(); printf( 请你输入学院名 :); scanf( %s ,&p- data .xueyuan); getchar(); printf( 请你输入班级 :); scanf( %s ,&p- data .banji); getchar(); printf( 请你输入身份证 :); scanf( %s ,&p- data .ID); getchar(); printf( 请你输入电话 :); scanf( %s ,&p- data .phone); 名师资料总结
12、- - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 28 页 - - - - - - - - - getchar(); printf( 请你输入家庭住址 :); scanf( %s ,&p- data .address); getchar(); p- data .totle =p- data .egrade +p- data .cgrade +p- data .mgrade; p- data .ave=p- data .totle / 3; /* 信息输入已经完成*/p- next =NU
13、LL; r- next =p; r=p; shoudsave =1; void Qur(Link l) /* 查询学生*/int sel; char findmess20; Node *p; if(!l- next) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 28 页 - - - - - - - - - printf( n=提示:没有资料可以查询 !n ); return ; printf( n=1按学号查找 n=2按姓名查找 n ); scanf( %d ,&se
14、l); if(sel= 1) /* 学号 */printf( 请你输入要查找的学号 :); scanf( %s ,findmess); p=Locate(l,findmess,num ); if(p) printf( tttt查找结果 n ); printstart(); printc(); printe(p); printstart(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 28 页 - - - - - - - - - elseNofind(); else
15、 if(sel=2) /* 姓名 */printf( 请你输入要查找的姓名 :); scanf( %s ,findmess); p=Locate(l,findmess,name ); if(p) printf( tttt查找结果 n ); printstart(); printc(); printe(p); printstart(); elseNofind(); else名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 28 页 - - - - - - - - - Wro
16、ng(); void Del(Link l) /* 删除 */int sel; Node *p,*r; char findmess20; if(!l- next) printf( n=提示:没有资料可以删除 !n ); return ; printf( n=1按学号删除 n=2按姓名删除 n ); scanf( %d ,&sel); if(sel= 1) printf( 请你输入要删除的学号 :); scanf( %s ,findmess); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - -
17、- 第 12 页,共 28 页 - - - - - - - - - p=Locate(l,findmess,num ); if(p) r=l; while(r- next !=p) r=r- next; r- next =p- next; free(p); printf( n=提示:该学生已经成功删除 !n ); shoudsave =1; elseNofind(); else if(sel=2) printf( 请你输入要删除的姓名 :); scanf( %s ,findmess); p=Locate(l,findmess,name ); if(p) 名师资料总结 - - -精品资料欢迎下载
18、 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 28 页 - - - - - - - - - r=l; while(r- next !=p) r=r- next; r- next =p- next; free(p); printf( n=提示:该学生已经成功删除 !n ); shoudsave =1; elseNofind(); elseWrong(); void Modify(Link l) Node *p; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - -
19、- - - - 名师精心整理 - - - - - - - 第 14 页,共 28 页 - - - - - - - - - char findmess20; if(!l- next) printf( n=提示:没有资料可以修改 !n ); return ; printf( 请你输入要修改的学生学号:); scanf( %s ,findmess); p=Locate(l,findmess,num ); if(p) printf( 请你输入新学号 (原来是 %s):,p- data .num); scanf( %s ,p- data .num); getchar(); printf( 请你输入新姓名
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年学生信息管理系统源代码终版 2022 学生 信息管理 系统 源代码
限制150内