#include<string.h>
struct sale/*商品名的定义*/
{int number<br>char name[20]<br>float price<br>long count<br>long time<br>long date}
/*各个函数*/
void input(struct sale s[7])/*输入函数*/
void output(struct sale s[7])/*输出函数*/
void seek(struct sale s[7])/*查找函数*/
void row(struct sale s[7])/*排序函数*/
void change(struct sale s[7])/*删除、修改、或插入*/
void main()/*主函数执行区域*/
{struct sale s[7]={{2,"pen",0.5,200,20050604,20090102},{1,"milk",3.5,100,20050403,20090202},
{5,"coke",3.5,500,20060203,20070503},{6,"chewing",0.3,200,20060305,20080205},
{4,"eraser",0.4,20,20060304,20500607},{3,"pencil",0.9,100,20040607,20060709}}/*定义初始值*/
/*input(s)【已付初始值暂不运行!!】*/
output(s)
seek(s)
row(s)
change(s)
}
/*void input(struct sale s[7])【注释:已付初始值,暂不运行!!】
{int i<br>printf("请分别输入产品编号、名称、单价、库存数量、入库时间、有效日期:\n")<br> for(i=0i<7i++)<br> scanf("%d%s%f%ld%ld%ld",&s.number,&s.name,&s.price,&s.count,&s.time,&s.date)}*/
void output(struct sale s[7])/*定义输出*/
{int i<br>printf("编号\t名称\t单价\t库存数量\t入库时间\t\t有效日期\n")<br> for(i=0i<7i++)<br> printf("%d\t%s\t%.2f\t%ld\t\t%ld\t\t%ld\n",s.number,s.name,s.price,s.count,s.time,s.date)}
void seek(struct sale s[7])/*定义查找*/
{int i<br> int m<br> int k<br> k=1<br> printf("请输入要查找的编号\n")<br>printf("m== ")<br> scanf("%d",&m)<br>for(i=0i<7i++)<br> {<br> if(m==s.number)<br> {printf("你想查找的物品是:\n")<br> printf("编号\t名称\t单价\t库存数量\t入库时间\t\t有效日期\n")<br> printf("%d\t%s\t%.2f\t%ld\t\t%ld\t\t%ld\n",s.number,s.name,s.price,s.count,s.time,s.date)<br> k=m}
}
if(k==1)
printf("没有此类商品!!!\n")
}
void row(struct sale s[7])/*排序*/
{
struct sale t
int i,j
int m,a
printf("\n")
printf("输出已排好序的商品\n")
for(j=0j<6j++)
for(i=0i<6-ji++)
if(s.number>s.number)
{
t=s
s=s
s=t
}
printf("重新排序后是; \n")
printf("编号\t名称\t单价\t库存数量\t入库时间\t\t有效日期\n")
for(a=0a<7a++)
printf("%d\t%s\t%.2f\t%ld\t\t%ld\t\t%ld\n",s[a].number,s[a].name,s[a].price,s[a].count,s[a].time,s[a].date)
}
void change(struct sale s[7])/*删除、修改、或插入*/
{
struct sale c
int i,m,q,n,k
k=0
printf("请输入您要删除、修改或要插入的物品编号\n")/*前奏*/
scanf("%d",&m)
for(i=0i<7i++)
if(m==s.number)
{{printf("编号\t名称\t单价\t库存数量\t入库时间\t\t有效日期\n")<br> printf("%d\t%s\t%.2f\t%ld\t\t%ld\t\t%ld\n",s.number,s.name,s.price,s.count,s.time,s.date)}
printf("你确实要删除它么???还是要修改??\n")
printf("如果想删除请输入1,如果要修改请输入2。\n")
printf("您要输入的是: ")
scanf("%d",&q)
if(q==1)/*执行删除命令*/
{printf("您删除后的结果是:\n")<br> for(i=0i<7i++)<br>if(m!=s.number)<br>{printf("编号\t名称\t单价\t库存数量\t入库时间\t\t有效日期\n")<br>printf("%d\t%s\t%.2f\t%ld\t\t%ld\t\t%ld\n",s.number,s.name,s.price,s.count,s.time,s.date)}}
if(q==2)/*执行修改命令*/
{printf("输入你想修改的库存数量: ")<br> scanf("%d",&n)<br> s[m].count=n<br> printf("修改后的商品信息为:\n")<br>printf("编号\t名称\t单价\t库存数量\t入库时间\t\t有效日期\n")<br> for(i=0i<7i++)<br>printf("%d\t%s\t%.2f\t%ld\t\t%ld\t\t%ld\n",s.number,s.name,s.price,s.count,s.time,s.date)}
k=i
}
if(k==0)/*执行插入命令*/
{printf("\n\n")<br> printf("由于插入语句没有要求,所以插入语句尚未完成,有些功能尚未完善,所以会有错误,请老师见谅。\n\n\n")<br> printf("此类商品不存在,请插入\n")<br> printf("请分别输入要插入产品的编号、名称、单价、库存数量、入库时间、有效日期:\n")<br> i=m-1<br> scanf("%d%s%f%ld%ld%ld",&s.number,&s.name,&s.price,&s.count,&s.time,&s.date)<br> printf("编号\t名称\t单价\t库存数量\t入库时间\t\t有效日期\n")<br> printf("%d\t%s\t%.2f\t%ld\t\t%ld\t\t%ld\n",s.number,s.name,s.price,s.count,s.time,s.date)<br> for(i=0i<7i++)<br>printf("%d\t%s\t%.2f\t%ld\t\t%ld\t\t%ld\n",s.number,s.name,s.price,s.count,s.time,s.date)<br> <br> <br> row(s)<br> <br> <br> }}
这是我大一时候做的大作业,虽然不是图书管理系统,你只要改改就行了,原理都一样,呵呵
#include<stdio.h>#include<string.h>
#include<conio.h>
#include<stdlib.h>
#include<ctype.h>
#define STACK_INIT_SIZE 10
#define OK 1
#define TRUE 1
#define FALSE 0
#define ERROR 0
struct student /*定义学生类型,用于存放借出的书籍*/
{
int carnum
char lendbook[10]
}student[1000]
struct employ /*定义职工类型*/
{
int employnum
char employname[15]
int employage
char employsex[2]
char employleve[10]
long int employtage
}employ[50]
struct book /*定义书的类型*/
{
int booknum
char bookname[10]
char bookcreat[10]
int turefalse/*用于借书和还书模块判断一本书是否借出的条件*/
}book[1000]
struct car /*借书卡的数据类型*/
{
int carnum
char studentname[10]
int studentclass
}car[100]
huanbook() /*还书函数*/
{
FILE *fp,*fp2/*定义两个文件指针,fp2用于修改数据时设立临时文件用,防止数据遭破坏*/
int i,n
int carnum
char lendbook[10]
printf("请你输入你的卡号\n")
scanf("%d",&carnum)
fp=fopen("car.txt","r")/*读取卡号记录*/
for(i=0fread(&car[i],sizeof(struct car),1,fp)!=0i++) /*for循环判断卡号是否存在*/
{
if(car[i].carnum==carnum) /*卡号存在,进入下一循环*/
{
n=i
fclose(fp)
printf("请输入你要还的书的名字\n")
scanf("%s",lendbook)
fp=fopen("record.txt","r")
for(i=0fread(&student[i],sizeof(struct student),1,fp)!=0i++) /*判断是否借阅了输入的书*/
{
if(strcmp(student[i].lendbook,lendbook)==0) /*借阅了该书,进入下一循环,否则出错显示*/
{
fclose(fp)
fp=fopen("record.txt","r")
fp2=fopen("bookl.txt","w")
for(i=0fread(&student[i],sizeof(struct student),1,fp)!=0i++)
{
if(strcmp(student[i].lendbook,lendbook)==0)
{
continue/*删除还掉的书的借书记录*/
}
fwrite(&student[i],sizeof(struct student),1,fp2)/*写入原来没还的书的记录*/
}
fclose(fp)
fclose(fp2)
fp=fopen("record.txt","w")
fp2=fopen("bookl.txt","r")
for(i=0fread(&student[i],sizeof(struct student),1,fp2)!=0i++)
{
fwrite(&student[i],sizeof(struct student),1,fp)/*将借书记录信息写回*/
}
fclose(fp)
fclose(fp2)
fopen("bookl.txt","w")/*清临时文件的记录*/
fclose(fp2)
fp=fopen("book.txt","r")
fp2=fopen("bookl.txt","w")
for(i=0fread(&book[i],sizeof(struct book),1,fp)!=0i++) /*将书的记录写入临时文件,防止因为修改信息破坏以前的记录*/
{
if(i==n)
{
book[i].turefalse=1
fwrite(&book[i],sizeof(struct book),1,fp2)/*将还的书的原来状态设为无人借阅的*/
continue
}
fwrite(&book[i],sizeof(struct book),1,fp2)
}
fclose(fp)
fclose(fp2)
fp=fopen("book.txt","w")
fp2=fopen("bookl.txt","r")
for(i=0fread(&book[i],sizeof(struct book),1,fp2)!=0i++)
{
fwrite(&book[i],sizeof(struct book),1,fp)/*将临时文件写回*/
}
fclose(fp)
fclose(fp2)
fopen("bookl.txt","w")/*清临时文件*/
fclose(fp2)
printf("还书完毕,按任意键返回\n")
getch()
return 1
}
}
printf("你没有借这样的书,任意键返回\n")/*出错提示*/
fclose(fp)
getch()
return 0
}
}
printf("系统没这样的卡,和管理员联系,按任意键返回\n")/*出错提示*/
fclose(fp)
getch()
}
findbook()
{
FILE *fp
char bookname[10]
int ture,i
fp=fopen("book.txt","r")
printf("请输入你要查找的书名\n")
scanf("%s",bookname)
for(i=0fread(&book[i],sizeof(struct book),1,fp)!=0i++)
{
if(strcmp(bookname,book[i].bookname)==0)
{
if(book[i].turefalse==1)
{
printf("这本书的详细资料是:%d %s %s 此书现在无人借阅\n按任意键返回\n",book[i].booknum,book[i].bookname,book[i].bookcreat)
}
else
fclose(fp)
return FALSE
}
}
printf("没有你要查询的书籍\n")
fclose(fp)
return FALSE
}
findbook1()
{
FILE *fp
char bookcreat[10]
int ture,i
fp=fopen("book.txt","r")
printf("请输入你要查找的作者名\n")
scanf("%s",bookcreat)
for(i=0fread(&book[i],sizeof(struct book),1,fp)!=0i++)
{
if(strcmp(bookcreat,book[i].bookcreat)==0)
{
if(book[i].turefalse==1)
{
printf("这本书的详细资料是:%d %s %s 此书现在无人借阅\n按任意键返回\n",book[i].booknum,book[i].bookname,book[i].bookcreat)
}
else
fclose(fp)
return FALSE
}
}
printf("没有你要查询的书籍\n")
fclose(fp)
return FALSE
}
lendcount()
{
FILE *fp
int i,n=0
fp=fopen("record.txt","r")
for(i=0fread(&student[i],sizeof(struct student),1,fp)!=0i++)
{
printf("卡号:%d 借出的书籍:%s \n",student[i].carnum,student[i].lendbook)
n=n+1
}
fclose(fp)
printf("目前共有%d本书借出\n",n)
printf("按任意键\n")
getch()
return n
}
chabook()
{
char ch5
do
{
printf("---------------欢迎进入图书查询系统!--------------\n")
printf(" 1:<按书名查找>\n")
printf(" 2:<按作者查找>\n")
printf(" 0:<返回>\n")
printf("请输入0--2,其他输入非法!\n")
scanf("%s",&ch5)
switch(ch5)
{
case '1':findbook()getch()break
case '2':findbook1()getch()break
case '0':break
default:printf("无此操作\n")getch()break
}
}while(ch5!='0')
return FALSE
}
lendbook()
{
FILE *fp,*fp2
int i,n
int carnum
printf("请你输入你的卡号\n")
scanf("%d",&carnum)
fp=fopen("car.txt","r")
for(i=0fread(&car[i],sizeof(struct car),1,fp)!=0i++)
{
if(car[i].carnum==carnum)
{
n=i
fclose(fp)
printf("请输入你要借阅的书的名字\n")
scanf("%s",student[n].lendbook)
fp=fopen("book.txt","r")
for(i=0fread(&book[i],sizeof(struct book),1,fp)!=0i++)
{
if(strcmp(book[i].bookname,student[n].lendbook)==0)
{
if(book[i].turefalse==0)
else
fclose(fp)
fp=fopen("record.txt","a+")
student[n].carnum=carnum
fwrite(&student[n],sizeof(struct student),1,fp)
fclose(fp)
fp=fopen("book.txt","r")
fp2=fopen("bookl.txt","w")
for(i=0fread(&book[i],sizeof(struct book),1,fp)!=0i++)
{
if(strcmp(book[i].bookname,student[n].lendbook)==0)
{
book[i].turefalse=0
fwrite(&book[i],sizeof(struct book),1,fp2)
continue
}
fwrite(&book[i],sizeof(struct book),1,fp2)
}
fclose(fp)
fclose(fp2)
fp=fopen("book.txt","w")
fp2=fopen("bookl.txt","r")
for(i=0fread(&book[i],sizeof(struct book),1,fp2)!=0i++)
{
fwrite(&book[i],sizeof(struct book),1,fp)
}
fclose(fp)
fclose(fp2)
fopen("bookl.txt","w")
fclose(fp2)
printf("借书完毕,按任意键返回\n")
getch()
return
}
}
printf("不存在这样的书,任意键返回\n")
fclose(fp)
getch()
return
}
}
printf("你的卡号不存在,请申请新卡,按任意键返回\n")
fclose(fp)
getch()
}
carcount()
{
FILE *fp
int i,n=0
fp=fopen("car.txt","r")
for(i=0fread(&car[i],sizeof(struct car),1,fp)!=0i++)
{
printf("第%d张卡<卡号:%d 姓名:%s 班级:%d>\n",i+1,car[i].carnum,car[i].studentname,car[i].studentclass)
n=n+1
}
fclose(fp)
printf("目前共有%d本书\n",n)
printf("按任意键\n")
getch()
}
delcar()
{
FILE *fp,*fp2
int i
int carnum
char choice
fp=fopen("car.txt","r")
fp2=fopen("bookl.txt","w")
printf("请输入你要删除的卡号\n")
printf("如果你输入的卡号存在,系统自动删除该信息!如果不存在,系统不做任何改动\n")
scanf("%d",&carnum)
for(i=0fread(&car[i],sizeof(struct car),1,fp)!=0i++)
{
if(car[i].carnum!=carnum)
{
fwrite(&car[i],sizeof(struct car),1,fp2)
}
}
fclose(fp)
fclose(fp2)
printf("是否真的要删除该卡?删除后该书籍的所有信息将无法恢复《Y/N》\n")
scanf("%s",&choice)
if(choice=='y'||choice=='Y')
{
fp=fopen("car.txt","w")
fp2=fopen("bookl.txt","r")
for(i=0fread(&car[i],sizeof(struct car),1,fp2)!=0i++)
{
fwrite(&car[i],sizeof(struct car),1,fp)
}
fclose(fp)
fclose(fp2)
fp2=fopen("bookl.txt","w")
fclose(fp2)
printf("按任意键返回\n")
getch()
return
}
else
{
printf("按任意键返回\n")
getch()
return
}
}
addcar()
{
FILE *fp
int i=0
fp=fopen("car.txt","a+")
printf("请你输入卡号\n")
scanf("%d",&car[i].carnum)
printf("请你输入学生姓名\n")
scanf("%s",car[i].studentname)
printf("请你输入班级\n")
scanf("%d",&car[i].studentclass)
fwrite(&car[i],sizeof(struct car),1,fp)
fclose(fp)
printf("输入完毕,任意键返回\n")
getch()
}
1) 了解应用开发工具的现状2) DelPHi6.0编程基础
3) MS SQL Server基础
4) 设计数据库;设计界面
5) 开发数据库。数据库实现的一些功能有
l 数据和数据说明的醒目显示;
l 多条件的查询、多条记录的检索、模糊查询;
l 数据文件某种存储格式导入数据窗体,经过数据完整性校验存入数据库;
l 数据库安全性的设计;
l 数据库的设计、数据接口、界面的设计。