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

上传人:b****5 文档编号:3329619 上传时间:2022-11-21 格式:DOCX 页数:21 大小:17.92KB
下载 相关 举报
用C语言开发小型大数据库管理系统代码文库 1.docx_第1页
第1页 / 共21页
用C语言开发小型大数据库管理系统代码文库 1.docx_第2页
第2页 / 共21页
用C语言开发小型大数据库管理系统代码文库 1.docx_第3页
第3页 / 共21页
用C语言开发小型大数据库管理系统代码文库 1.docx_第4页
第4页 / 共21页
用C语言开发小型大数据库管理系统代码文库 1.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

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

《用C语言开发小型大数据库管理系统代码文库 1.docx》由会员分享,可在线阅读,更多相关《用C语言开发小型大数据库管理系统代码文库 1.docx(21页珍藏版)》请在冰豆网上搜索。

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

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

用C语言开发小型数据库管理系统代码的文库.txt如果有来生,要做一棵树,站成永恒,没有悲伤的姿势。

一半在土里安详,一半在风里飞扬,一半洒落阴凉,一半沐浴,非常沉默非常骄傲,从不依靠从不寻找。

#include

#include

typedefstructcount{/*保存记录条数结构体*/

charname[10];

intnum;

}count;

typedefstructst{

charname[10];

longNumber;

intMath;

intC;

intAmount;

}st;

strecord[8];

countnum[1];

charfilename[10]={"0"};

charfilename2[10]={"0"};

intInputnum[8];

voidMainMenu(){/*主菜单*/

printf("\n\t\t\t\t**********\n");

printf("\t\t\t\t*主菜单*\n");

printf("\t\t\t\t*1.创建新文件*\n");

printf("\t\t\t\t*2.添加记录*\n");

printf("\t\t\t\t*3.删除记录*\n");

printf("\t\t\t\t*4.排序*\n");

printf("\t\t\t\t*5.查询记录*\n");

printf("\t\t\t\t*6.退出*\n");

printf("\t\t\t\t**********\n");

}

voidDelMenu(){/*删除菜单*/

printf("\n\t\t\t\t************\n");

printf("\t\t\t\t*删除菜单*\n");

printf("\t\t\t\t*1.学号查询删除*\n");

printf("\t\t\t\t*2.返回到上级菜单*\n");

printf("\t\t\t\t************\n");

}

voidRankingMenu(){/*排序菜单*/

printf("\n\t\t\t\t************\n");

printf("\t\t\t\t*排序菜单*\n");

printf("\t\t\t\t*1.数学成绩排序*\n");

printf("\t\t\t\t*2.C语言成绩排序*\n");

printf("\t\t\t\t*3.总分排序*\n");

printf("\t\t\t\t*4.返回到上级菜单*\n");

printf("\t\t\t\t************\n");

}

voidInquireMenu(){/*查讯菜单*/

printf("\n\t\t\t\t************\n");

printf("\t\t\t\t*查讯菜单*\n");

printf("\t\t\t\t*1.学号查讯*\n");

printf("\t\t\t\t*2.查讯*\n");

printf("\t\t\t\t*3.数学成绩查讯*\n");

printf("\t\t\t\t*4.C语言成绩查讯*\n");

printf("\t\t\t\t*5.总分查讯*\n");

printf("\t\t\t\t*6.返回到上级菜单*\n");

printf("\t\t\t\t************\n");

}

charInputfilename(){/*输入文件名同时产生付本文件名*/

charstr2[]={"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);

}

intInputSave(){/*添加数据*/

inti=0,j;

charch='y';

while(ch!

='w')

{i=i+1;

printf("\n**请输入(字符型)**:

");

scanf("%s",record[i].name);

Loop1:

printf("\n**请输入学号(长整型)**:

");

scanf("%ld",&record[i].Number);

if(i!

=1)

for(j=1;j

if(record[i].Number==record[j].Number)

{printf("\n\t警告!

输入了二个同样的学号!

第%d条和第%d学号相同!

\n",i,j);

printf("\n\t请重新输入!

\n");

gotoLoop1;

}

Loop2:

printf("\n**请输入数学成绩(整型)**:

");

scanf("%d",&record[i].Math);

if(record[i].Math>100||record[i].Math<0)

{printf("\n\t输入的分数不服合实际要求!

请重新录入!

\n");

gotoLoop2;

}

Loop3:

printf("\n**请输入C语言成绩(整型)**:

");

scanf("%d",&record[i].C);

if(record[i].C>100||record[i].C<0)

{printf("\n\t输入的分数不服合实际要求!

请重新录入!

\n");

gotoLoop3;

}

record[i].Amount=record[i].Math+record[i].C;

printf("\n'w'=结束录入's'=重新录入此条记录'n'=下一条:

");

getchar();/*吃掉上一个回车符*/

if((ch=getchar())=='s')

i=i-1;

}

return(i);

}

/*

voidReadComputer(inti,FILE*fp1){(文本方式)数据写入机器

intj;

for(j=1;j

fscanf(fp1,"%s,%ld,%d,%d,%d",record[j].name,&record[j].Number,&record[j].Math,&record[j].C,&record[j].Amount);

}

voidSaveFile(inti,FILE*fp1){(文本方式)数据写到文件中

intj;

for(j=1;j

fprintf(fp1,"%s,%ld,%d,%d,%d",record[j].name,record[j].Number,record[j].Math,record[j].C,record[j].Amount);

}

*/

voidReadComputer2(inti,FILE*fp1){/*(2方式)数据写入机器*/

intj;

for(j=1;j

if((fread(&record[j],sizeof(structst),1,fp1))!

=1)

{printf("\n主文件数据读取错误!

\n");

fclose(fp1);

}

}

voidSaveFile2(inti,FILE*fp1){/*(2方式)数据写到文件中*/

intj;

for(j=1;j

if((fwrite(&record[j],sizeof(structst),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);

}

/*

voidAdditive2(inti,FILE*fp1){数据与入付本文件(文本方式)

intj;

charstr2={"0"};

if(strcmp(filenameF,str2)!

=0)

strcpy(num[0].name,filenameF);

else

strcpy(num[0].name,filenameA);

num[0].num=i;

fprintf(fp1,"%s,%d",num[0].name,num[0].num);

}

intReadComputer2(FILE*fp1){读出付本中的数据(文本方式)

intj,k;

fscanf(fp1,"%s,%d",num[0].name,&num[0].num);

k=num[0].num;

return(k);

}

*/

voidAdditive2Two(inti,FILE*fp1){/*数据写入付本文件(二进制方式)*/

charstr2[]={"0"};

if(strcmp(filename2,str2)!

=0)

strcpy(num[0].name,filename2);

else

strcpy(num[0].name,filename2);

num[0].num=i;

if((fwrite(&num[0],sizeof(structcount),1,fp1))!

=1)

{printf("\n付本文件数据写入错误!

\n");

fclose(fp1);

}

}

intReadComputer2Two(FILE*fp1){/*读出付本中的数据(二进制方式)*/

intj;

if((fread(&num[0],sizeof(structcount),1,fp1))!

=1)

{printf("\n付本文件数据读取错误!

\n");

fclose(fp1);

}

j=num[0].num;

return(j);

}

/*************************************************************************************************************************/

voidNum_inquire(){/*学号查询*/

intnum,j,time;

FILE*fp1,*fp2;

fp1=readfile();/*读取文档*/

fp2=readfile2();/*(开打方式'读'**'引用读文件名')读文件付本*/

time=ReadComputer2Two(fp2);/*读出付本中的数据(二进制方式)*/

ReadComputer2(time,fp1);/*(2方式)数据写入机器*/

fclose(fp1);fclose(fp2);

printf("输入学号:

");

scanf("%ld",&num);

/*getchar();*/

for(j=1;j

{if(record[j].Number==num)

printf("\nName:

%-10sNum:

%3ldMath:

%3dC:

%3dAmount:

%3d\n",record[j].name,record[j].Number,record[j].Math,record[j].C,record[j].Amount);

}

}

voidName_inquire(){/*查询*/

intj,time;

charName[10];

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;j

{if(strcmp(Name,record[j].name)==0)

printf("\nName:

%-10sNum:

%3ldMath:

%3dC:

%3dAmount:

%3d\n",record[j].name,record[j].Number,record[j].Math,record[j].C,record[j].Amount);

}

}

voidMath_inquire(){/*数学查询*/

intMath,j,time;

FILE*fp1,*fp2;

fp1=readfile();

fp2=readfile2();/*(开打方式'读'**'引用读文件名')读文件付本*/

time=ReadComputer2Two(fp2);/*读出付本中的数据(二进制方式)*/

ReadComputer2(time,fp1);/*(2方式)数据写入机器*/

fclose(fp1);fclose(fp2);

printf("输入数学成绩:

");

scanf("%d",&Math);

/*getchar();*/

for(j=1;j

{if(record[j].Math>=Math)

printf("\nName:

%-10sNum:

%3ldMath:

%3dC:

%3dAmount:

%3d\n",record[j].name,record[j].Number,record[j].Math,record[j].C,record[j].Amount);

}

}

voidC_inquire(){/*C查询*/

intC,j,time;

FILE*fp1,*fp2;

fp1=readfile();

fp2=readfile2();/*(开打方式'读'**'引用读文件名')读文件付本*/

time=ReadComputer2Two(fp2);/*读出付本中的数据(二进制方式)*/

ReadComputer2(time,fp1);/*(2方式)数据写入机器*/

fclose(fp1);fclose(fp2);

printf("输入C语言成绩:

");

scanf("%d",&C);

/*getchar();*/

for(j=1;j

{if(record[j].C>=C)

printf("\nName:

%-10sNum:

%3ldMath:

%3dC:

%3dAmount:

%3d\n",record[j].name,record[j].Number,record[j].Math,record[j].C,record[j].Amount);

}

}

voidAmount_inquire(){/*总分查询*/

intAmount,j,time;

FILE*fp1,*fp2;

fp1=readfile();

fp2=readfile2();/*(开打方式'读'**'引用读文件名')读文件付本*/

time=ReadComputer2Two(fp2);/*读出付本中的数据(二进制方式)*/

ReadComputer2(time,fp1);/*(2方式)数据写入机器*/

fclose(fp1);fclose(fp2);

printf("输入总分:

");

scanf("%d",&Amount);

/*getchar();*/

for(j=1;j

{if(record[j].Amount>=Amount)

printf("\nName:

%-10sNum:

%3ldMath:

%3dC:

%3dAmount:

%3d\n",record[j].name,record[j].Number,record[j].Math,record[j].C,record[j].Amount);

}

}

/*************************************************************************************************************************/

voidNum_inquire_Del(){/*学号查询删除*/

charch;

intnum,j,k,time;

FILE*fp1,*fp2;

fp1=readfile();/*读取文档*/

fp2=readfile2();/*读文件付本*/

time=ReadComputer2Two(fp2);/*读出付本中的数据(二进制方式)*/

ReadComputer2(time,fp1);/*(2方式)数据写入机器*/

fclose(fp1);fclose(fp2);

printf("输入学号:

");

scanf("%ld",&num);

getchar();

for(j=1;j<=time;j++)

if(record[j].Number==num)

{printf("\nName:

%-10sNum:

%3ldMath:

%3dC:

%3dAmount:

%3d\n",record[j].name,record[j].Number,record[j].Math,record[j].C,record[j].Amount);

k=j;

}

printf("\n\t**删除='y'不删除='n'**:

");

if((ch=getchar())=='y')

{

if(k==time)

time=time-1;

elsefor(j=k;j

{record[j]=record[j+1];

time=time-1;

}

fp1=foundfile();/*新建文档*/

SaveFile2(time,fp1);/*(2方式)数据写到文件中*/

fp2=foundfile2();/*新建文件付本*/

Additive2Two(time,fp2);/*数据与入付本文件(二进制方式)*/

printf("\n删除成功!

 目前共有%d条记录!

\n",time);

fclose(fp1);fclose(fp2);

}

elseprintf("\n没有执行删除操作!

\n");

}

/*************************************************************************************************************************/

voidMath_ranking(inti){/*数学排序函数*/

intj,k;

sttime;

for(j=1;j

for(k=1;k<=i-j;k++)

if(record[k].Math>record[k+1].Math)

{time=record[k];record[k]=record[k+1];record[k+1]=time;}

printf("\n");

for(j=1;j

printf("\nName:

%-10sNum:

%3ldMath:

%3dC:

%3dAmount:

%3d\n",record[j].name,record[j].Number,record[j].Math,record[j].C,record[j].Amount);

}

voidC_ranking(inti){/*C排序函数*/

intj,k;

sttime;

for(j=1;j

for(k=1;k<=i-j;k++)

if(record[k].C>record[k+1].C)

{time=record[k];record[k]=record[k+1];record[k+1]=time;}

printf("\n");

for(j=1;j

printf("\nName:

%-10sNum:

%3ldMa

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 公共行政管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1