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

下载本文档

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

文档简介

1、学生信息管理系统#include<stdio.h>#include<stdlib.h>#include<conio.h>#include<dos.h>#include<string.h>#define LEN sizeof(struct student)#define FORMAT "%-12d%-12s%-13.1f%-13.1f%-13.1f%-13.1fn"#define DATA stui.num,,stui.chinese,stui.math,stui.english,stui.sum/

2、*定义学生成绩结构体*/struct studentint num;char name15;float chinese;float math;float english;float sum;struct student stu50;/*函数声明与简介*/void input();void show();void order();void del();void modify();void menu();void insert();void total();void search();int chcode();/*主函数*/int main()int n;int login = chcode();

3、if(!login)printf("登录失败!n");return 0;printf("登录成功!n");menu();scanf("%d",&n);while(n)switch(n) case 0: exit(0);case 1: input();break; case 2: search();break; case 3: del();break; case 4: modify();break; case 5: insert();break; case 6: order();break; case 7: total();br

4、eak; case 8: show();break; default:printf("输入有误,请重新输入:");break;getch();menu();scanf("%d",&n);return 0;/*自定义函数实现菜单功能*/void menu()system("cls");printf("tt|-学生信息系统-|n");printf("tt| |n");printf("tt| 0. 退出系统ttt |n");printf("tt| 1. 输入记录t

5、tt |n");printf("tt| 2. 查找记录ttt |n");printf("tt| 3. 删除记录ttt |n");printf("tt| 4. 修改记录ttt |n");printf("tt| 5. 插入记录ttt |n");printf("tt| 6. 记录排序ttt |n");printf("tt| 7. 记录个数ttt |n");printf("tt| 8. 显示记录ttt |n");printf("tt|-|nn&

6、quot;);printf("tt请输入你的操作(0-8):");/*录入学生信息*/void input()int i,m=0;char ch2;FILE *fp;/*定义指针文件*/if(fp=fopen("stuData.tet","a+")=NULL)printf("打开文件失败n");return;while(!feof(fp)if(fread(&stum,LEN,1,fp)=1)m+;fclose(fp);if(m=0)printf("没有数据!n");elsesystem(

7、"cls");show();if(fp=fopen("stuData.txt","wb")=NULL)printf("打开文件失败n");return;for(i=0;i<m;i+)fwrite(&stui,LEN,1,fp);printf("请确认(y/n):");scanf("%s",ch);while(strcmp(ch,"Y")=0|strcmp(ch,"y")=0)printf("学号:");

8、scanf("%d",&stum.num);for(i=0;i<m;i+)if(stui.num=stum.num)printf("此学号已存在!");getch();fclose(fp);return;printf("姓名:");scanf("%s",);printf("语文成绩:");scanf("%f",&stum.chinese);printf("数学成绩:");scanf("%f",&a

9、mp;stum.math);printf("英语成绩:");scanf("%f",&stum.english);stum.sum=stum.chinese+stum.math+stum.english;if(fwrite(&stum,LEN,1,fp)!=1)printf("保存失败!");getch();elseprintf("%s 已保存!n",);m+;printf("是否继续?(y/n):");scanf("%s",ch);fclos

10、e(fp);printf("操作成功!n");/*自定义查找*/void search()FILE *fp;int snum,i,m=0;char ch2;if(fp=fopen("stuData.txt","rb")=NULL)printf("打开文件失败n");return;while(!feof(fp)if(fread(&stum,LEN,1,fp)=1)m+;fclose(fp);if(m=0)printf("文件无记录!n");return;printf("请输入需要

11、查找的学生学号:");scanf("%d",&snum);for(i=0;i<m;i+)if(snum=stui.num)printf("学生数据已找到,确认显示?(y/n)");scanf("%s",ch);if(strcmp(ch,"Y")=0|strcmp(ch,"y")=0)printf("学号 姓名 语文 数学 英语 总分tn");printf(FORMAT,DATA);break;if(i=m)printf("查找失败!n&quo

12、t;); /*自定义删除*/void del()FILE*fp;int snum,i,j,m=0;char ch2;if(fp=fopen("stuData.tet","r+")=NULL)printf("打开文件失败n");return;while(!feof(fp)if(fread(&stum,LEN,1,fp)=1)m+;fclose(fp);if(m=0)printf("文件无记录!n");return;show();printf("请输入需要删除的学生学号:");scanf(&

13、quot;%d",&snum);for(i=0;i<m;i+)if(snum=stui.num)printf("数据已经找到,是否确认删除?(y/n)");scanf("%s",ch);if(strcmp(ch,"Y")=0|strcmp(ch,"y")=0)for(j=i;j<m;j+)stuj=stui;m-;if(fp=fopen("stuData.txt","wb")=NULL)printf("打开文件失败n");re

14、turn;for(j=0;j<m;j+)if(fwrite(&stuj,LEN,1,fp)!=1)printf("对不起,保存失败!n");getch();fclose(fp);printf("删除成功!n");return;elseprintf("取消删除!n");return;printf("没有找到要删除的信息!n");/*自定义修改函数*/void modify()FILE *fp;int i,j,m=0,snum;if(fp=fopen("stuData.txt",&qu

15、ot;r+")=NULL)printf("打开文件失败n");return;while(!feof(fp)if(fread(&stum,LEN,1,fp)=1)m+;if(m=0)printf("文件无记录!n");fclose(fp);return;show();printf("请输入你要修改的的学生学号n");printf("学号是:");scanf("%d",&snum);for(i=0;i<m;i+)if(snum=stui.sum)printf(&quo

16、t;学生数据已找到,请修改!n");printf("name");scanf("%s",);printf("chinese");scanf("%f",&stui.chinese);printf("math:");scanf("%f",&stui.chinese);printf("english:");scanf("%f",&stui.english);printf("modi

17、fy successful!");stui.sum=stui.chinese+stui.math+stui.english;if(fp=fopen("stuData.txt","wb")=NULL)printf("保存失败!");getch();fclose(fp);return;printf("没有找到匹配信息");/*自定义插入函数*/void insert()FILE *fp;int i,j,k,m=0,snum;if(fp=fopen("stuData.txt","r

18、+")=NULL)printf("打开文件失败n");return;while(!feof(fp)if(fread(&stum,LEN,1,fp)=1)m+;if(m=0)printf("没有数据!n");fclose(fp);return;printf("请输入数据插入的位置:n");scanf("%d",&snum);for(i=0;i<m;i+)if(snum=stui.num)break;for(j=m-1;j>i;j-)stuj+i=stuj;printf("

19、;请输入待插入数据信息.n");printf("学号");scanf("%d",&stui+1.num);for(k=0;k<m;k+)if(stuk.num=stum.num)printf("此学号已存在!");getch();fclose(fp);return;printf("姓名");scanf("%s",stui+1.name);printf("语文成绩:");scanf("%f",&stui+1.chinese);

20、printf("数学成绩:");scanf("%f",&stui+1.math);printf("英语成绩:");scanf("%f",&stui+1.english);stui+1.sum=stui+1.chinese+stui+1.math+stui+1.english;if(fp=fopen("stuData.txt","wb")=NULL)printf("打开文件失败n");return;for(k=0;k<=m;k+)if(

21、fwrite(&stuk,LEN,1,fp)!=1)printf("保存失败!");getch();return;printf("插入函数成功!");getch();fclose(fp);/*自定义排序函数*/void order()FILE *fp;struct student t;int i=0,j=0,m=0;if(fp=fopen("stuData.txt","r+")=NULL)printf("打开文件失败!n");return;while(!feof(fp)if(fread(

22、&stum,LEN,1,fp)=1)m+;fclose(fp);if(m=0)printf("无记录!n");return;if(fp=fopen("stuData.txt","wb")=NULL)printf("打开文件失败n");return;for(i=0;i<m-1;i+)if(fwrite(&stui,LEN,1,fp)!=1)printf("%s 保存失败!n");getch();fclose(fp);printf("操作成功n");/*显示学生总人数*/void total()FILE *fp;int m=0;if(fp=fopen("stuData.txt","r+")=NULL)printf("打开文件失败n");return;while(!feof(fp)if(fread(&stum,LEN,1,fp)=1)m+;if(m=0)printf("文件无记录!n");fclose(fp);return;printf("学生总数为 %d 位!n",m);fc

温馨提示

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

评论

0/150

提交评论