欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOC文档下载  

    用C语言开发小型数据库管理系统代码文库.doc

    • 资源ID:19092       资源大小:70.50KB        全文页数:16页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    用C语言开发小型数据库管理系统代码文库.doc

    -用C语言开发小型数据库管理系统代码的文库.t*t如果有来生,要做一棵树,站成永恒,没有悲伤的姿势。一半在土里安详,一半在风里飞扬,一半洒落阴凉,一半沐浴,非常沉默非常骄傲,从不依靠从不寻找。*include <stdio.h>*include <string.h>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 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* * * * * * * * * *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. 数学成绩排序 *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"); 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() /*读取文档*/ 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"); fclose(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;j<i;j+) if(recordi.Number=recordj.Number) printf("nt警告! 输入了二个同样的*! 第%d条和第%d*一样!n",i,j); printf("nt请重新输入!n"); goto Loop1; Loop2: printf("n* 请输入数学成绩(整型) * :"); scanf("%d",&recordi.Math); if(recordi.Math>100|recordi.Math<0) printf("nt输入的分数不服合实际要求! 请重新录入!n"); goto Loop2; Loop3: printf("n* 请输入C语言成绩(整型) * :"); scanf("%d",&recordi.C); if(recordi.C>100|recordi.C<0) printf("nt输入的分数不服合实际要求! 请重新录入!n"); goto Loop3; recordi.Amount=recordi.Math+recordi.C; printf(" n'w'=完毕录入 's'=重新录入此条记录 'n'=下一条 : "); getchar(); /*吃掉上一个回车符*/ if(ch=getchar()='s') i=i-1; return(i);/*void Readputer(int i,FILE *fp1) (文本式)数据写入机器 int j; for(j=1;j<i+1;j+) fscanf(fp1,"%s,%ld,%d,%d,%d",recordj.name,&recordj.Number,&recordj.Math,&recordj.C,&recordj.Amount);void SaveFile(int i,FILE *fp1) (文本式)数据写到文件中 int j; for(j=1;j<i+1;j+) fprintf(fp1,"%s,%ld,%d,%d,%d",recordj.name,recordj.Number,recordj.Math,recordj.C,recordj.Amount);*/ void Readputer2(int i,FILE *fp1) /*(2式)数据写入机器*/ int j; for(j=1;j<i+1;j+) if(fread(&recordj,sizeof(struct st),1,fp1)!=1) printf("n主文件数据读取错误! n"); fclose(fp1); void SaveFile2(int i,FILE *fp1) /*(2式)数据写到文件中*/ int j; for(j=1;j<i+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(fp1); 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) 数据与入付本文件文本式 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 Readputer2(FILE *fp1) 读出付本中的数据文本式 int j,k; fscanf(fp1,"%s,%d",num0.name,&num0.num); k=num0.num; return(k);*/void Additive2Two(int i,FILE *fp1) /*数据写入付本文件二进制式*/ char str2="0" if(strcmp(filename2,str2)!=0) strcpy(num0.name,filename2); else strcpy(num0.name,filename2); num0.num=i; if(fwrite(&num0,sizeof(struct count),1,fp1)!=1) printf("n付本文件数据写入错误! n"); fclose(fp1); int Readputer2Two(FILE *fp1) /*读出付本中的数据二进制式*/ int j; if(fread(&num0,sizeof(struct count),1,fp1)!=1) printf("n付本文件数据读取错误! n"); fclose(fp1); j=num0.num; return(j);/* * * */void Num_inquire() /*查询*/ int num,j,time; FILE *fp1,*fp2; fp1=readfile(); /*读取文档*/ fp2=readfile2(); /*(开打式'读'*'引用读文件名')读文件付本*/ time=Readputer2Two(fp2); /*读出付本中的数据二进制式*/ Readputer2(time,fp1); /*(2式)数据写入机器*/ fclose(fp1);fclose(fp2); printf("输入*:"); scanf("%ld",&num); /*getchar();*/ for(j=1;j<time+1;j+) if(recordj.Number=num) printf("nName:%-10s Num:%3ld Math:%3d C:%3d Amount:%3dn",recordj.name,recordj.Number,recordj.Math,recordj.C,recordj.Amount); void Name_inquire() /*查询*/ int j,time; char Name10; FILE *fp1,*fp2; fp1=readfile(); fp2=readfile2(); /*(开打式'读'*'引用读文件名')读文件付本*/ time=Readputer2Two(fp2); /*读出付本中的数据二进制式*/ Readputer2(time,fp1); /*(2式)数据写入机器*/ fclose(fp1);fclose(fp2); printf("输入*:"); scanf("%s",Name); /*getchar();*/ for(j=1;j<time+1;j+) if(strcmp(Name,recordj.name)=0) printf("nName:%-10s Num:%3ld Math:%3d C:%3d Amount:%3dn",recordj.name,recordj.Number,recordj.Math,recordj.C,recordj.Amount); void Math_inquire() /*数学查询*/ int Math,j,time; FILE *fp1,*fp2; fp1=readfile(); fp2=readfile2(); /*(开打式'读'*'引用读文件名')读文件付本*/ time=Readputer2Two(fp2); /*读出付本中的数据二进制式*/ Readputer2(time,fp1); /*(2式)数据写入机器*/ fclose(fp1);fclose(fp2); printf("输入数学成绩:"); scanf("%d",&Math); /*getchar();*/ for(j=1;j<time+1;j+) if(recordj.Math>=Math) printf("nName:%-10s Num:%3ld Math:%3d C:%3d Amount:%3dn",recordj.name,recordj.Number,recordj.Math,recordj.C,recordj.Amount); void C_inquire() /*C查询*/ int C,j,time; FILE *fp1,*fp2; fp1=readfile(); fp2=readfile2(); /*(开打式'读'*'引用读文件名')读文件付本*/ time=Readputer2Two(fp2); /*读出付本中的数据二进制式*/ Readputer2(time,fp1); /*(2式)数据写入机器*/ fclose(fp1);fclose(fp2); printf("输入C语言成绩:"); scanf("%d",&C); /*getchar();*/ for(j=1;j<time+1;j+) if(recordj.C>=C) printf("nName:%-10s Num:%3ld Math:%3d C:%3d Amount:%3dn",recordj.name,recordj.Number,recordj.Math,recordj.C,recordj.Amount); void Amount_inquire() /*总分查询*/ int Amount,j,time; FILE *fp1,*fp2; fp1=readfile(); fp2=readfile2(); /*(开打式'读'*'引用读文件名')读文件付本*/ time=Readputer2Two(fp2); /*读出付本中的数据二进制式*/ Readputer2(time,fp1); /*(2式)数据写入机器*/ fclose(fp1);fclose(fp2); printf("输入总分:"); scanf("%d",&Amount); /*getchar();*/ for(j=1;j<time+1;j+) if(recordj.Amount>=Amount) printf("nName:%-10s Num:%3ld Math:%3d C:%3d Amount:%3dn",recordj.name,recordj.Number,recordj.Math,recordj.C,recordj.Amount); /* * * */void Num_inquire_Del() /*查询删除*/ char ch; int num,j,k,time; FILE *fp1,*fp2; fp1=readfile(); /*读取文档*/ fp2=readfile2(); /*读文件付本*/ time=Readputer2Two(fp2); /*读出付本中的数据二进制式*/ Readputer2(time,fp1); /*(2式)数据写入机器*/ fclose(fp1);fclose(fp2); printf("输入*:"); scanf("%ld",&num); getchar(); for(j=1;j<=time;j+) if(recordj.Number=num) printf("nName:%-10s Num:%3ld Math:%3d C:%3d Amount:%3dn",recordj.name,recordj.Number,recordj.Math,recordj.C,recordj.Amount); k=j; printf("nt* 删除='y' 不删除='n' * : "); if(ch=getchar()='y') if(k=time) time=time-1; else for(j=k;j<time;j+) recordj=recordj+1; time=time-1; fp1=foundfile(); /*新建文档*/ SaveFile2(time,fp1); /*(2式)数据写到文件中*/ fp2=foundfile2(); /*新建文件付本*/ Additive2Two(time,fp2); /*数据与入付本文件二进制式*/ printf("n删除成功!目前共有%d条记录!n",time); fclose(fp1);fclose(fp2); else printf("n没有执行删除操作!n"); /* * * */void Math_ranking(int i) /*数学排序函数*/ int j,k; st time; for(j=1;j<i;j+) for(k=1;k<=i-j;k+) if(recordk.Math>recordk+1.Math) time=recordk;recordk=recordk+1;recordk+1=time; printf("n"); for(j=1;j<i+1;j+) printf("nName:%-10s Num:%3ld Math:%3d C:%3d Amount:%3dn",recordj.name,recordj.Number,recordj.Math,recordj.C,recordj.Amount);void C_ranking(int i) /*C排序函数*/ int j,k; st time; for(j=1;j<i;j+) for(k=1;k<=i-j;k+) if(recordk.C>recordk+1.C) time=recordk;recordk=recordk+1;recordk+1=time; printf("n"); for(j=1;j<i+1;j+) printf("nName:%-10s Num:%3ld Math:%3d C:%3d Amount:%3dn",recordj.name,recordj.Number,recordj.Math,recordj.C,recordj.Amount);void Amount_ranking(int i) /*总分排序函数*/ int j,k; st time; for(j=1;j<i;j+) for(k=1;k<=i-j;k+) if(recordk.Amount>recordk+1.Amount) time=recordk;recordk=recordk+1;recordk+1=time; printf("n"); for(j=1;j<i+1;j+) printf("nName:%-10s Num:%3ld Math:%3d C:%3d Amount:%3dn",recordj.name,recordj.Number,recordj.Math,recordj.C,recordj.Amount);/* * * */main() FILE *fp,*ffp; int temp1=0,temp2=0,temp3; char ch,location; MainMenu(); location='1' printf("n请输入选项 1 - 6 (当前在主菜单):"); while(ch=getchar()!='0') if(ch='6')&&(location='1') getchar(); printf("nnttt* 'Y'=续继 'n'=退出 *n"); printf("nnttINPUT:"); if(ch=getchar()='n') printf("nnttt 您的使用!"); e*it(); break; else MainMenu();location='1' printf("n请输入选项 1 - 6 (当前在主菜单):"); if(ch='1')&&(location='1') temp1=InputSave(); /*添加数据 */ getchar(

    注意事项

    本文(用C语言开发小型数据库管理系统代码文库.doc)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开