收藏 分销(赏)

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

上传人:a199****6536 文档编号:3956589 上传时间:2024-07-24 格式:DOC 页数:17 大小:70.04KB
下载 相关 举报
用C语言开发小型数据库管理系统代码文库-(1).doc_第1页
第1页 / 共17页
用C语言开发小型数据库管理系统代码文库-(1).doc_第2页
第2页 / 共17页
用C语言开发小型数据库管理系统代码文库-(1).doc_第3页
第3页 / 共17页
用C语言开发小型数据库管理系统代码文库-(1).doc_第4页
第4页 / 共17页
用C语言开发小型数据库管理系统代码文库-(1).doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

1、用C语言开发小型数据库管理系统代码的文库。txt如果有来生,要做一棵树,站成永恒,没有悲伤的姿势。一半在土里安详,一半在风里飞扬,一半洒落阴凉,一半沐浴阳光,非常沉默非常骄傲,从不依靠从不寻找。include include string.htypedef 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”;c

2、har 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() /删除菜单/

3、 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。 总分排

4、序 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(”

5、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 fo

6、undfile() /新建文档*/ 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*

7、 请输入姓名(字符型) * :”); scanf(”s,recordi.name);Loop1: printf(”n* 请输入学号(长整型) :); scanf(”%ld”,&recordi.Number); if(i!=1) for(j=1;j100|recordi。Math0) printf(”nt输入的分数不服合实际要求! 请重新录入!n”); goto Loop2; Loop3: printf(”n* 请输入C语言成绩(整型) * :); scanf(%d”,recordi.C); if(recordi.C100recordi。C0) printf(”nt输入的分数不服合实际要求! 请

8、重新录入!n”); goto Loop3; recordi.Amount=recordi.Math+recordi。C; printf( nw=结束录入 s=重新录入此条记录 n=下一条 : ”); getchar(); /吃掉上一个回车符*/ if((ch=getchar()=s) i=i1; 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.Mat

9、h,recordj。C,&recordj.Amount);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

10、st),1,fp1))!=1) printf(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付

11、本文件读取错误!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,F

12、ILE 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 ReadComputer2(FILE fp1) 读出付本中的数据(文本方式) int j,k; fscanf(fp1,%s,%d,num0。name,&num0。num); k=num0。num; return

13、(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 ReadComputer2Two(FILE fp1) /读出

14、付本中的数据(二进制方式)*/ 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=ReadComputer2Two(fp2); /读出付本中的数据(二

15、进制方式)/ ReadComputer2(time,fp1); /(2方式)数据写入机器*/ fclose(fp1);fclose(fp2); printf(输入学号:); scanf(”%ld”,&num); /getchar();/ for(j=1;jtime+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(

16、) /姓名查询*/ int j,time; char Name10; FILE *fp1,fp2; fp1=readfile(); fp2=readfile2(); /*(开打方式读*引用读文件名)读文件付本/ time=ReadComputer2Two(fp2); /读出付本中的数据(二进制方式)*/ ReadComputer2(time,fp1); /*(2方式)数据写入机器/ fclose(fp1);fclose(fp2); printf(”输入姓名:); scanf(%s”,Name); /getchar();*/ for(j=1;jtime+1;j+) if(strcmp(Name,

17、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=ReadComputer2Two(fp2); /读出付本中的数据(二进制方式)/ Re

18、adComputer2(time,fp1); /(2方式)数据写入机器/ fclose(fp1);fclose(fp2); printf(”输入数学成绩:”); scanf(%d,&Math); /getchar();/ for(j=1;j=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;

19、 fp1=readfile(); fp2=readfile2(); /*(开打方式读*引用读文件名)读文件付本*/ time=ReadComputer2Two(fp2); /读出付本中的数据(二进制方式)*/ ReadComputer2(time,fp1); /(2方式)数据写入机器*/ fclose(fp1);fclose(fp2); printf(”输入C语言成绩:”); scanf(”d,C); /getchar();/ for(j=1;jtime+1;j+) if(recordj.C=C) printf(”nName:%10s Num:%3ld Math:3d C:3d Amount:

20、%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=ReadComputer2Two(fp2); /读出付本中的数据(二进制方式)*/ ReadComputer2(time,fp1); /*(2方式)数据写入机器/ fclose(fp1);fclose(fp

21、2); printf(输入总分:”); scanf(d”,&Amount); /getchar();*/ for(j=1;j=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(); /读取文档/ f

22、p2=readfile2(); /读文件付本*/ time=ReadComputer2Two(fp2); /*读出付本中的数据(二进制方式)*/ ReadComputer2(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。Num

23、ber,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;jtime;j+) recordj=recordj+1; time=time-1; fp1=foundfile(); /*新建文档/ SaveFile2(time,fp1); /(2方式)数据写到文件中/ fp2=foundfile2(); /*新建文件付本/ Additive2Two(time,fp2); /数据与入付本文

24、件(二进制方式)*/ 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;jrecordk+1.Math) time=recordk;recordk=recordk+1;recordk+1=time; printf(”n); for(j=1;ji+1;j+) printf(nName:%10s Num:%3ld Math:%3d C:%3d

25、 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;ji;j+) for(k=1;krecordk+1.C) time=recordk;recordk=recordk+1;recordk+1=time; printf(n”); for(j=1;ji+1;j+) printf(”nName:%-10s Num:%3ld Math:%3d C:3d Amount:%3dn”,r

26、ecordj.name,recordj.Number,recordj。Math,recordj。C,recordj.Amount);void Amount_ranking(int i) /总分排序函数*/ int j,k; st time; for(j=1;ji;j+) for(k=1;k=i-j;k+) if(recordk。Amountrecordk+1。Amount) time=recordk;recordk=recordk+1;recordk+1=time; printf(”n); for(j=1;ji+1;j+) printf(nName:10s Num:%3ld Math:3d C

27、:%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 谢谢您的使用!); exit(); break; else MainMenu();location=1; printf(”n请输入选项 1 6 (当前在主菜单):); if(ch=1)&(location=1) temp1=Input

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服