yeyongzhao 发表于 2015-1-8 20:31:36

新手菜鸟的C语音问题,完全自打.修改错误已自崩....想找师傅教教...

本帖最后由 yeyongzhao 于 2015-1-8 20:38 编辑


<P>#include <stdio.h>
#include <string.h>
void tianjia();       //添加函数
void zhuce();         //注册函数
void denglu();      //登陆函数
void jieshu(char zh); //借书函数
void huanshu();       //还书函数
void xiugai();      //修改图书信息函数
void shanchu();       //删除图书信息函数
void bianhaochashu(); //按编号查书函数
void shumingchashu(); //按书名查书函数
void chashu();      //查书函数(主界面)
void xianshi(int k);//定义显示书籍信息函数
void guoke();         //匆匆过客的界面
void tuichu();      //退出CC图书馆管理系统
void menu();          //主菜单
FILE *fp;            //建立图书信息保存文件指针
FILE *fpzc;          //建立用户注册的信息文件指针
struct Yonghu   //建立用户结构体
{
char zhanghao;//帐号
char Name;//姓名
char sex;//性别
char id;//学号
char phone;//电话号码
char mima;//密码
char jie;//借书情况
char huan;//还书情况
};
struct Yonghu yonghu;
struct tushu//建立图书信息结构体
{
char name;   //书名
char zuozhe;       //作者
charID;          //图书的编号
charsl;          //图书的数量
    chardj;          //图书的单价
};
struct tushu shu;</P>
<P>void tianjia()//添加函数
{
int b,c,i=0;
   printf("★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n");
   printf("请输入你要添加的书的数量");scanf("%d",&b);
   for(i=0;i<b;i++)
   {
   printf("请输入要添加的第%ld图书的书名:",i+1);
   scanf("%s",shu.name);

   printf("请输入要添加的第%ld图书的作者:",i+1);
   scanf("%s",shu.zuozhe);

   printf("请输入要添加的第%ld图书的编号:",i+1);
   scanf("%s",shu.ID);

   printf("请输入要添加的第%ld图书的数量:",i+1);
   scanf("%s",shu.sl);
   
   printf("请输入要添加的第%ld图书的单价:",i+1);
   scanf("%s",shu.dj);
   printf("\n");
   }
       if((fp=fopen("CC图书馆管理系统.txt","w+"))==NULL)
{
printf("打开文件失败!\n");
exit(0);
}
    for(i=0;i<b;i++)
    fprintf(fp,"%20s%20s%20s%20s",shu.name,shu.zuozhe,shu.ID,shu.sl,shu.dj);
    fclose(fp);
    printf("\n");
printf("★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n");
}
void zhuce()//注册函数
{   
char mima2;
char xuanze4;      
static int e;//定义静态变量e
    char cf3[]={'帐号','姓名','性别','学号','电话','密码'};//用于存放信息提示文字
system("cls");
printf("欢迎来到注册界面"); printf("\n\n");
printf("请输入你的帐号:");scanf("%s",yonghu.zhanghao);printf("\n\n");
    printf("请输入你的姓名:");scanf("%s",yonghu.Name);printf("\n\n");
printf("请输入你的性别:");scanf("%s",yonghu.sex);printf("\n\n");
printf("请输入你的学号:");scanf("%s",yonghu.id);printf("\n\n");
printf("请输入你的电话:"); scanf("%s",yonghu.phone);printf("\n\n");
printf("请输入你的密码:");scanf("%s",yonghu.mima);printf("\n\n");
printf("请再次输入你的密码");scanf("%s",mima2);printf("\n\n");
if(strcmp(mima2,yonghu.mima)==0)
{
printf("恭喜你!你已经注册成功!");printf("\n\n");
printf("按任意键回到主菜单");
system("pause");
menu();
}
else
{
printf("密码输入错误啦!!请重新注册!@@^=^@@");
system("pause");
zhuce();
}
if((fpzc=fopen("帐号注册资料保存.txt","w+"))==NULL)
{
printf("\n\n打开文件失败!\n");
exit(0);
}
   // fwrite(cf3,sizeof(cf3),1,fpzc);
fwrite(&yonghu,sizeof(struct Yonghu),1,fpzc); //有两种读写方法
fclose(fpzc);
e++;
printf("信息已保存!\n");
    printf("输入任意键返回主菜单");printf("\n\n");
system("pause");
menu();
}
void denglu()//登陆函数
{
FILE *fpzc;
char mima3,zhanghao2;
char mima4,zhanghao3;
int t;
system("cls");
printf("欢迎来到登陆界面!\n\n\n");
    printf("请输入你的帐号:");scanf("%s",zhanghao2);printf("\n\n");
printf("请输入你的密码:");scanf("%s",mima3);printf("\n\n");
    if((fpzc = fopen("帐号注册资料信息保存.txt","w+"))==NULL)
{
printf("\n\n打开失败!\n");
exit(0);
}
for(t=0;t<=1000;t++)
{
fscanf(fpzc,"%s",zhanghao3);
   if((strcmp(zhanghao3,yonghu.zhanghao)==0)&&(strcmp(mima3,yonghu.mima)==0))
   menu();
   else printf("帐号密码输入错误!!\n");
   system("pause");
      denglu();
}
fclose(fpzc);
}
void jieshu(int zh)//借书函数
{
int i,xuanze5;
char cha;
    printf("~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~\n");
printf("请输入要搜索的书名或者编号:");
scanf("%s", cha);
for(i=0;i<100;i++)
{
if((strcmp(cha,shu.name)==0)||(strcmp(cha,shu.ID)==0))
{
   printf("该图书的信息为:\n");
   printf("书名:%s 作者:%s 编号:%s 数量:%s 单价:%s\n",shu.name,shu.zuozhe,shu.ID,shu.sl,shu.dj);
   break;
}   
}
printf("\n");
printf("是否要借这本书? 1.是 2.否");
scanf("%d",&xuanze5);
if(xuanze5==1)
{
printf("恭喜你借书成功\n\n");
}
else
printf("~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ \n");
}</P>
<P>
void huanshu(int zh)//还书函数
{
int m,xuanze6;
char cha2;
    printf("~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~\n");
printf("请输入要还的书名或者编号:");
scanf("%s", cha2);
for(m=0;m<100;m++)
{
if((strcmp(cha2,shu.name)==0)||(strcmp(cha2,shu.ID)==0))
{
   printf("该图书的信息为:\n");
   printf("书名:%s 作者:%s 编号:%s 数量:%s 单价:%s\n",shu.name,shu.zuozhe,shu.ID,shu.sl,shu.dj);
   break;
}   
}
printf("\n");
printf("是否要还这本书? 1.是 2.否");
scanf("%d",&xuanze6);
if(xuanze6==1)
{
printf("还书成功\n\n");
}
else
printf("~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ \n");
}
void xiugai()//修改图书信息函数
{
system("cls");
int q;
char ID;
char flag=0,t=0,mi=3,duan;
struct tushu xg;
struct tushu cunfang;
printf("\n\n\n请输入想修改的图书的编号\n\n\n");
scanf("%s",ID);
printf("\n");
if((fpFile=fopen("CC图书管理系统.txt","r"))==NULL)
{
printf("打开文件失败!\n");
exit(0);
}
while(!feof(fpFile))
{
fread(&cunfang,sizeof(struct student),1,fp);
if(!feof(fpFile))
{
   xg=cunfang;             //把文件里的所有信息储存到数组xg里面
   t++;
}
}
for(i=0;i<t;i++)             //根据输入的编号,在数组xg里找到该图书i
{
if(strcmp(ID,xg.ID)==0)
{
   system("cls");
   printf("\n\n\n图书的信息如下:\n\n");
   printf("\n\n\n书名:%s,作者:%s,编号:%s,数量:%s,单价:%s\n\n",xg.name,xg.zuozhe,xg.ID,xg.sl,xg.dj);
   printf("\n\n\n请选择你想修改的选项:\n\n");
   printf("\n\n\n1.书名修改\n\n");
   printf("\n\n\n2.作者修改\n\n");
   printf("\n\n\n3.编号修改\n\n");
   printf("\n\n\n4.数量修改\n\n");
   printf("\n\n\n5.单价修改\n\n");
   printf("\n\n\n");
   scanf("%d",&q);
   printf("\n");
   switch(q)
   {
   case 1: {
   printf("\n\n\n请输入新的书名\n");
   printf("\n\n\n");
   scanf("%s",xg.name);
   };break;
   case 2: {
   printf("\n\n\n请输入新的作者姓名\n");
   printf("\n\n\n");
   scanf("%s",xg.zuozhe);
   };break;
   case 3: {
   printf("\n\n\n请输入新的编号\n");
   printf("\n\n\n");
   scanf("%s",xg.ID);
   };break;
   case 4: {
   printf("\n\n\n请输入新的数量\n");
   printf("\n\n\n");
   scanf("%s",xg.sl);
   };break;
   case 5: {
   printf("\n\n\n请输入单价\n");
   printf("\n\n\n");
   scanf("%s",xg.dj);
   };break;
   default:printf("输入超范围啦!请输入1-5的数字!谢谢!");
      return xiugai();</P>
<P>   }
   printf("\n\n\n修改后的图书信息:\n\n");
   printf("\n\n\n书名:%s,作者:%s,编号:%s,数量:%s,单价:%s\n\n",xg.name,xg.zuozhe,xg.ID,xg.sl,xg.dj);
}
}</P>
<P> fpFile=fopen("CC图书馆管理系统.txt","w");
fwrite(xg,sizeof(struct student),t,fp);
fclose(fp);
}
void shanchu()//删除图书信息函数
{
      int w,judge,judge2;
      char id;
system("cls");
printf("\n\n请输入需要删除的图书的编号!\n");
scanf("%s",id);
for(w=0;w<10000;w++)
   if(strcmp(id,shu.ID)==0)
   {
    xianshi(id);
   
   }
printf("\n\n确定要删除?\n\n\n 1.是2.否\n");
printf("\n\n");
scanf("%d",&judge);
if(judge==1)
{
   for(i=id;i<1000;i++)
   {
   strcpy(shu.name,shu.name);
   strcpy(shu.zuozhe,shu.zuozhe);
   strcpy(shu.ID,shu.ID);
   strcpy(shu.sl,shu.sl);
   strcpy(shu.dj,shu.dj);
   }
}
   printf("\n\n删除成功!\n");
printf("\n\n是否继续删除?\n\n\n 1.是2.否\n");
printf("\n\n");
scanf("%d",&judge2);
if(judge2=1)
   shanchu();
else menu();
}
void bianhaochashu()//按编号查书函数
{
char bianhao;
int y,u;
system("cls");
   printf("请输入图书的五位数字编号:(例如00001)");
   scanf("%f",&bianhao);
   for(y=0;y<=10000;y++)
   {
    if(strcmp(bianhao,shu.ID)==0)
   (printf("\n\n\n\%4s%4s%4s%4s%4s",shu.name,shu.zuozhe,shu.ID,shu.sl,shu.dj);
    else printf("没有这本书!\n")
   }
   printf("\n\n\n\是否继续查询?\n    1:是2:否\n");
    scanf("%d",&u);
   if(u=1)
    bianhaochashu();
   else
    menu();
}</P>
<P>
void shumingchashu()//按书名查书函数
{
char shuming;
int o,p;
system("cls");
   printf("请输入图书的名字:(例如 简爱)");
   scanf("%f",&shuming);
   for(o=0;o<=10000;o++)
   {
    if(strcmp(shuming,shu.name)==0)
   (printf("\n\n\n\%4s%4s%4s%4s%4s",shu.name,shu.zuozhe,shu.ID,shu.sl,shu.dj);
    else printf("没有这本书!\n")
   }
   printf("\n\n\n\是否继续查询?\n    1:是2:否\n");
    scanf("%d",&p);
   if(p=1)
    shumingchashu();
   else
    menu();</P>
<P>}
void chashu()//查书函数(主界面)
{
    int xuanze3;
system("cls");
printf("\n\n\n")
printf("               ★★★★★★★★★★★★★★★★★★★★★★★\n");
printf("               ★★         欢迎使用CC图书管理系统       ★★\n");
printf("               ★★            图书查询                ★★\n");
printf("               ★★            1.按书名查询            ★★\n");
printf("               ★★            2.按编号查询            ★★\n");
printf("               ★★            3.返回上级菜单            ★★\n");
printf("               ★★★★★★★★★★★★★★★★★★★★★★★\n");
scanf("%d",xuanze3);
switch(xuanze3)
{
case 1:shumingchashu;break;
case 2:bianhaochashu;break;
case 3:guoke();break;
default:printf("expression error!\n")
}
chashu();
}</P>
<P>void xianshi(int k)   //定义显示书籍信息函数
{
   
system("cls");
    FILE *fp;
if((fp=fopen("CC图书馆管理系统.txt","r"))==NULL)
{
printf("打开文件失败!\n");
exit(0);
}
if(strcmp(k,shu.ID)==0)
{
   printf("\n\n书名:%s作者%s编号%s数量%s单价%s",shu.name,shu.zuozhe,shu.ID,shu.sl,shu.dj);
            printf("状态为:%d",k);
}
fclose(fp);
}
void tuichu()//退出CC图书馆管理系统
{
system("cls");
printf("\n\n\n");
printf("谢谢您的使用,再见!!!");

}
void guoke()//匆匆过客的界面
{
int xuanze2
      system("cls");
printf("\n\n\n")
printf("               ★★★★★★★★★★★★★★★★★★★★★★★\n");
printf("               ★★         欢迎使用CC图书管理系统       ★★\n");
printf("               ★★                匆匆过客            ★★\n");
printf("               ★★            1.书籍查询            ★★\n");
printf("               ★★            2.帐号注册            ★★\n");
printf("               ★★            3.返回上级菜单          ★★\n");
printf("               ★★★★★★★★★★★★★★★★★★★★★★★\n");
scanf("%d",&xuanze2);
switch(xuanze2)
{
case 1:shujichaxun;break;
case 2:zhuce;break;
case 3:menu();break;
default:printf("expression error!\n");
}
guoke();
}</P>
<P>
void menu()//主菜单
{int xuanze1;
printf("\n\n\n")
printf("               ★★★★★★★★★★★★★★★★★★★★★★★\n");
printf("               ★★         欢迎使用CC图书管理系统       ★★\n");
printf("               ★★            1:帐号注册               ★★\n");
printf("               ★★            2:用户登陆               ★★\n");
printf("               ★★            3:匆匆过客               ★★\n");
printf("               ★★            4:新书添加               ★★\n");
printf("               ★★            5:退出CC图书管理系统   ★★\n");
printf("               ★★★★★★★★★★★★★★★★★★★★★★★\n");
scanf("%d",&xuanze1);
switch(xuanze)
{
   case 1: zhuce();break;
   case 2: denglu() ;break;
case 3: guoke();break;
case 4: tianjia();break;
case 5: tuichu() ;break;
   default:printf("expression error!\n");
}
menu();
}
</P>作为一个菜鸟,经常逛鱼吧的菜鸟,自编了一个图书馆管理系统,但是很多错误...希望各位大神能帮我该改 或者指导指导
PS 错误较多,思路乱,烦请各位大神出山
我想 有个正确的模版对照错误。
在这里谢谢各位大神了....

yeyongzhao 发表于 2015-1-8 20:40:03

各位 大神可以加我QQ 教导教导 谢谢了 QQ:273885095
页: [1]
查看完整版本: 新手菜鸟的C语音问题,完全自打.修改错误已自崩....想找师傅教教...