基于C语言的文件管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于C语言的学生信息管理系统
#include "stdio.h"
#define SIZE 100000
#include"string.h"
#include"stdlib.h"
#include"conio.h"
struct student
{ int n;
int num;
char name[10];
int C;
int Maths;
int En;
float ave;
}stu[SIZE];
/*录入数据*/
void finput()
{
FILE *fp;
int i,p;
fp=fopen("fstu","wb");
for(i=0;i { printf("i=%d 输入序号i(当输入i=-1时,返回),i=",i++); scanf("%d",&i); if(i==-1) { fclose(fp); return; } else { printf("请输入学号,姓名,C成绩,数学成绩,英语成绩:"); scanf("%d%s%d%d%d",&stu[i].num,stu[i].name,&stu[i].C,&stu[i].Maths,&stu[i].En); stu[i].ave=(stu[i].C+stu[i].Maths+stu[i].En)/3.0; stu[i].n=i+1; fwrite(&stu[i],sizeof(struct student),1,fp); } } fclose(fp); } /*输出数据*/ void flist() { FILE *fp; int i; fp=fopen("fstu","rb"); printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"); printf(" 成绩列表\n"); printf("-----------------------------------------------------------\n"); printf("序号学号姓名C成绩数学英语平均\n"); printf("-----------------------------------------------------------\n"); for(i=0;fread(&stu[i],sizeof(struct student),1,fp)==1;i++) { printf("%d%8d%8s%8d%8d%8d%16.2f\n",stu[i].n,stu[i].num,stu[i].name,stu[i].C,stu[i].Math s,stu[i].En,stu[i].ave); } printf("-----------------------------------------------------------\n\n"); printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"); fclose(fp); } /*查找数据*/ void fsearch() { FILE *fp; int i,num; fp=fopen("fstu","rb"); rewind(fp); printf("请输入要查找的学号:"); scanf("%d",&num); printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"); printf(" 查询结果\n"); printf("-----------------------------------------------------------\n"); printf("序号学号姓名C成绩数学英语平均\n"); printf("-----------------------------------------------------------\n"); for(i=0;i<=SIZE;i++) if(stu[i].num==num) { printf("%d%8d%8s%8d%8d%8d%16.2f\n",stu[i].n,stu[i].num,stu[i].name,stu[i].C,stu[i].Math s,stu[i].En,stu[i].ave); } printf("-----------------------------------------------------------\n\n"); printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n\n\n"); fclose(fp); } /*增加数据*/ void fadden() { int i,s; FILE *fp; fp=fopen("fstu","ab+"); rewind(fp); printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"); printf(" 成绩列表\n"); printf("-----------------------------------------------------------\n"); printf("序号学号姓名C成绩数学英语平均\n"); printf("-----------------------------------------------------------\n"); for(i=0;fread(&stu[i],sizeof(struct student),1,fp)==1;i++) { printf("%d%8d%8s%8d%8d%8d%16.2f\n",stu[i].n,stu[i].num,stu[i].name,stu[i].C,stu[i].Math s,stu[i].En,stu[i].ave); } printf("※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※\n"); s=i; for(i=s;i { printf("i=%d 输入序号i(当输入i=-1时,返回),i=",i+1); scanf("%d",&i); if(i==-1) { fclose(fp); return; } else { printf("请输入学号,姓名,C成绩,数学成绩,英语成绩:"); stu[i].n=i+1; scanf("%d%s%d%d%d",&stu[i].num,stu[i].name,&stu[i].C,&stu[i].Maths,&stu[i].En); stu[i].ave=(stu[i].C+stu[i].Maths+stu[i].En)/3.0; fwrite(&stu[i],sizeof(struct student),1,fp); } }