資源簡介
這是你可以在網(wǎng)上找到的用C寫的最強(qiáng)大的學(xué)生成績管理系統(tǒng),功能部分代碼有3000行,附上設(shè)計(jì)報(bào)告,詳細(xì)闡述了用到的各種編程技術(shù)和思想

代碼片段和文件信息
#include?“mydb.h“
/*本函數(shù)承擔(dān)著數(shù)據(jù)庫的所有搜索任務(wù)
?包括由組名搜索組的ID,由學(xué)生的姓名和學(xué)號搜索學(xué)生,
并返回該生在文件中的偏移地址*/
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;
}
/*
本函數(shù)將二進(jìn)制的數(shù)據(jù)庫文件以文本模式重寫
使得二進(jìn)制數(shù)據(jù)庫文件中的內(nèi)容透明化,同時
便于及時發(fā)現(xiàn)數(shù)據(jù)庫中的變量異常
*/
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??學(xué)生成績管理系統(tǒng)\Debug\extrafunc.o
?????文件??????19789??2012-06-07?23:10??學(xué)生成績管理系統(tǒng)\Debug\filefunc.o
?????文件??????15460??2008-05-28?22:55??學(xué)生成績管理系統(tǒng)\Debug\func.o
?????文件???????9789??2008-05-28?22:55??學(xué)生成績管理系統(tǒng)\Debug\gui_ctrl.o
?????文件???????6707??2012-06-07?23:10??學(xué)生成績管理系統(tǒng)\Debug\main.o
?????文件??????75585??2012-06-07?23:10??學(xué)生成績管理系統(tǒng)\Debug\mydb.exe
?????文件??????14517??2012-06-07?23:10??學(xué)生成績管理系統(tǒng)\Debug\RandRecord.o
?????文件??????36925??2012-06-07?23:10??學(xué)生成績管理系統(tǒng)\Debug\system_gui.o
?????文件???????7089??2008-07-02?12:33??學(xué)生成績管理系統(tǒng)\extrafunc.c
?????文件???????8768??2008-08-25?13:51??學(xué)生成績管理系統(tǒng)\filefunc.c
?????文件???????1995??2008-07-21?14:36??學(xué)生成績管理系統(tǒng)\func.h
?????文件???????2174??2008-08-25?13:43??學(xué)生成績管理系統(tǒng)\macro.h
?????文件?????????72??2008-08-09?13:14??學(xué)生成績管理系統(tǒng)\main.c
?????文件??????????0??2008-05-05?23:00??學(xué)生成績管理系統(tǒng)\mydb
?????文件????????416??2008-08-25?13:52??學(xué)生成績管理系統(tǒng)\mydb.h
?????文件???????1691??2012-06-07?23:44??學(xué)生成績管理系統(tǒng)\mydb.msp
?????文件????????424??2008-08-16?19:12??學(xué)生成績管理系統(tǒng)\mydb.txt
?????文件???????4282??2008-08-16?18:43??學(xué)生成績管理系統(tǒng)\RandRecord.c
?????文件???????1598??2008-07-18?19:59??學(xué)生成績管理系統(tǒng)\struct.h
?????文件??????17666??2008-08-25?13:43??學(xué)生成績管理系統(tǒng)\system_gui.c
?????文件?????108032??2008-08-16?19:15??學(xué)生成績管理系統(tǒng)\我的課程設(shè)計(jì)報(bào)告.doc
?????目錄??????????0??2012-06-07?23:10??學(xué)生成績管理系統(tǒng)\Debug
?????目錄??????????0??2012-06-07?23:44??學(xué)生成績管理系統(tǒng)
-----------?---------??----------?-----??----
???????????????349676????????????????????23
評論
共有 條評論