void shumingsearch(struct book *head) /*按教材名称查找*/
{ struct book *p
char name[20]
int c
if(head==NULL) {printf("未打开任何文件")getchar()return}
printf("1,查找专业 2,查找教材名称:")
scanf("%d",&c)
getchar()
if(c==2)
printf("请输入要查找的教材名称:")
else printf("请输入要查找的专业:")
gets(name)
p=head
do{ if(c==2)
if(strcmp(p->shuming,name)==0)
{
printf("教材编号:%s\n教材名称:%s\n数量:%d\n价格:%d\n专业:%s\n作者:%s\n出版社:%s\n备注:%s\n",p->number,p->shuming,p->shuliang,p->jiage,p->zhuanye,p->zuozhe,p->chubanshe,p->beizhu)
}
if(c==1)
if(strcmp(p->zhuanye,name)==0)
{
printf("教材编号:%s\n教材名称:%s\n数量:%d\n价格:%d\n专业:%s\n作者:%s\n出版社:%s\n备注:%s\n",p->number,p->shuming,p->shuliang,p->jiage,p->zhuanye,p->zuozhe,p->chubanshe,p->beizhu)
}
p=p->next
}while(p!=NULL)
printf("查找完成")
return
}
struct book *add(struct book *head) /*增加记录*/
{ struct book *p,*e,*f,*h
if(head==NULL) {printf("未打开任何文件")getchar()return NULL}
h=f=e=head
p=(struct book *)malloc(sizeof(struct book))
printf("\n教材编号:")
gets(p->number)
printf("\n教材名称:")
gets(p->shuming)
printf("\n数量:")
scanf("%d",&p->shuliang)
printf("\n价格:")
scanf("%d",&p->jiage)
getchar()
printf("\n专业:")
gets(p->zhuanye)
printf("\n作者:")
gets(p->zuozhe)
printf("\n出版社:")
gets(p->chubanshe)
printf("\n备注:")
gets(p->beizhu)
if(strcmp(f->number,p->number)>0) { p->next=fh=pprintf("\n添加成功")return h}
if(f->next==NULL) { f->next=pp->next=NULLprintf("\n添加成功")return h}
do{
if(f->next!=NULL)
if(strcmp(f->number,p->number)>0)
{
e->next=pp->next=fprintf("\n添加成功")return h
}
if(f->next==NULL)
{
f->next=p
p->next=NULL
printf("\n添加成功")
return h
}
f=f->next
e=e->next
}while(1)
}
struct book *delet(struct book *head) /*删除记录*/
{ struct book *p,*e
char num[20]
if(head==NULL) {printf("未打开任何文件")getchar()return NULL}
printf("请输入要删除的教材编号:")
scanf("%s",num)
p=e=head
if(strcmp(p->number,num)==0) { head=head->nextprint(head)return head}
else p=p->next
do{
if(strcmp(p->number,num)==0)
{
if(p->next!=NULL)
e->next=p->next
if(p->next==NULL) e->next=NULL
print(head)
return head
}
p=p->next
e=e->next
}while(p!=NULL)
printf("搜索完毕,未找到该记录")
return head
}
struct book *change(struct book *head) /*修改记录*/
{ struct book *p
char num[20]
if(head==NULL) {printf("未打开任何文件")getchar()return NULL}
printf("请输入要修改的教材编号:")
scanf("%s",num)
getchar()
p=head
do{
if(strcmp(p->number,num)==0)
{
printf("教材编号:%s\n教材名称:%s\n数量:%d\n价格:%d\n专业:%s\n作者:%s\n出版社:%s\n备注:%s\n",p->number,p->shuming,p->shuliang,p->jiage,p->zhuanye,p->zuozhe,p->chubanshe,p->beizhu)
printf("\n教材编号:")
gets(p->number)
printf("\n教材名称:")
gets(p->shuming)
printf("\n数量:")
scanf("%d",&p->shuliang)
printf("\n价格:")
scanf("%d",&p->jiage)
getchar()
printf("\n专业:")
gets(p->zhuanye)
printf("\n作者:")
gets(p->zuozhe)
printf("\n出版社:")
gets(p->chubanshe)
printf("\n备注:")
gets(p->beizhu)
printf("修改成功")
return head
}
p=p->next
}while(p!=NULL)
printf("未找到要修改的记录")
return head
}
int mima()
{ FILE *fp
char mima1[20],mima2[20]
if((fp=fopen("mima","r"))==NULL)
{ printf("尚未设置密码请输入:")
scanf("%s",mima1)
printf("请再次输入密码:")
scanf("%s",mima2)
if(strcmp(mima1,mima2)!=0) { printf("两次密码不一样")return 0}
else {
fp=fopen("mima","w")
fprintf(fp,"%s",mima1)
printf("密码设置成功")
return 1
}
}
printf("请输入初始化密码:")
scanf("%s",mima1)
fscanf(fp,"%s",mima2)
if(strcmp(mima1,mima2)==0)
{
printf("密码正确")
printf("请输入要删除的文件名:")
scanf("%s",mima1)
if(remove(mima1)==0)
{
printf("删除成功")
getchar()
return 1
}
else {
printf("删除失败,请检查是否存在该文件或路径是否正确")
getchar()
return 0
}
}
else {
printf("密码错误")
getchar()
return 0
}
}
void main()
{
struct book *head=NULL
char i
getch()
system("cls")
do{
printf(" ☆★☆★☆★ 教材管理系统 ☆★☆★☆★\n")
printf("m--菜单 h--帮助")
printf("\n请输入命令:")
i=getch()
if(i=='h')
{ printf("\n1,录入教材信息的时候,每一个项目都必须输入相应的内容。\n2,修改,增加,删除,查找记录前必须先打开一个文件,修改完后必须记得保存教材信息。\n3,必须使用正确的路径打开文件,建议保存文件时候不用输入路径(此时是默认路径,即保存在程序目录下。)")
getch()
break
}
if(i=='m')
break
system("cls")
}while(i!='m'||i!='h')
system("cls")
do{
printf(" ☆★☆★☆★ 教材管理系统 ☆★☆★☆★\n")
printf("┌————-———┐\n")
printf("│1,录入教材信息│\n│2,显示教材信息│\n│3,打开一个记录│\n│4,编辑一个记录│\n│5,保存教材信息│\n│6,查找记录│\n│s,初始化系统 │\n│e,退出系统│\n")
printf("└———————-┘\n")
printf("\n请输入功能编号:")
i=getch()
system("cls")
switch(i)
{
case '1': head=creat()save(head)break
case '2': print(head)break
case '3': head=openfile()break
case '4': system("cls")
printf("┌————-———┐\n")
printf("│1,增加一个记录│\n")
printf("│2,删除一个记录│\n")
printf("│3,修改一个记录│\n")
printf("└———————-┘\n")
i=getch()
switch(i)
{
case '1':
head=add(head)break
case '2':
head=delet(head)break
case '3': head=change(head)break
default: break
}
break
case '5': save(head)break
case '6': shumingsearch(head)break
case 's': mima()break
case 'e': exit(0)
default :break
}
system("cls")
}while(1)
}
我曾经写过C语言的数据库系统
..
给你部分代码(一个销售函数)以作参考...
void
book_out()
//销售函数
{
char
temp
EXEC
SQL
BEGIN
DECLARE
SECTION
/*主变量定义开始.*/
int
Hout_shuliang
int
Hshuliang///////////
char
Hbook_id[11]
EXEC
SQL
END
DECLARE
SECTION
/*主变量定义结束*/
lab3:
printf("请输入图书编号:")
scanf("%s",&Hbook_id)
printf("请输入卖出本数:")
scanf("%d",&Hout_shuliang)
//先将
库存量
取出到主变量
EXEC
SQL
select
book_shuliang
into
:Hshuliang
from
book_kucun
where
book_id=:Hbook_id
if(Hshuliang<Hout_shuliang)
//假如库存不足,销售不成功.
{
printf("输入有误.没那么多库存,请重新输入.\n")
goto
lab3
}
//将销售记录插入到book_out(销售表)数据表.
EXEC
SQL
insert
into
book_out
values(:Hbook_id,:Hout_shuliang,GETDATE())
EXEC
SQL
COMMIT
TRANSACTION
/*事务提交*/
printf("售出成功,输入Y继续输入其他要售出的书.其他键返回
主菜单
:")
getchar()//////////////////////////
scanf("%c",&temp)
if(temp=='y'||temp=='Y')
goto
lab3
}
mysql是有c语言接口的,安装相应库后就可以链接了,一般连接mysql的函数是mysql_connect或者mysql_real_connect(大概就是这么拼的吧。。。)可以使用mysql_query执行sql语句欢迎分享,转载请注明来源:内存溢出
评论列表(0条)