资源简介
图书学生管理系统
void Append_book(SqList_B &book)
{//批量添加图书
int i,j,k,pos;
char filename[50];
BElemType e;
FILE *fp;
printf("\t\t----------新添一批图书------------\n");
printf("\t请输入新书文件全名:");
gets(filename);
fp=fopen(filename,"r");
if(fp)
{ k=book.length;
pos=k+1;
while(!feof(fp))
{fscanf(fp,"%s %s %s %s %d %d %d %d %d",e.bookno,e.bookname,e.author,
e.publisher,&e.totalnum,&e.borrownum,&e.pubday.year,&e.pubday.month,&e.pubday.day);
//e.borrownum=e.totalnum;
ListInsert_BSq(book,++k,e);
}
fclose(fp);
printf("-----------新添加以下图书-------------\n");
Output_Book(book,pos);
}
else printf("没有找到这个文件\n");
}
代码片段和文件信息
#include“stdio.h“
#include“string.h“
#include
#include
#include
#include
#define OK 1
#define ERROR 0
#define OVERFLOW -2
#define TRUE 1
#define FALSE 0
typedef int Status;
typedef struct {
int year month day;
} DATE;
//- - - - -线性表的动态分配顺序存储结构- - - - -
#define LIST_INIT_SIZE 400 //线性表存储空间的初始分配
#define LISTINCREMENT 50 //线性表存储空间的分配增量
void pressanykey() //显示“敲任意键继续”并等待
{
printf(“=======敲任意键继续=======“);
getch();
fflush(stdin);//用来清空输入缓存,以便不影响后面输入的东西
printf(“\n\n“);
}
int index(char *s1 char *s2) //在s1[]中查找串s2[],找到返回TRUE,否则返回FALSE
{
int i=0 j=0 k;
int len1 len2;
len1 = strlen(s1);
len2 = strlen(s2);
i = 0;
while (i <= len1 - len2) {
k = i;
j = 0;
while (*(s1 + k) == *(s2 + j) && j < len2)
k++ j++;
if (j == len2) return TRUE;
i++;
}
return FALSE;
}
DATE Get_Sys_Time() //返回当前系统时间
{
struct tm today; //存放时间的结构体
time_t one; //存放时间的类型
DATE now;
one = time(&one); //获得系统时间
today = *(gmtime(&one)); //将time_t格式系统时间转为struct tm格式
now.year = today.tm_yday - 100 + 2000; //2011年返回111
now.month = today.tm_mon + 1; //9月返回8;
now.day = today.tm_mday;
return now;
}
//-------------学生管理
typedef struct student // 学生结构体
{
char studentno[13]; //学号
char studentname[16]; //姓名
char studentmajor[18]; //专业
char studentclass[8]; //班级
char studentmobile[20]; //手机
} ElemType_Stu;
typedef ElemType_Stu SElemType;
typedef struct //定义学生信息顺序表
{
SElemType *elem; //存储空间基址
int length; //当前长度
int listsize; //当前分配的存储容量
} SqList_S;
Status InitList_SSq(SqList_S &L) {//构造一个空的线性表L
L.elem = (SElemType*) malloc(LIST_INIT_SIZE * sizeof (SElemType));
if (!L.elem)exit(OVERFLOW); //存储分配失败
L.length = 0; //空表长度为0
L.listsize = LIST_INIT_SIZE; //初始存储容量
return OK;
}//InitList_SSq
Status DestroyList_SSq(SqList_S &L) {//销毁一个线性表L
free(L.elem);
L.length = 0;
L.listsize = 0;
return OK;
}
int ListLength_SSq(SqList_S L) {
return L.length;
}
Status ListInsert_SSq(SqList_S &L int i SElemType e) //在线性表的第i个元素前插入数据e
{
SElemType *p *q *newbase;
if (i < 1 || i > L.length + 1) return ERROR;
if (L.length >= L.listsize) {
newbase = (SElemType*) realloc(L.elem (L.listsize + LISTINCREMENT) * sizeof (SElemType));
if (!newbase)exit(OVERFLOW); //存储分配失败
L.elem = newbase; //新地址
L.listsize += LISTINCREMENT; //增加存储容量
}
q = &(L.elem[i - 1]); //q为插入位置
if (L.length >= 1)
for (p = &(L.elem[L.length - 1]); p >= q; --p)
*(p + 1) = *p; //插入点后数据都往后挪
*q = e; //插入e
++L.length; //表长增1
return OK;
}
Status ListDelete_SSq(SqList_S &L int i SElemType &e) {//在顺序线性表L中删除第i个元素,并用e返回其值
//i的合法值为1≤i≤ListLength_Sq(L)
SElemType *p *q;
if ((i < 1) || (i > L.length))return ERROR; //i值不合法
p = &(L.elem[i - 1]); //p为被删除元素的位置
e = *p; //被删除元素的值赋给e
q = L.elem + L.length - 1; /
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 144 2015-01-15 23:01 Application_1\.dep.inc
文件 1989 2015-01-15 22:02 Application_1\append_book.txt
文件 2528 2015-01-15 22:02 Application_1\append_stu.txt
文件 4926 2015-01-15 22:02 Application_1\book.txt
文件 534 2015-01-15 22:02 Application_1\borrow.txt
文件 74762 2015-01-15 23:01 Application_1\build\Debug\MinGW-Windows\Stu_Book.o
文件 52 2015-01-15 23:01 Application_1\build\Debug\MinGW-Windows\Stu_Book.o.d
文件 85053 2015-01-15 23:01 Application_1\dist\Debug\MinGW-Windows\application_1.exe
文件 2215 2015-01-15 22:24 Application_1\Makefile
文件 1990 2015-01-15 22:26 Application_1\nbproject\configurations.xm
文件 1399 2015-01-15 22:26 Application_1\nbproject\Makefile-Debug.mk
文件 3756 2015-01-15 22:26 Application_1\nbproject\Makefile-impl.mk
文件 1416 2015-01-15 22:26 Application_1\nbproject\Makefile-Release.mk
文件 1296 2015-01-15 22:26 Application_1\nbproject\Package-Debug.bash
文件 1306 2015-01-15 22:26 Application_1\nbproject\Package-Release.bash
文件 1160 2015-01-15 22:26 Application_1\nbproject\private\configurations.xm
文件 0 2015-01-15 22:24 Application_1\nbproject\private\private.properties
文件 211 2015-01-15 23:02 Application_1\nbproject\private\private.xm
文件 0 2015-01-15 22:24 Application_1\nbproject\project.properties
文件 584 2015-01-15 23:02 Application_1\nbproject\project.xm
文件 8304 2015-01-15 22:28 Application_1\student1.txt
文件 50642 2015-01-15 23:01 Application_1\Stu_Book.cpp
目录 0 2015-01-15 23:01 Application_1\build\Debug\MinGW-Windows
目录 0 2015-01-15 23:01 Application_1\dist\Debug\MinGW-Windows
目录 0 2015-01-15 22:51 Application_1\build\Debug
目录 0 2015-01-15 22:25 Application_1\dist\Debug
目录 0 2015-01-15 23:02 Application_1\nbproject\private
目录 0 2015-01-15 22:51 Application_1\build
目录 0 2015-01-15 22:25 Application_1\dist
目录 0 2015-01-15 22:26 Application_1\nbproject
............此处省略4个文件信息
- 上一篇:SQL Server综合性实验报告
- 下一篇:报刊订阅数据库
相关资源
- 我的智能组卷系统数据库
- access学生选课管理系统
- QT+sqlite3仓库管理系统
- 财务报销管理系统 ssh+mysql
- mysql酒店管理系统数据表设计
- 基于NetBeans开发的4S店管理系统
- Qt考勤系统
- 学校教材管理系统-PB9.0
- 数据库详解——图书管理系统包括S
- 资产管理系统access版本
- 职工管理系统数据库
- 安保系统uml详细设计文档
- 汽车租赁系统SQL数据库系统设计
- 数据库课程设计:题库管理系统
- 计算机系实训作业、成绩管理系统.
- sql学生宿舍管理系统
- 数据库课程设计 SQL Server图书馆管理系
- 火车售票系统 (ado+access)
- 自动检测并解锁的程序
- maskOrder.txt
- 免费企业人事管理系统—数据库课设
- 报销管理系统.zip
- 电子文档管理系统
- 当家人休闲桑拿会所管理系统
- vs2010+sqlsever2017酒店管理系统
- M221C试验机测控系统—By SHock
- 基于TN9红外温度传感器的多通道测温
- 马哥最新Linux高级培训-系统架构班h
- Oracle11g 64位服务端,windows系统64位系
- [易语言]收银系统+会员管理+进销存等
评论
共有 条评论