用C语言开发小型数据库管理系统代码文库.txt如果有来生,要做一棵树,站成永恒,没有悲伤的姿势。一半在土里安详,一半在风里飞扬,一半洒落阴凉,一半沐浴阳光,非常沉默非常骄傲,从不依靠从不寻找。#include
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]={\char filename2[10]={\int Inputnum[8];
void MainMenu(){ printf(\ printf(\ 主菜单 *\\n\ printf(\ 1. 创建新文件 *\\n\ printf(\ 2. 添加记录 *\\n\ printf(\ 3. 删除记录 *\\n\ printf(\ 4. 排序 *\\n\ printf(\ 5. 查询记录 *\\n\ printf(\ 6. 退出 *\\n\ printf(\}
void DelMenu(){ printf(\ printf(\ 删除菜单 *\\n\ printf(\ 1. 学号查询删除 *\\n\ printf(\ 2. 返回到上级菜单 *\\n\ printf(\}
void RankingMenu(){ printf(\
/*主菜单*/ /*删除菜单*/ /*排序菜单*/ printf(\ 排序菜单 *\\n\ printf(\ 1. 数学成绩排序 *\\n\ printf(\ 2. C语言成绩排序 *\\n\ printf(\ 3. 总分排序 *\\n\ printf(\ 4. 返回到上级菜单 *\\n\ printf(\}
void InquireMenu(){ /*查讯菜单*/ printf(\ printf(\ 查讯菜单 *\\n\ printf(\ 1. 学号查讯 *\\n\ printf(\ 2. 姓名查讯 *\\n\ printf(\ 3. 数学成绩查讯 *\\n\ printf(\ 4. C语言成绩查讯 *\\n\ printf(\ 5. 总分查讯 *\\n\ printf(\ 6. 返回到上级菜单 *\\n\ printf(\}
char Inputfilename(){ 付本文件名*/
char str2[]={\
printf(\请输入文件名 ** : \ scanf(\ getchar();
strcpy(filename2,filename); strcat(filename2,str2); }
FILE *readfile(){ FILE *fp1;
if((fp1=fopen(filename,\ {printf(\文件读取错误!!\\n\ fclose(fp1); }
return(fp1); }
FILE *foundfile(){ FILE *fp1;
if((fp1=fopen(filename,\ {printf(\文件创建错误!!\\n\ fclose(fp1);
/*输入文件名同时产生 /*读取文档*/ /*新建文档*/ }
return(fp1); }
FILE *savefile(){ /*追加文档*/ FILE *fp1;
if((fp1=fopen(filename,\ {printf(\文件追加错误!!\\n\ fclose(fp1); }
return(fp1); }
int InputSave(){ /*添加数据 */ int i=0,j; char ch='y'; while(ch!='w') {i=i+1;
printf(\请输入姓名(字符型) ** :\ scanf(\
Loop1: printf(\请输入学号(长整型) ** :\ scanf(\ if(i!=1)
for(j=1;j
if(record[i].Number==record[j].Number)
{printf(\警告! 输入了二个同样的学号! 第%d条和第%d学号相同!\\n\
printf(\请重新输入!\\n\ goto Loop1; }
Loop2: printf(\请输入数学成绩(整型) ** :\ scanf(\
if(record[i].Math>100||record[i].Math<0)
{printf(\输入的分数不服合实际要求! 请重新录入!\\n\ goto Loop2; }
Loop3: printf(\请输入C语言成绩(整型) ** :\ scanf(\
if(record[i].C>100||record[i].C<0)
{printf(\输入的分数不服合实际要求! 请重新录入!\\n\ goto Loop3; }
record[i].Amount=record[i].Math+record[i].C;
printf(\结束录入 's'=重新录入此条记录 'n'=下一条 : \