学生信息管理系统C语言_第1页
学生信息管理系统C语言_第2页
学生信息管理系统C语言_第3页
免费预览已结束,剩余13页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、#i nclude "stdio.h"#include "string.h"#i nclude "stdlib.h"#defi ne M 10int num。/ 计数struct stude ntchar xuehao10。/学号char name10 。/姓名char sex8。/ 性别char birth20。/ 出生年月char jiguan30 。/籍贯char tel30 。/ 电话int score。/ 成绩studentM。char headline80 。/ 全局变量void read1(>FILE *fp。/文

2、件指针int i=0。fp=fopen("jz0112.txt","r"> 。/打开文件if(fp=NULL>printf("不能找到文件,请检查!n">。return。fgets(headline,80,fp> 。/ 读第一行的函数puts(headline>。while(!feof(fp>>/判断文件是否结束for(i=0 o i<M。i+>fsca nf(fp,"%s%s%s%s%s%s%d",stude nti.xuehao,stude nti. nam

3、e,stude nti.sex,stude nti.birth,stude nti.jigua n, stude nti.tel,&stude nti.score>。i+。/fscanf读两个空白字符之间的字符num=i。fclose(fp>。/ 关闭文件for(i=0。 ivnum。 i+>prin tf(%10s%-8s%6s%16s%16s%16s%6dn",stude nti.xuehao,stude nti. name,stude nti.sex,stude nti.birth,stude nti.jigua n, stude nti.tel,st

4、ude nti.score>。void fin d_xuehao(>/ 按学号查询char xuehao10。int i。int flag=0。printf("请输入学号:">。scanf("%s",xuehao> 。for(i=0。 ivnum。 i+>if(strcmp(xuehao,stude nti.xuehao>=0>flag=1。prin tf("%-10s%-8s%6s%16s%16s%16s%6dn",stude nti.xuehao,stude nti. name,stude

5、 nti.sex,stude nti.birth,stude nti.jigua n, stude nti.tel,stude nti.score>。break。if(flag=0>printf("n 无此信息 n">。void find_name(>/ 按姓名查询char name8。int i。int flag=0。printf("请输入姓名:">。scanf("%s", name> 。for(i=0。 ivnum。 i+>if(strcmp( name,stude nti .n ame&

6、gt;=0>flag=1。prin tf(%10s%-8s%6s%16s%16s%16s%6dn",stude nti.xuehao,stude nti. name,stude nti.se x,stude nti.birth,stude nti.jigua n, stude nti.tel,stude nti.score>。break。if(flag=0>printf("n 无此信息 n">。void all(>/显示全部int i。for(i=0。i<M。i+>prin tf("%-10s%-8s%6s%16

7、s%16s%16s%6dn",stude nti.xuehao,stude nti. name,stude nti.sex,stude nti.birth,stude nti.jigua n, stude nti.tel,stude nti.score>。void fin d(>int b。printf("n*n">oprintf(" 1按学号查询2按姓名查询3显示全部 4退出n"> printf("n*n">printf("请选择:">。scanf("%d&

8、quot;,&b> 。switch(b>case 1:find_xuehao(> 。break。case 2:find_name(>。break。case 3:all(>。break。case 4:return 。void sort_name(>/ 按姓名排序char nameM12,t12。int i,j。for(i=0。i<M。i+>strcpy (n amei,stude nti. name> 。for(j=1。j<M-1。j+>for(i=0。i<M-j。i+>if(strcmp( namei, na

9、mei+1>>0>strcpy(t,namei> 。strcpy( namei, namei+1>。strcpy( namei+1,t> 。for(i=0 o i<M。i+>for(j=0 o j<M o j+>if(strcmp( namei,stude ntj. name>=0>prin tf(%10s%-8s%6s%16s%16s%16s%6dn",stude ntj.xuehao,stude ntj. name,stude ntj.sex,stude ntj.birth,stude ntj.jigua n

10、, stude ntj.tel,stude ntj.score>。void sort_score(>/ 按分数排序int i,j,t,aM。for(i=0。i<M。i+>ai=studenti.score。for(j=1 o j<M-1。j+>for(i=0。i<M-j。i+>if(ai<ai+1>t=ai。ai=ai+1。ai+1=t。for(i=0 o i<M。i+>for(j=0。j<M。j+>if(ai=stude ntj.score>prin tf("n%-10s%-8s%6s%14s

11、%16s%16s%6d",stude ntj.xuehao,stude ntj. name,stude ntj.sex, stude ntj.birth,stude ntj.jigua n, stude ntj.tel,stude ntj.score>。void sort(>/ 排序int b。printf("n*n">oprintf(" 1按姓名排序2按分数排序3退出n"> printf("n*n">printf("请选择:">。scanf("%d"

12、;,&b> 。switch(b>case 1:sort_name(> 。break。case 2:sort_score(>。break。case 3:return。void add(>/ 添加int i。int flag=0。char add10。printf("请输入你要修改的学生的学号:"> scanf("%s",add>。for(i=0。ivnum。i+>if(strcmp(stude nti.xuehao,add>=0>flag=1。printf("此信息已存在,不能添

13、加!n">。prin tf(%10s%-8s%6s%14s%16s%16s%6d",stude nti.xuehao,stude nti. name,stude nti.sex, stude nti.birth,stude nti.jigua n, stude nti.tel,stude nti.score>。break。if(flag=0>printf("n无此学生信息,请添加信息:"。sca nf("%s%s%s%s%s%s%d",stude ntnu m.xuehao,stude ntnu m. name,st

14、ude n t nu m.sex,stude ntnu m.birth,stude ntnu m.jigua n, stude nt nu m.tel,&stude nt nu m.score> 。nu m+。for(i=0。 ivnum。 i+>prin tf("n%-10s%-8s%6s%14s%16s%16s%6d",stude nti.xuehao,stude nti. name,stude nti.sex, stude nti.birth,stude nti.jigua n, stude nti.tel,stude nti.score>。

15、void Delete_name(>/ 按姓名删除int i。int flag=0。char name10。printf("请输入要删除的姓名:">。scanf("%s", name> 。for(i=0。 ivnum。 i+>if(strcmp(stude nti. name, name>=0>flag=1。for(。 ivnum-1 。 i+>studenti=studenti+1。printf("此信息存在,将被删除。n">。for(i=0 。 i<num-1 。 i+>

16、prin tf("n%-10s%-8s%6s%14s%16s%16s%6d",stude nti.xuehao,stude nti. name,stude nti.sex, stude nti.birth,stude nti.jigua n, stude nti.tel,stude nti.score>。if(flag=0>printf("n无此学生信息,请确认!n">。void Delete_xuehao(>/ 按学号删除int i。int flag=0。char xuehao10。printf("请输入要删除的学号:

17、">。scanf("%s",xuehao> 。for(i=0。 ivnum。 i+>if(strcmp(stude nti.xuehao,xuehao>=0>flag=1。for(。 ivnum-1 。 i+>studenti=studenti+1。printf("此信息存在,将被删除。n">。for(i=0。 i<num-1 。 i+>prin tf("n%-10s%-8s%6s%14s%16s%16s%6d",stude nti.xuehao,stude nti. n

18、ame,stude nti.sex, stude nti.birth,stude nti.jigua n, stude nti.tel,stude nti.score>。if(flag=0>printf("n无此学生信息,请确认!n">。void Delete(>/ 删除int b。prin tf("n*n">printf(" 1按姓名删除2按学号删除3退出n">prin tf("n*n">printf("请选择:">。scanf("%d

19、",&b> 。switch(b>case 1:Delete_name(> 。break。case 2:Delete_xuehao(> 。break。case 3:return。void modify(>/ 修改int i。int flag=0。char modify10。printf("请输入你要修改的学生的学号:">。scanf("%s",modify> 。for(i=0。 ivnum。 i+>if(strcmp(stude nti.xuehao,modify>=0>flag

20、=1。printf("学号姓名 性别 出生年月 籍贯 电话 成绩n">。prin tf("%-10s%-8s%6s%14s%16s%16s%6d",stude nti.xuehao,stude nti. name,stude nti.sex, stude nti.birth,stude nti.jigua n, stude nti.tel,stude nti.score>。break。if(flag=0>printf("n无此学生信息n">。return。printf("n要修改学生的姓名:n&quo

21、t;>。prin tf("stude nti. name="> 。sca nf("%s",stude nti. name> 。printf("n要修改学生的性别:n">printf("studenti.sex=">。seanf("%s",studenti.sex> 。printf("n要修改学生的出生年月:n">。printf("studenti.birth="> 。sea nf("%s"

22、,stude nti.birth> 。printf("n要修改学生的籍贯:n">。prin tf("stude nti.jigua n="> 。sea nf("%s",stude nti.jigua n> 。printf("n要修改学生的电话:n">。printf("studenti.tel="> 。seanf("%s",studenti.tel> 。printf("n要修改学生的成绩:n">。printf(

23、"studenti.score="> 。sea nf("%d",&stude nti.score> 。for(i=0。 ivnum。 i+>prin tf("n%-10s%-8s%6s%14s%16s%16s%6d",stude nti.xuehao,stude nti. name,stude nti.sex, stude nti.birth,stude nti.jigua n, stude nti.tel,stude nti.seore>。void classify_male(>/ 按男分类in

24、t i。FILE *fp。fp=fopen ("male.txt","w"> 。if (fp=NULL>printf("不能找到文件,请检查!">。return。fputs(headline,fp>。for(i=0。 ivnum。 i+>if(stremp(studenti.sex,"男">=0>prin tf("n%-10s%-8s%6s%14s%16s%16s%6d",stude nti.xuehao,stude nti. name,stude nt

25、i.sex, stude nti.birth,stude nti.jigua n, stude nti.tel,stude nti.seore>。fprin tf(fp,"n%-10s%-8s%6s%14s%16s%16s%6d",stude nti.xuehao,stude nti. name,stude nti.sex, stude nti.birth,stude nti.jigua n, stude nti.tel,stude nti.score>。fclose(fp>。void classify_female(>/ 按女分类int i。FIL

26、E *fp1。fp仁 fope n( "female.txt","w"> 。if (fp1=NULL>printf("不能找到文件,请检查!">。return。fputs(headline,fp1>。for(i=0。 ivnum。 i+>if(strcmp(studenti.sex,"女">=0>prin tf("n%-10s%-8s%6s%14s%16s%16s%6d",stude nti.xuehao,stude nti. name,stude nt

27、i.sex, stude nti.birth,stude nti.jigua n, stude nti.tel,stude nti.score>。fprin tf(fp1,"n%-10s%-8s%6s%14s%16s%16s%6d",stude nti.xuehao,stude nti. name,stude nti.sex, stude nti.birth,stude nti.jigua n, stude nti.tel,stude nti.score>。fclose(fp1>。void classify(>/ 分类int b。prin tf("n*n">prin tf("n*n">oprintf("请选择:">。scanf("%d",&b>。switch(b>case 1:classify_male(> 。b

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论