学生信息管理系统(C语言)_第1页
学生信息管理系统(C语言)_第2页
学生信息管理系统(C语言)_第3页
学生信息管理系统(C语言)_第4页
学生信息管理系统(C语言)_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、#include#include#include#define BUFLEN 100#define LEN 15 /学号和姓名最大字符数,实际请更改#define N 100struct recordchar xhLEN+1; /学号char nameLEN+1; /姓名int age; /年龄char sex3; /性别char timeLEN+1; 出生年月char add30; /家庭地址char telLEN+1; 电话号码char mail30; 邮件stuN;int k=1,n,m; /定义全局变量void readfile()/建 立信息char *p=student.txt”;

2、FILE *fp;int i=0;if (fp=fopen(”student.txt”,”r”)=NULL)printf(Open file %s error! Strike any key to exit!,p);system(pause);exit(0);while(fscanf(fp,%s %s%d%s %s %s %s %s”,stui.xh,,&stui.age,stui.sex,stui.time,stui.add,stui.tel,stui.mail)=8)i+;i=i;fclose(fp);n=i;printf(录入完毕! n);void seek() 查找i

3、nt i,item,flag;char s121; 以姓名和学号最长长度+1为准printf(n);printf(-1.按学号查询-n);printf(-2.按姓名查询-n);printf(-3.退出本菜单-n);printf(n);while(1)printf(-请选择子菜单编号:”);scanf(%d”,&item);flag=0;switch(item)case 1:printf(-请输入要查询的学生的学号:n);scanf(%s”,s1);for(i=0;in;i+)if(strcmp(stui.xh,s1)=0)flag=1;printf(-学生学号学生姓名年龄性别 出生年月 地址

4、电话E-mailn);printf(n);printf(%6s %7s %6d %5s %9s %8s %10s %14sn”,stui.xh,,stui.age, stui.sex,stui.time,stui.add,stui.tel,stui.mail);if(flag=0)printf(该学号不存在! n); break;case 2:printf(请输入要查询的学生的姓名:n);scanf(%s”,s1);for(i=0;in;i+)if(strcmp(,s1)=0)flag=1;printf(-学生学号学生姓名年龄性别 出生年月 地址 电话E-m

5、ailn);printf(n);printf(%6s %7s %6d %5s %9s %8s %10s %14sn”,stui.xh,,stui.age, stui.sex,stui.time,stui.add,stui.tel,stui.mail);if(flag=0)printf(该姓名不存在! n); break;case 3:return;default:printf(请在 1-3 之间选择n”);void modify() /修改信息int i,item,num;char sex13,s1LEN+1,s2LEN+1; 以姓名和学号最长长度+1为准 printf(请输

6、入要要修改的学生的学号:n);scanf(%s”,s1);for(i=0;in;i+)if(strcmp(stui.xh,s1)=0) 比较字符串是否相等num=i;printf(n);printf(1.修改姓名 n);printf(2.修改年 Mn);printf(3.修改性别 n);printf(4.修改出生年月n);printf(5.修改地 Mn);printf(6.修改电话号码n);printf(7.修改 E-mail 地Mn);printf(8.退出本菜单n);printf(n);while(1)printf(-请选择子菜单编号:”);scanf(%d”,&item);switch(

7、item)case 1:printf(-请输入新的姓名:n);scanf(%s”,s2);strcpy(,s2); break;case 2:printf(-请输入新的年龄:n);scanf(%d”,&stunum.age);break;case 3:printf(”请输入新的性别:n);scanf(%s,sex1);strcpy(stunum.sex,sex1); break;case 4:printf(”请输入新的出生年月:n);scanf(%s”,s2);strcpy(stunum.time,s2); break;case 5:printf(请输入新的地址:n);s

8、canf(%s”,s2);strcpy(stunum.add,s2); break;case 6:printf(请输入新的电话号码:n);scanf(%s”,s2);strcpy(stunum.tel,s2); break;case 7:printf(请输入新的E-mail地址:n);scanf(%s”,s2);strcpy(stunum.mail,s2); break;case 8:return;default:printf(请在 1-8 之间选择n”);void sort()/按 学号排序int i,j,*p,*q,s;char temp10;for(i=0;ii;j-)if(strcmp

9、(stuj-1.xh,stuj.xh)0)strcpy(temp,stuj-1.xh);strcpy(stuj-1.xh,stuj.xh);strcpy(stuj.xh,temp);strcpy(temp,);strcpy(,);strcpy(,temp);strcpy(temp,stuj-1.sex);strcpy(stuj-1.sex,stuj.sex);strcpy(stuj.sex,temp);strcpy(temp,stuj-1.time);strcpy(stuj-1.time,stuj.time);st

10、rcpy(stuj.time,temp);strcpy(temp,stuj-1.add);strcpy(stuj-1.add,stuj.add);strcpy(stuj.add,temp);strcpy(temp,stuj-1.tel);strcpy(stuj-1.tel,stuj.tel);strcpy(stuj.tel,temp);strcpy(temp,stuj-1.mail);strcpy(stuj-1.mail,stuj.mail);strcpy(stuj.mail,temp);p=&stuj-1.age;q=&stuj.age;s=*q;*q=*p;*p=s; void inser

11、t() /插入函数int i=n,j,flag;printf(-请输入待增加的学生数:n);scanf(%d”,&m);doflag=1;while(flag)flag=0;printf(请输入第%d个学生的学号:n”,i+1);scanf(%s”,stui.xh);for(j=0;ji;j+)if(strcmp(stui.xh,stuj.xh)=0)printf(已有该学号,请检查后重新录入!n);flag=1;break; /如有重复立即退出该层循环,提高判断速度printf(请输入第%d个学生的姓名:n”,i+1);scanf(%s,);printf(”请输入第%d个学

12、生的年龄:n”,i+1);scanf(%d”,&stui.age);printf(”请输入第%d个学生的性别:n”,i+1);scanf(%s”,stui.sex);printf(”请输入第%d个学生的出生年月:(格式:年.月)n,i+1);scanf(%s”,stui.time);printf(”请输入第%d个学生的地址:n”,i+1);scanf(%s”,stui.add);printf(请输入第%d个学生的电话:n”,i+1);scanf(%s”,stui.tel);printf(请输入第 %d 个学生的 E-mail:n”,i+1);scanf(%s”,stui.mail);if(fl

13、ag=0)i=i;i+;while(in+m);n+=m;printf(录入完毕! nn);sort();void del()int i,j,flag=0;char s1LEN+1;printf(-请输入要删除学生的学号:n);scanf(%s”,s1);for(i=0;in;i+)if(strcmp(stui.xh,s1)=0)flag=1;for(j=i;jn-1;j+)stuj=stuj+1;if(flag=0)printf(该学号不存在! n);if(flag=1)printf(-删除成功,显示结果请选择菜单6n);n-;void display()int i;printf(所有学生的

14、信息为:n);printf(-学生学号学生姓名年龄性别 出生年月地址 电话E-mailn);printf(n);for(i=0;in;i+)printf(%6s %7s %5d %5s %9s %8s %10s %14sn”,stui.xh,,stui.age, stui.sex,stui.time,stui.add,stui.tel,stui.mail);void save()int i;FILE *fp;fp=fopen(”student.txt”,”w”); /* 写入*/for(i=0;in;i+)fprintf(fp, %s %s %d %s %s %s %s %s

15、n,stui.xh,,stui.age, stui.sex,stui.time,stui.add,stui.tel,stui.mail);fclose(fp);void menu()/* 界面 */ int num;n);printf(* 系统功能菜单 *printf(-友情提醒:查询前请先刷新系统!n);n);printf( printf( printf(printf( printf(n);n);n);n);n);printf(“ 个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个* 1.查询学生信息 * *2.修改学生信息*“ 个个

16、个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个* 3.增加学生信息 * * 4.按学号删除信息*“ 个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个* 5.显示当前信息 * *6.保存当前学生信息*“ 个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个printf(printf(printf(printf(printf(printf(-请选择菜单编号:,scanf(%d”,&num);switch(num)case 1:seek();break;case 2:modify();break;case 3:insert();break;case 4:del();br

温馨提示

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

最新文档

评论

0/150

提交评论