资源简介

这是你可以在网上找到的用C写的最强大的学生成绩管理系统,功能部分代码有3000行,附上设计报告,详细阐述了用到的各种编程技术和思想

资源截图

代码片段和文件信息

#include “mydb.h“


/*本函数承担着数据库的所有搜索任务
 包括由组名搜索组的ID,由学生的姓名和学号搜索学生,
并返回该生在文件中的偏移地址*/

plink search(char *pdataint searchtype)
{
if(!myfileinfo)
{
myfileinfo=NEW(fileinfo);
fcntl(0READmyfileinfoFILEINFOSIZE);
}
plink linkhead=NULLlinktemp=NULL;
if(searchtype==SEARCH_SUB)
{
psubinfo subtemp=myfileinfo->sub;int i;
for(i=0;i if(subtemp->flag&&!strcmp(subtemp->sub_namepdata))
{
linkhead=NEW(link);memset(linkhead0linkSIZE);
linkhead->data=subtemp->sub_id;
linkhead->next=NULL;
}
return linkhead;
}
if(strlen(pdata)>=19)pdata[19]=0;
if(!mystuinfo)mystuinfo=NEW(stuinfo);
long seek=DATASEEK;
int count=myfileinfo->stucounti;
for(i=0;i {
memset(mystuinfo0STUINFOSIZE);
fcntl(seekREADmystuinfoSTUINFOSIZE);
if(!mystuinfo->flag){i--;continue;}
pmystu stutemp=&mystuinfo->stu_privacy;
switch(searchtype)
{
case SEARCH_SCHID:
{
if(!strcmp(stutemp->stu_schidpdata))
{
linkhead=NEW(link);
linkhead->data=mystuinfo->stu_seek;
linkhead->next=NULL;
return linkhead;
}
break;
}
case SEARCH_NAME:
{
if(!strcmp(stutemp->stu_namepdata))
{
linktemp=NEW(link);
linktemp->data=mystuinfo->stu_seek;
linktemp->next=linkhead;
linkhead=linktemp;
}
break;
}
default:return NULL;
}
}
return linkhead;
}





/*
本函数将二进制的数据库文件以文本模式重写
使得二进制数据库文件中的内容透明化,同时
便于及时发现数据库中的变量异常
*/
void showfile()
{
FILE *ftest=fopen(INFOPATH“w+“);
if(!ftest)seterr(“showfile:ftest null“);
if(!myfileinfo)
{
myfileinfo=NEW(fileinfo);
fcntl(0READmyfileinfoFILEINFOSIZE);
}
fprintf(ftest“fileinfo\t\t:\n“);
fprintf(ftest“stucount\t\t:%d\n“myfileinfo->stucount);
fprintf(ftest“countmax\t\t:%d\n“myfileinfo->countmax);
fprintf(ftest“subcount\t\t:%d\n“myfileinfo->subcount);
fprintf(ftest“spacecount\t\t:%d\n“myfileinfo->spacecount);
int i=0j=0;
fprintf(ftest“\nseek:\n“);
for(i=0;i {
fprintf(ftest“%ld\t“myfileinfo->seek[i]);j++;
if(j>=10){fprintf(ftest“\n“);j=0;}
}
fprintf(ftest“\n\nsubinfo:\n“);
psubinfo subtemp=myfileinfo->sub;
fprintf(ftest“\tflag\t\tsub_id\t\tsub_term\t\tsub_rate\t\tsub_name\n“);
for(i=0;i {
fprintf(ftest“\t%d\t\t“subtemp->flag);
fprintf(ftest“%d\t\t“subtemp->sub_id);
fprintf(ftest“%d\t\t\t“subtemp->sub_term);
fprintf(ftest“%3.1f\t\t\t“subtemp->sub_rate);
fprintf(ftest“%s\n“subtemp->sub_name);
}
fprintf(ftest“\nstudent info :\n\n“);
fseek(fp0LSEEK_END);
long size=ftell(fp)seek=DATASEEK;
int allcount=(size-FILEINFOSIZE)/DATATRANS;
if(!mystuinfo)mystuinfo=NEW(stuinfo);
psubmark marktemp=NULL;
pmystu stutemp=NULL;
for(i=0;i {
memset(mystuinfo0STUINFOSIZE);
fcntl(seekREADmystuinfoSTUINFOSIZE);
stutemp

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      16697  2012-06-07 23:10  学生成绩管理系统\Debug\extrafunc.o

     文件      19789  2012-06-07 23:10  学生成绩管理系统\Debug\filefunc.o

     文件      15460  2008-05-28 22:55  学生成绩管理系统\Debug\func.o

     文件       9789  2008-05-28 22:55  学生成绩管理系统\Debug\gui_ctrl.o

     文件       6707  2012-06-07 23:10  学生成绩管理系统\Debug\main.o

     文件      75585  2012-06-07 23:10  学生成绩管理系统\Debug\mydb.exe

     文件      14517  2012-06-07 23:10  学生成绩管理系统\Debug\RandRecord.o

     文件      36925  2012-06-07 23:10  学生成绩管理系统\Debug\system_gui.o

     文件       7089  2008-07-02 12:33  学生成绩管理系统\extrafunc.c

     文件       8768  2008-08-25 13:51  学生成绩管理系统\filefunc.c

     文件       1995  2008-07-21 14:36  学生成绩管理系统\func.h

     文件       2174  2008-08-25 13:43  学生成绩管理系统\macro.h

     文件         72  2008-08-09 13:14  学生成绩管理系统\main.c

     文件          0  2008-05-05 23:00  学生成绩管理系统\mydb

     文件        416  2008-08-25 13:52  学生成绩管理系统\mydb.h

     文件       1691  2012-06-07 23:44  学生成绩管理系统\mydb.msp

     文件        424  2008-08-16 19:12  学生成绩管理系统\mydb.txt

     文件       4282  2008-08-16 18:43  学生成绩管理系统\RandRecord.c

     文件       1598  2008-07-18 19:59  学生成绩管理系统\struct.h

     文件      17666  2008-08-25 13:43  学生成绩管理系统\system_gui.c

     文件     108032  2008-08-16 19:15  学生成绩管理系统\我的课程设计报告.doc

     目录          0  2012-06-07 23:10  学生成绩管理系统\Debug

     目录          0  2012-06-07 23:44  学生成绩管理系统

----------- ---------  ---------- -----  ----

               349676                    23


评论

共有 条评论