鱼C论坛

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

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

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

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

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

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

  1. <P>#include <stdio.h>
  2. #include <string.h>
  3. void tianjia();       //添加函数
  4. void zhuce();         //注册函数
  5. void denglu();        //登陆函数
  6. void jieshu(char zh); //借书函数
  7. void huanshu();       //还书函数
  8. void xiugai();        //修改图书信息函数
  9. void shanchu();       //删除图书信息函数
  10. void bianhaochashu(); //按编号查书函数
  11. void shumingchashu(); //按书名查书函数
  12. void chashu();        //查书函数(主界面)
  13. void xianshi(int k);  //定义显示书籍信息函数
  14. void guoke();         //匆匆过客的界面
  15. void tuichu();        //退出CC图书馆管理系统
  16. void menu();          //主菜单
  17. FILE *fp;            //建立图书信息保存文件指针
  18. FILE *fpzc;          //建立用户注册的信息文件指针
  19. struct Yonghu   //建立用户结构体
  20. {
  21. char zhanghao[20];//帐号
  22. char Name[20];//姓名
  23. char sex[5];//性别
  24. char id[20];//学号
  25. char phone[20];//电话号码
  26. char mima[20];//密码
  27. char jie[10];//借书情况
  28. char huan[10];//还书情况
  29. };
  30. struct Yonghu yonghu[100];
  31. struct tushu//建立图书信息结构体
  32. {
  33. char name[30];     //书名
  34. char zuozhe[20];       //作者
  35. char  ID[10];          //图书的编号
  36. char  sl[10];          //图书的数量
  37.     char  dj[10];          //图书的单价
  38. };
  39. struct tushu shu[10000];</P>
  40. <P>void tianjia()//添加函数
  41. {
  42. int b,c,i=0;
  43.    printf("★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n");
  44.    printf("请输入你要添加的书的数量");scanf("%d",&b);
  45.    for(i=0;i<b;i++)
  46.    {
  47.    printf("请输入要添加的第%ld图书的书名:",i+1);
  48.    scanf("%s",shu[i+1].name);

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

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

  53.    printf("请输入要添加的第%ld图书的数量:",i+1);
  54.    scanf("%s",shu[i+1].sl);
  55.    
  56.    printf("请输入要添加的第%ld图书的单价:",i+1);
  57.    scanf("%s",shu[i+1].dj);
  58.    printf("\n");
  59.    }
  60.        if((fp=fopen("CC图书馆管理系统.txt","w+"))==NULL)
  61. {
  62.   printf("打开文件失败!\n");
  63.   exit(0);
  64. }
  65.     for(i=0;i<b;i++)
  66.     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);
  67.     fclose(fp);
  68.     printf("\n");
  69. printf("★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n");
  70. }
  71. void zhuce()//注册函数
  72. {   
  73. char mima2[20];
  74. char xuanze4;      
  75. static int e;//定义静态变量e
  76.     char cf3[]={'帐号','姓名','性别','学号','电话','密码'};//用于存放信息提示文字
  77. system("cls");
  78. printf("欢迎来到注册界面"); printf("\n\n");
  79. printf("请输入你的帐号:");scanf("%s",yonghu[e].zhanghao);printf("\n\n");
  80.     printf("请输入你的姓名:");scanf("%s",yonghu[e].Name);printf("\n\n");
  81. printf("请输入你的性别:");scanf("%s",yonghu[e].sex);printf("\n\n");
  82. printf("请输入你的学号:");scanf("%s",yonghu[e].id);printf("\n\n");
  83. printf("请输入你的电话:"); scanf("%s",yonghu[e].phone);printf("\n\n");
  84. printf("请输入你的密码:");scanf("%s",yonghu[e].mima);printf("\n\n");
  85. printf("请再次输入你的密码");scanf("%s",mima2);printf("\n\n");
  86. if(strcmp(mima2,yonghu[e].mima)==0)
  87. {
  88.   printf("恭喜你!你已经注册成功!");printf("\n\n");
  89.   printf("按任意键回到主菜单");
  90.   system("pause");
  91.   menu();
  92. }
  93. else
  94. {
  95.   printf("密码输入错误啦!!请重新注册!@@^=^@@");
  96.   system("pause");
  97.   zhuce();
  98. }
  99. if((fpzc=fopen("帐号注册资料保存.txt","w+"))==NULL)
  100. {
  101.   printf("\n\n打开文件失败!\n");
  102.   exit(0);
  103. }
  104.    // fwrite(cf3,sizeof(cf3),1,fpzc);
  105. fwrite(&yonghu[e],sizeof(struct Yonghu),1,fpzc); //有两种读写方法
  106. fclose(fpzc);
  107. e++;
  108. printf("信息已保存!\n");
  109.     printf("输入任意键返回主菜单");printf("\n\n");
  110. system("pause");
  111. menu();
  112. }
  113. void denglu()  //登陆函数
  114. {
  115. FILE *fpzc;
  116. char mima3[20],zhanghao2[20];
  117. char mima4[20],zhanghao3[20];
  118. int t;
  119. system("cls");
  120. printf("欢迎来到登陆界面!\n\n\n");
  121.     printf("请输入你的帐号:");scanf("%s",zhanghao2);printf("\n\n");
  122. printf("请输入你的密码:");scanf("%s",mima3);printf("\n\n");
  123.     if((fpzc = fopen("帐号注册资料信息保存.txt","w+"))==NULL)
  124. {
  125.   printf("\n\n打开失败!\n");
  126.   exit(0);
  127. }
  128. for(t=0;t<=1000;t++)
  129. {
  130.   fscanf(fpzc,"%s",zhanghao3);
  131.    if((strcmp(zhanghao3,yonghu[t].zhanghao)==0)&&(strcmp(mima3,yonghu[t].mima)==0))
  132.    menu();
  133.    else printf("帐号密码输入错误!!\n");
  134.    system("pause");
  135.         denglu();
  136. }
  137. fclose(fpzc);
  138. }
  139. void jieshu(int zh)//借书函数
  140. {
  141. int i,xuanze5;
  142. char cha[20];
  143.     printf("~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~\n");
  144.   printf("请输入要搜索的书名或者编号:");
  145. scanf("%s", cha);
  146. for(i=0;i<100;i++)
  147. {
  148.   if((strcmp(cha,shu[i].name)==0)||(strcmp(cha,shu[i].ID)==0))
  149.   {
  150.    printf("该图书的信息为:\n");
  151.    printf("书名:%s 作者:%s 编号:%s 数量:%s 单价:%s\n",shu[i].name,shu[i].zuozhe,shu[i].ID,shu[i].sl,shu[i].dj);
  152.    break;
  153.   }   
  154. }
  155. printf("\n");
  156. printf("是否要借这本书? 1.是 2.否");
  157. scanf("%d",&xuanze5);
  158. if(xuanze5==1)
  159. {
  160.   printf("恭喜你借书成功\n\n");
  161. }
  162. else
  163. printf("~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ \n");
  164. }</P>
  165. <P>
  166. void huanshu(int zh)//还书函数
  167. {
  168. int m,xuanze6;
  169. char cha2[20];
  170.     printf("~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~\n");
  171.   printf("请输入要还的书名或者编号:");
  172. scanf("%s", cha2);
  173. for(m=0;m<100;m++)
  174. {
  175.   if((strcmp(cha2,shu[m].name)==0)||(strcmp(cha2,shu[m].ID)==0))
  176.   {
  177.    printf("该图书的信息为:\n");
  178.    printf("书名:%s 作者:%s 编号:%s 数量:%s 单价:%s\n",shu[m].name,shu[m].zuozhe,shu[m].ID,shu[m].sl,shu[m].dj);
  179.    break;
  180.   }   
  181. }
  182. printf("\n");
  183. printf("是否要还这本书? 1.是 2.否");
  184. scanf("%d",&xuanze6);
  185. if(xuanze6==1)
  186. {
  187.   printf("还书成功\n\n");
  188. }
  189. else
  190. printf("~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ \n");
  191. }
  192. void xiugai()//修改图书信息函数
  193. {
  194. system("cls");
  195. int q;
  196. char ID[30];
  197. char flag=0,t=0,mi=3,duan;
  198. struct tushu xg[100];
  199. struct tushu cunfang;
  200. printf("\n\n\n请输入想修改的图书的编号\n\n\n");
  201. scanf("%s",ID);
  202. printf("\n");
  203. if((fpFile=fopen("CC图书管理系统.txt","r"))==NULL)
  204. {
  205.   printf("打开文件失败!\n");
  206.   exit(0);
  207. }
  208. while(!feof(fpFile))
  209. {
  210.   fread(&cunfang,sizeof(struct student),1,fp);
  211.   if(!feof(fpFile))
  212.   {
  213.    xg[t]=cunfang;             //把文件里的所有信息储存到数组xg里面
  214.    t++;
  215.   }
  216. }
  217. for(i=0;i<t;i++)             //根据输入的编号,在数组xg里找到该图书i
  218. {
  219.   if(strcmp(ID,xg[i].ID)==0)
  220.   {
  221.    system("cls");
  222.    printf("\n\n\n图书的信息如下:\n\n");
  223.    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);
  224.    printf("\n\n\n请选择你想修改的选项:\n\n");
  225.    printf("\n\n\n1.书名修改\n\n");
  226.    printf("\n\n\n2.作者修改\n\n");
  227.    printf("\n\n\n3.编号修改\n\n");
  228.    printf("\n\n\n4.数量修改\n\n");
  229.    printf("\n\n\n5.单价修改\n\n");
  230.    printf("\n\n\n");
  231.    scanf("%d",&q);
  232.    printf("\n");
  233.    switch(q)
  234.    {
  235.    case 1: {
  236.      printf("\n\n\n请输入新的书名\n");
  237.      printf("\n\n\n");
  238.      scanf("%s",xg[i].name);
  239.      };break;
  240.    case 2: {
  241.      printf("\n\n\n请输入新的作者姓名\n");
  242.      printf("\n\n\n");
  243.      scanf("%s",xg[i].zuozhe);
  244.      };break;
  245.    case 3: {
  246.      printf("\n\n\n请输入新的编号\n");
  247.      printf("\n\n\n");
  248.      scanf("%s",xg[i].ID);
  249.      };break;
  250.    case 4: {
  251.      printf("\n\n\n请输入新的数量\n");
  252.      printf("\n\n\n");
  253.      scanf("%s",xg[i].sl);
  254.      };break;
  255.    case 5: {
  256.      printf("\n\n\n请输入单价\n");
  257.      printf("\n\n\n");
  258.      scanf("%s",xg[i].dj);
  259.      };break;
  260.    default:printf("输入超范围啦!请输入1-5的数字!谢谢!");
  261.         return xiugai();</P>
  262. <P>   }
  263.    printf("\n\n\n修改后的图书信息:\n\n");
  264.    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);
  265.   }
  266. }</P>
  267. <P> fpFile=fopen("CC图书馆管理系统.txt","w");
  268. fwrite(xg,sizeof(struct student),t,fp);
  269. fclose(fp);
  270. }
  271. void shanchu()  //删除图书信息函数
  272. {
  273.       int w,judge,judge2;
  274.         char id;
  275.   system("cls");
  276.   printf("\n\n请输入需要删除的图书的编号!\n");
  277.   scanf("%s",id);
  278.   for(w=0;w<10000;w++)
  279.    if(strcmp(id,shu[w].ID)==0)
  280.    {
  281.     xianshi(id);
  282.    
  283.    }
  284.   printf("\n\n确定要删除?\n\n\n 1.是  2.否\n");
  285.   printf("\n\n");
  286.   scanf("%d",&judge);
  287.   if(judge==1)
  288.   {
  289.    for(i=id;i<1000;i++)
  290.    {
  291.    strcpy(shu[i].name,shu[i+1].name);
  292.    strcpy(shu[i].zuozhe,shu[i+1].zuozhe);
  293.    strcpy(shu[i].ID,shu[i+1].ID);
  294.    strcpy(shu[i].sl,shu[i+1].sl);
  295.    strcpy(shu[i].dj,shu[i+1].dj);
  296.    }
  297.   }
  298.    printf("\n\n删除成功!\n");
  299.   printf("\n\n是否继续删除?\n\n\n 1.是  2.否\n");
  300.   printf("\n\n");
  301.   scanf("%d",&judge2);
  302.   if(judge2=1)
  303.    shanchu();
  304.   else menu();
  305. }
  306. void bianhaochashu()//按编号查书函数
  307. {
  308. char bianhao[10];
  309. int y,u;
  310. system("cls");
  311.    printf("请输入图书的五位数字编号:(例如00001)");
  312.    scanf("%f",&bianhao);
  313.    for(y=0;y<=10000;y++)
  314.    {
  315.     if(strcmp(bianhao,shu[y].ID)==0)
  316.      (printf("\n\n\n\%4s%4s%4s%4s%4s",shu[y].name,shu[y].zuozhe,shu[y].ID,shu[y].sl,shu[y].dj);
  317.     else printf("没有这本书!\n")
  318.    }
  319.    printf("\n\n\n\是否继续查询?\n    1:是  2:否\n");
  320.     scanf("%d",&u);
  321.    if(u=1)
  322.     bianhaochashu();
  323.    else
  324.     menu();
  325. }</P>
  326. <P>
  327. void shumingchashu()//按书名查书函数
  328. {
  329.   char shuming[10];
  330. int o,p;
  331. system("cls");
  332.    printf("请输入图书的名字:(例如 简爱)");
  333.    scanf("%f",&shuming);
  334.    for(o=0;o<=10000;o++)
  335.    {
  336.     if(strcmp(shuming,shu[o].name)==0)
  337.      (printf("\n\n\n\%4s%4s%4s%4s%4s",shu[o].name,shu[o].zuozhe,shu[o].ID,shu[o].sl,shu[o].dj);
  338.     else printf("没有这本书!\n")
  339.    }
  340.    printf("\n\n\n\是否继续查询?\n    1:是  2:否\n");
  341.     scanf("%d",&p);
  342.    if(p=1)
  343.     shumingchashu();
  344.    else
  345.     menu();</P>
  346. <P>}
  347. void chashu()//查书函数(主界面)
  348. {
  349.     int xuanze3;
  350. system("cls");
  351. printf("\n\n\n")
  352. printf("                 ★★★★★★★★★★★★★★★★★★★★★★★\n");
  353. printf("                 ★★         欢迎使用CC图书管理系统       ★★\n");
  354. printf("                 ★★              图书查询                ★★\n");
  355. printf("                 ★★            1.按书名查询              ★★\n");
  356. printf("                 ★★            2.按编号查询              ★★\n");
  357. printf("                 ★★            3.返回上级菜单            ★★\n");
  358. printf("                 ★★★★★★★★★★★★★★★★★★★★★★★\n");
  359. scanf("%d",xuanze3);
  360. switch(xuanze3)
  361. {
  362. case 1:shumingchashu;break;
  363. case 2:bianhaochashu;break;
  364. case 3:guoke();break;
  365. default:printf("expression error!\n")
  366. }
  367. chashu();
  368. }</P>
  369. <P>void xianshi(int k)   //定义显示书籍信息函数
  370. {
  371.    
  372. system("cls");
  373.     FILE *fp;
  374. if((fp=fopen("CC图书馆管理系统.txt","r"))==NULL)
  375. {
  376.   printf("打开文件失败!\n");
  377.   exit(0);
  378. }
  379.   if(strcmp(k,shu[k].ID)==0)
  380.   {
  381.    printf("\n\n书名:%s作者%s编号%s数量%s单价%s",shu[k].name,shu[k].zuozhe,shu[k].ID,shu[k].sl,shu[k].dj);
  382.             printf("状态为:%d",k);
  383.   }
  384. fclose(fp);
  385. }
  386. void tuichu()//退出CC图书馆管理系统
  387. {
  388. system("cls");
  389. printf("\n\n\n");
  390. printf("谢谢您的使用,再见!!!");
  391.   
  392. }
  393. void guoke()//匆匆过客的界面
  394. {
  395. int xuanze2
  396.       system("cls");
  397. printf("\n\n\n")
  398. printf("                 ★★★★★★★★★★★★★★★★★★★★★★★\n");
  399. printf("                 ★★         欢迎使用CC图书管理系统       ★★\n");
  400. printf("                 ★★                匆匆过客              ★★\n");
  401. printf("                 ★★              1.书籍查询              ★★\n");
  402. printf("                 ★★              2.帐号注册              ★★\n");
  403. printf("                 ★★              3.返回上级菜单          ★★\n");
  404. printf("                 ★★★★★★★★★★★★★★★★★★★★★★★\n");
  405. scanf("%d",&xuanze2);
  406. switch(xuanze2)
  407. {
  408. case 1:shujichaxun;break;
  409. case 2:zhuce;break;
  410. case 3:menu();break;
  411. default:printf("expression error!\n");
  412. }
  413. guoke();
  414. }</P>
  415. <P>
  416. void menu()//主菜单
  417. {int xuanze1;
  418. printf("\n\n\n")
  419. printf("                 ★★★★★★★★★★★★★★★★★★★★★★★\n");
  420. printf("                 ★★         欢迎使用CC图书管理系统       ★★\n");
  421. printf("                 ★★            1:帐号注册               ★★\n");
  422. printf("                 ★★            2:用户登陆               ★★\n");
  423. printf("                 ★★            3:匆匆过客               ★★\n");
  424. printf("                 ★★            4:新书添加               ★★\n");
  425. printf("                 ★★            5:退出CC图书管理系统     ★★\n");
  426. printf("                 ★★★★★★★★★★★★★★★★★★★★★★★\n");
  427. scanf("%d",&xuanze1);
  428. switch(xuanze)
  429. {
  430.      case 1: zhuce()  ;break;
  431.      case 2: denglu() ;break;
  432.   case 3: guoke()  ;break;
  433.   case 4: tianjia();break;
  434.   case 5: tuichu() ;break;
  435.      default:printf("expression error!\n");
  436. }
  437. menu();
  438. }
  439. </P>
复制代码
作为一个菜鸟,经常逛鱼吧的菜鸟,自编了一个图书馆管理系统,但是很多错误...希望各位大神能帮我该改 或者指导指导
PS 错误较多,思路乱,烦请各位大神出山
我想 有个正确的模版对照错误。
在这里谢谢各位大神了....
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2015-1-8 20:40:03 | 显示全部楼层
各位 大神可以加我QQ 教导教导 谢谢了 QQ:273885095
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-18 16:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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