鱼C论坛

 找回密码
 立即注册
查看: 1320|回复: 1

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

[复制链接]
发表于 2015-1-8 20:31:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 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[20];//帐号
 char Name[20];//姓名
 char sex[5];//性别
 char id[20];//学号
 char phone[20];//电话号码
 char mima[20];//密码
 char jie[10];//借书情况
 char huan[10];//还书情况
};
struct Yonghu yonghu[100];
struct tushu//建立图书信息结构体
{
 char name[30];     //书名
 char zuozhe[20];       //作者
 char  ID[10];          //图书的编号
 char  sl[10];          //图书的数量
    char  dj[10];          //图书的单价
};
struct tushu shu[10000];</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[i+1].name);
 
   printf("请输入要添加的第%ld图书的作者:",i+1);
   scanf("%s",shu[i+1].zuozhe);
 
   printf("请输入要添加的第%ld图书的编号:",i+1);
   scanf("%s",shu[i+1].ID);
 
   printf("请输入要添加的第%ld图书的数量:",i+1);
   scanf("%s",shu[i+1].sl);
   
   printf("请输入要添加的第%ld图书的单价:",i+1);
   scanf("%s",shu[i+1].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[i+1].name,shu[i+1].zuozhe,shu[i+1].ID,shu[i+1].sl,shu[i+1].dj);
    fclose(fp);
    printf("\n");
 printf("★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n"); 
}
void zhuce()//注册函数 
{   
 char mima2[20];
 char xuanze4;      
 static int e;//定义静态变量e
    char cf3[]={'帐号','姓名','性别','学号','电话','密码'};//用于存放信息提示文字
 system("cls");
 printf("欢迎来到注册界面"); printf("\n\n");
 printf("请输入你的帐号:");scanf("%s",yonghu[e].zhanghao);printf("\n\n");
    printf("请输入你的姓名:");scanf("%s",yonghu[e].Name);printf("\n\n");
 printf("请输入你的性别:");scanf("%s",yonghu[e].sex);printf("\n\n");
 printf("请输入你的学号:");scanf("%s",yonghu[e].id);printf("\n\n");
 printf("请输入你的电话:"); scanf("%s",yonghu[e].phone);printf("\n\n");
 printf("请输入你的密码:");scanf("%s",yonghu[e].mima);printf("\n\n"); 
 printf("请再次输入你的密码");scanf("%s",mima2);printf("\n\n");
 if(strcmp(mima2,yonghu[e].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[e],sizeof(struct Yonghu),1,fpzc); //有两种读写方法
 fclose(fpzc);
 e++;
 printf("信息已保存!\n"); 
    printf("输入任意键返回主菜单");printf("\n\n");
 system("pause");
 menu();
}
void denglu()  //登陆函数
{
 FILE *fpzc;
 char mima3[20],zhanghao2[20];
 char mima4[20],zhanghao3[20];
 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[t].zhanghao)==0)&&(strcmp(mima3,yonghu[t].mima)==0))
   menu();
   else printf("帐号密码输入错误!!\n");
   system("pause");
        denglu();
 }
 fclose(fpzc);
}
void jieshu(int zh)//借书函数
{
 int i,xuanze5;
 char cha[20];
    printf("~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~\n");
  printf("请输入要搜索的书名或者编号:");
 scanf("%s", cha);
 for(i=0;i<100;i++)
 {
  if((strcmp(cha,shu[i].name)==0)||(strcmp(cha,shu[i].ID)==0))
  {
   printf("该图书的信息为:\n");
   printf("书名:%s 作者:%s 编号:%s 数量:%s 单价:%s\n",shu[i].name,shu[i].zuozhe,shu[i].ID,shu[i].sl,shu[i].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[20];
    printf("~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~\n");
  printf("请输入要还的书名或者编号:");
 scanf("%s", cha2);
 for(m=0;m<100;m++)
 {
  if((strcmp(cha2,shu[m].name)==0)||(strcmp(cha2,shu[m].ID)==0))
  {
   printf("该图书的信息为:\n");
   printf("书名:%s 作者:%s 编号:%s 数量:%s 单价:%s\n",shu[m].name,shu[m].zuozhe,shu[m].ID,shu[m].sl,shu[m].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[30];
 char flag=0,t=0,mi=3,duan;
 struct tushu xg[100];
 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[t]=cunfang;             //把文件里的所有信息储存到数组xg里面
   t++;
  }
 }
 for(i=0;i<t;i++)             //根据输入的编号,在数组xg里找到该图书i
 {
  if(strcmp(ID,xg[i].ID)==0) 
  {
   system("cls");
   printf("\n\n\n图书的信息如下:\n\n");
   printf("\n\n\n书名:%s,作者:%s,编号:%s,数量:%s,单价:%s\n\n",xg[i].name,xg[i].zuozhe,xg[i].ID,xg[i].sl,xg[i].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[i].name);
     };break;
   case 2: {
     printf("\n\n\n请输入新的作者姓名\n");
     printf("\n\n\n");
     scanf("%s",xg[i].zuozhe);
     };break;
   case 3: {
     printf("\n\n\n请输入新的编号\n");
     printf("\n\n\n");
     scanf("%s",xg[i].ID);
     };break;
   case 4: {
     printf("\n\n\n请输入新的数量\n");
     printf("\n\n\n");
     scanf("%s",xg[i].sl);
     };break;
   case 5: {
     printf("\n\n\n请输入单价\n");
     printf("\n\n\n");
     scanf("%s",xg[i].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[i].name,xg[i].zuozhe,xg[i].ID,xg[i].sl,xg[i].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[w].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[i].name,shu[i+1].name);
   strcpy(shu[i].zuozhe,shu[i+1].zuozhe);
   strcpy(shu[i].ID,shu[i+1].ID);
   strcpy(shu[i].sl,shu[i+1].sl);
   strcpy(shu[i].dj,shu[i+1].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[10];
 int y,u;
 system("cls");
   printf("请输入图书的五位数字编号:(例如00001)");
   scanf("%f",&bianhao);
   for(y=0;y<=10000;y++)
   {
    if(strcmp(bianhao,shu[y].ID)==0)
     (printf("\n\n\n\%4s%4s%4s%4s%4s",shu[y].name,shu[y].zuozhe,shu[y].ID,shu[y].sl,shu[y].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[10];
 int o,p;
 system("cls");
   printf("请输入图书的名字:(例如 简爱)");
   scanf("%f",&shuming);
   for(o=0;o<=10000;o++)
   {
    if(strcmp(shuming,shu[o].name)==0)
     (printf("\n\n\n\%4s%4s%4s%4s%4s",shu[o].name,shu[o].zuozhe,shu[o].ID,shu[o].sl,shu[o].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[k].ID)==0)
  {
   printf("\n\n书名:%s作者%s编号%s数量%s单价%s",shu[k].name,shu[k].zuozhe,shu[k].ID,shu[k].sl,shu[k].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 错误较多,思路乱,烦请各位大神出山
我想 有个正确的模版对照错误。
在这里谢谢各位大神了....
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-1-8 20:40:03 | 显示全部楼层
各位 大神可以加我QQ 教导教导 谢谢了 QQ:273885095
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-18 14:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表