首页    新闻    小组    交易    人才    下载    博客    代码贴    在线编程    论坛
在登陆系统时用户名正确,密码不正确也能进入系统。

dcpfeiniao2015-06-04 20:37 发布

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
FILE* fp;
struct BOOK

{ int id,usr[10],total,store,days[10];
char name[30],author[20],publish[40]; 
}books[100];

void page_title(char *menu_item)
{ printf("\t\t\t************欢迎使用图书馆管理系统**********\n\n- %s -\n\n",menu_item); }

void zhuce(void)
{char temp1[10],temp2[10],temp3[10],yhmtmp[10],mm[10];

printf("输入用户名\n");
fflush(stdin);
gets(yhmtmp);
printf("输入密码\n");
fflush(stdin);
gets(temp1);
printf("输入密码确认\n");
fflush(stdin);
gets(temp2);
if(!strcmp(temp1,temp2))
{strcpy(mm,temp1);
printf("注册成功\n");
}
else
{printf("输入密码确认\n");
gets(temp3);
if(!strcmp(temp1,temp3))
{strcpy(mm,temp1);
printf("注册成功\n");
}
else
printf("注册失败\n");
}

}
void login()
{
    fp=fopen("lg.flag","w+");
    fclose(fp);
}

void denglu(void)
{

char s1[10],s2[10],yhm[10],mm[10];
{
    fp=fopen("lg.flag","w+");
    fclose(fp);
}
printf("输入用户名\n");
fflush(stdin);
gets(s1);
printf("输入密码\n");
fflush(stdin);
gets(s2);
if(!(strcmp(s1,yhm))&&!(strcmp(s2,mm)))
printf("登陆成功\n");

}

void return_confirm(void)
{ printf("\n按任意键返回……\n");
getch(); }

int search_book(void)
{ int n,i; 
system("cls");
fp=fopen("lg.flag","r");
    if(fp==NULL) 
    {
        printf("请首先进行系统登陆\n");
        system("pause");
        return 0;
    }
printf("请输入图书序号:");
scanf("%d",&i);
for(n=0;n<100;n++)
{  if(books[n].id==i)
{  printf("序号:%d\n",books[n].id);
printf("书名:%s\n",books[n].name);
printf("作者:%s\n",books[n].author);
printf("出版社:%s\n",books[n].publish);
printf("存数:%d\n",books[n].store);
printf("总数:%d\n",books[n].total);
return n;   }  }
printf("\n没有找到相关记录.\n");
return -1; }

int book_search(void)
{ int n,i=1;
char nam[30];
system("cls");
fp=fopen("lg.flag","r");
    if(fp==NULL) 
    {
        printf("请首先进行系统登陆\n");
        system("pause");
        return 0;
    }
printf("请输入书名:");
scanf("%s",&nam);
printf("查询结果如下:\n");
for(n=0;n<100;n++)
{  if((strcmp(books[n].name,nam)==0))
{  printf("序号:%d\t",books[n].id);
printf("书名:%s\t",books[n].name);
printf("作者:%s\t",books[n].author);
printf("出版社:%s\t",books[n].publish);
printf("存数:%d\t",books[n].store);
printf("总数:%d\n",books[n].total);i=0;
}  }
if(i==1)
printf("\n没有找到相关记录.\n");
return -1; }

int book_change(void)
{
int n,i;
system("cls");
fp=fopen("lg.flag","r");
    if(fp==NULL) 
    {
        printf("请首先进行系统登陆\n");
        system("pause");
        return 0;
    }
page_title("修改图书信息");
printf("请输入要修改的图书序号:");  
scanf("%d",&i);                 
for(n=0;n<100;n++)
{  
if(books[n].id==i)


printf("修改书名:");  
scanf("%s",books[n].name); 
printf("修改作者:");
scanf("%s",books[n].author);
printf("修改出版社名:");  
scanf("%s",books[n].publish);
printf("修改总数:");  
scanf("%d",&books[n].total);
printf("修改图书信息成功.\n");
books[n].store=books[n].total;
return n;
}  

printf("\n没有找到相关记录.\n");
return -1; 
}  

int book_show(void)
{int n,i=1;
system("cls");
fp=fopen("lg.flag","r");
    if(fp==NULL) 
    {
        printf("请首先进行系统登陆\n");
        system("pause");
        return 0;
    }
for(n=0;n<100;n++)

if(strlen(books[n].name)!=0)

printf("序号:%d\t",books[n].id);
printf("书名:%s\t",books[n].name);
printf("作者:%s\t",books[n].author);
printf("出版社:%s\t",books[n].publish);
printf("存数:%d\t",books[n].store);
printf("总数:%d\n",books[n].total);
i=0;

}if(i==1)
printf("\n没有找到相关记录.\n");
return -1;
}

void book_out(void)
{int n,s,l,d;
system("cls");
fp=fopen("lg.flag","r");
    if(fp==NULL) 
    {
        printf("请首先进行系统登陆\n");
        system("pause");
        return;
    }
page_title("借阅图书");
if((n=search_book())!=-1&&books[n].store>0)
{printf("请输入借书证序号:");
scanf("%d",&s);
printf("请输入可借天数:");
scanf("%d",&d);
for(l=0;l<10;l++)
{if(books[n].usr[l]==0)
{    books[n].usr[l]=s;
books[n].days[l]=d;
break;    }   }
books[n].store--;  }
if(n!=-1&&books[n].store==0) printf("此书已经全部借出.\n");
return_confirm(); }

void book_in(void) 
{ int n,s,l;
system("cls");
fp=fopen("lg.flag","r");
    if(fp==NULL) 
    {
        printf("请首先进行系统登陆\n");
        system("pause");
        return;
    }
page_title("归还图书");
if((n=search_book())!=-1&&books[n].store<books[n].total)
{printf("借阅者图书证列表:\n");
for(l=0;l<10;l++) 
if (books[n].usr[l]!=0) 
printf("[%d] - %d天\n",books[n].usr[l],books[n].days[l]);
printf("请输入借书证序号:");
scanf("%d",&s);
for(l=0;l<10;l++) 
{if(books[n].usr[l]==s)
{    books[n].usr[l]=0;
books[n].days[l]=0;    break;     }   }
books[n].store++;  }
if(n!=-1&&books[n].store==books[n].total) 
printf("全部入藏.\n");
return_confirm(); }

void book_add(void) 
{ int n; 
system("cls");
fp=fopen("lg.flag","r");
    if(fp==NULL) 
    {
        printf("请首先进行系统登陆\n");
        system("pause");
        return;
    }
page_title("注册新书");
for(n=0;n<100;n++) 
if(books[n].id==0) break;
printf("序号:");
scanf("%d",&books[n].id);
printf("书名:");
scanf("%s",&books[n].name);
printf("作者:");
scanf("%s",&books[n].author);
printf("出版社:");
scanf("%s",&books[n].publish);  
printf("数量:");
scanf("%d",&books[n].total);
books[n].store=books[n].total;
return_confirm(); }

int book_del(void) 

int n,num,i;
system("cls");
fp=fopen("lg.flag","r");
    if(fp==NULL) 
    {
        printf("请首先进行系统登陆\n");
        system("pause");
        return 0;
    }
page_title("删除图书");
printf("请输入所要删除的书的编号:");
scanf("%d",&num);
for(n=0;n<100;n++)
{  
if(books[n].id==num)
for(i=n;i<100;i++)   
{   books[i].id=books[i+1].id;
strcpy(books[i].name,books[i+1].name);
strcpy(books[i].publish,books[i+1].publish);
printf("该书已删除.\n");
return n;
}
}
printf("没有找到相关记录\n");    
return -1; 
}

void main(void)
{
menu: page_title("操作选单");
      printf(" ╔═════════════════╗\n");
  printf(" ║---------请用数字选择操作---------║\n");
  printf(" ║------------注册账号-----------1--║\n");
  printf(" ║-------------登陆系统----------2--║\n");
  printf(" ║-------------注册新书----------3--║\n");
  printf(" ║-------------借阅图书----------4--║\n");
  printf(" ║----------查询图书信息---------5--║\n");
  printf(" ║---------修改图书信息----------6--║\n");
  printf(" ║-------------归还图书----------7--║\n");
  printf(" ║-------------删除图书----------8--║\n");
  printf(" ║-------------显示图书----------9--║\n");
  printf(" ║-------------退出系统----------0--║\n");
  printf(" ║------------请按数字键:-----------║\n");
  printf(" ╚═════════════════╝\n");
  rewind(stdin);
  switch(getch())
  { 
  case '1' : zhuce();       break;
  case '2' : denglu();      break;
  case '3' : book_add();    break;
  case '4' : book_out();    break;
  case '5' : book_search(); break;
  case '6' : book_change(); break;
  case '7' : book_in();     break; 
  case '8' : book_del();    break;
  case '9' : book_show();   break;
  case '0' : exit(0);
  }goto menu; 
}
 
 
最新话题:

求助!

C语言程序设计现代方法第二版P152第...

请教C语言三个数中最大数问题

大家好!

求助大佬,请问哪里出错了,运行后显...

大神门有没有纯C版的NE10源码(官网...

请教

想学习C语言,请各位大佬多多指教。