1、用C语言开发小型数据库管理系统代码文库 1用C语言开发小型数据库管理系统代码的文库.txt如果有来生,要做一棵树,站成永恒,没有悲伤的姿势。一半在土里安详,一半在风里飞扬,一半洒落阴凉,一半沐浴阳光,非常沉默非常骄傲,从不依靠从不寻找。#include #include typedef struct count /*保存记录条数结构体*/ char name10; int num;count;typedef struct st char name10; long Number; int Math; int C; int Amount;st;st record8;count num1; char
2、 filename10=0;char filename210=0;int Inputnum8;void MainMenu() /*主菜单*/ printf(ntttt* * * * * * * * * *n); printf(tttt* 主菜单 *n); printf(tttt* 1. 创建新文件 *n); printf(tttt* 2. 添加记录 *n); printf(tttt* 3. 删除记录 *n); printf(tttt* 4. 排序 *n); printf(tttt* 5. 查询记录 *n); printf(tttt* 6. 退出 *n); printf(tttt* * * *
3、* * * * * *n);void DelMenu() /*删除菜单*/ printf(ntttt* * * * * * * * * * * *n); printf(tttt* 删除菜单 *n); printf(tttt* 1. 学号查询删除 *n); printf(tttt* 2. 返回到上级菜单 *n); printf(tttt* * * * * * * * * * * *n);void RankingMenu() /*排序菜单*/ printf(ntttt* * * * * * * * * * * *n); printf(tttt* 排序菜单 *n); printf(tttt* 1.
4、数学成绩排序 *n); printf(tttt* 2. C语言成绩排序 *n); printf(tttt* 3. 总分排序 *n); printf(tttt* 4. 返回到上级菜单 *n); printf(tttt* * * * * * * * * * * *n);void InquireMenu() /*查讯菜单*/ printf(ntttt* * * * * * * * * * * *n); printf(tttt* 查讯菜单 *n); printf(tttt* 1. 学号查讯 *n); printf(tttt* 2. 姓名查讯 *n); printf(tttt* 3. 数学成绩查讯 *n
5、); printf(tttt* 4. C语言成绩查讯 *n); printf(tttt* 5. 总分查讯 *n); printf(tttt* 6. 返回到上级菜单 *n); printf(tttt* * * * * * * * * * * *n);char Inputfilename() /*输入文件名同时产生付本文件名*/ char str2=B; printf(* 请输入文件名 * : ); scanf(%s,filename); getchar(); strcpy(filename2,filename); strcat(filename2,str2);FILE *readfile() /
6、*读取文档*/ FILE *fp1; if(fp1=fopen(filename,rb)=NULL) printf(n文件读取错误!n); fclose(fp1); return(fp1);FILE *foundfile() /*新建文档*/ FILE *fp1; if(fp1=fopen(filename,wb)=NULL) printf(n文件创建错误!n); fclose(fp1); return(fp1);FILE *savefile() /*追加文档*/ FILE *fp1; if(fp1=fopen(filename,ab)=NULL) printf(n文件追加错误!n); fcl
7、ose(fp1); return(fp1);int InputSave() /*添加数据 */ int i=0,j; char ch=y; while(ch!=w) i=i+1; printf(n* 请输入姓名(字符型) * :); scanf(%s,recordi.name);Loop1: printf(n* 请输入学号(长整型) * :); scanf(%ld,&recordi.Number); if(i!=1) for(j=1;j100|recordi.Math100|recordi.C0) printf(nt输入的分数不服合实际要求! 请重新录入!n); goto Loop3; rec
8、ordi.Amount=recordi.Math+recordi.C; printf( nw=结束录入 s=重新录入此条记录 n=下一条 : ); getchar(); /*吃掉上一个回车符*/ if(ch=getchar()=s) i=i-1; return(i);/*void ReadComputer(int i,FILE *fp1) (文本方式)数据写入机器 int j; for(j=1;ji+1;j+) fscanf(fp1,%s,%ld,%d,%d,%d,recordj.name,&recordj.Number,&recordj.Math,&recordj.C,&recordj.Am
9、ount);void SaveFile(int i,FILE *fp1) (文本方式)数据写到文件中 int j; for(j=1;ji+1;j+) fprintf(fp1,%s,%ld,%d,%d,%d,recordj.name,recordj.Number,recordj.Math,recordj.C,recordj.Amount);*/ void ReadComputer2(int i,FILE *fp1) /*(2方式)数据写入机器*/ int j; for(j=1;ji+1;j+) if(fread(&recordj,sizeof(struct st),1,fp1)!=1) prin
10、tf(n主文件数据读取错误! n); fclose(fp1); void SaveFile2(int i,FILE *fp1) /*(2方式)数据写到文件中*/ int j; for(j=1;ji+1;j+) if(fwrite(&recordj,sizeof(struct st),1,fp1)!=1) printf(n主文件数据写入错误! n); fclose(fp1); /* * * */FILE *readfile2() /*读文件付本*/ FILE *fp1; if(fp1=fopen(filename2,rb)=NULL) printf(n付本文件读取错误!n); fclose(fp
11、1); return(fp1);FILE *foundfile2() /*新建文件付本*/ FILE *fp1; if(fp1=fopen(filename2,wb)=NULL) printf(n付本文件创建错误!n); fclose(fp1); return(fp1);FILE *savefile2() /*追加文件付本*/ FILE *fp1; if(fp1=fopen(filename2,ab)=NULL) printf(n付本文件追加错误!n); fclose(fp1); return(fp1);/*void Additive2(int i,FILE *fp1) 数据与入付本文件(文本
12、方式) int j; char str2=0; if(strcmp(filenameF,str2)!=0) strcpy(num0.name,filenameF); else strcpy(num0.name,filenameA); num0.num=i; fprintf(fp1,%s,%d,num0.name,num0.num); int ReadComputer2(FILE *fp1) 读出付本中的数据(文本方式) int j,k; fscanf(fp1,%s,%d,num0.name,&num0.num); k=num0.num; return(k);*/void Additive2Two(int i,FI
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1