资源简介
这是你可以在网上找到的用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
- 上一篇:libstdc++-3.4.6
- 下一篇:C语言实现的文件存储引擎
相关资源
- C语言实现的文件存储引擎
- BACNet C语言代码,简单实用
- 能够移动的小方块,很多年前用C语言
- C语言编程流程图自动生成
- 二进制乘法多种方式 C语言
- 门禁系统源代码 VC++
- 操作系统课程设计——多线程同步演
- 赫夫曼编码(C语言编写
- 文件系统的用户界面[含答案]
- 用C语言实现ARC圆弧插补计算
- 基于TMS320VC5416的DTMF双音多频发生与检
- 基于STM32单片机的多路数据采集系统设
- 阅览室问题C语言实现
- 进程管理和调度的算法实现
- C++中文分词系统代码
- c++ c 数据结构 课程设计 学生成绩管理
- C语言编写的高精度求积分函数
- 链表学生管理系统-数据结构
- 简易学生管理系统(C++)
- 使用c语言实现图像二值化
- c语言实现的自动贩卖机程序
- 人事管理系统C语言课程设计报告
- 基于神经网络的车牌识别系统//VC++毕
- 用C#和C++实现的进程调度算法程序操作
- C语言 马踏棋盘 完整代码及实验报告
- C语言 图书馆借阅管理系统 完整代码
- 二叉树成绩管理系统
- UDP协议客户端服务器间视频传输c源码
- 基于51单片机的c语言编写的计算器程
- 简单时间获取,用c语言编写,客户端
评论
共有 条评论