用C语言开发小型数据库管理系统代码的文库.txt如果有来生, 要做一棵树, 站成永恒, 没有悲伤的姿势。
一半在土里安详, 一半在风里飞扬, 一半洒落阴凉, 一半沐浴阳光, 非常沉默非常骄傲, 从不依靠从不寻找。
#include <stdio.h>
#include <string.h>
typedef struct count{ /*保存记录条数结构体*/
char name[10];
int num;
}count;
typedef struct st{
char name[10];
long Number;
int Math;
int C;
int Amount;
}st;
st record[8];
count num[1];
char filename[10]={"0"};
char filename2[10]={"0"};
int Inputnum[8];
void MainMenu(){ /*主菜单*/ 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");
}
void DelMenu(){ /*删除菜单*/
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");
}
void RankingMenu(){ /*排序菜单*/
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");
}
void InquireMenu(){ /*查讯菜单*/
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");
}
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",record[i].name);
Loop1: printf("\n** 请输入学号(长整型) ** :");
scanf("%ld",&record[i].Number);
if(i!=1)
for(j=1;j<i;j++)
if(record[i].Number==record[j].Number)
{printf("\n\t警告! 输入了二个同样的学号! 第%d 条和第%d学号相同!\n",i,j);
printf("\n\t请重新输入!\n");
goto Loop1;
}
Loop2: printf("\n** 请输入数学成绩(整型) ** :");
scanf("%d",&record[i].Math);
if(record[i].Math>100||record[i].Math<0)
{printf("\n\t输入的分数不服合实际要求! 请重新录入!\n");
goto Loop2;
}
Loop3: printf("\n** 请输入C语言成绩(整型) ** :");
scanf("%d",&record[i].C);
if(record[i].C>100||record[i].C<0)
{printf("\n\t输入的分数不服合实际要求! 请重新录入!\n");
goto Loop3;。