| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1101 人关注过本帖
标题:课程设计——图书馆管理系统中的一个小麻烦 请高手指教下
取消只看楼主 加入收藏
TGM316750432
Rank: 2
来 自:河南周口
等 级:论坛游民
帖 子:56
专家分:97
注 册:2010-8-27
结帖率:75%
收藏
已结贴  问题点数:10 回复次数:4 
课程设计——图书馆管理系统中的一个小麻烦 请高手指教下
一般在一个小功能完成以后需要回到上一步,以进行其他操作,这个返回操作怎么办?

例如下面的片段,我想执行完密码修改pwChange后回到printWorkersList的界面怎么处理?


void pwChange()
{
     printf("请输入新密码:(密码长度不能低于2位多于15位)\n");
     scanf("%s",admin);
     while(strlen(admin)>15||strlen(admin)<2)
       {printf("密码长度不正确!请重新输入:");
        scanf("%s",admin);}
     FILE *fp;
     if((fp=fopen("E:/AdminPassword.txt","w"))==NULL)
       {printf("Password is Lost!!!\n");
        return;}     
     fprintf(fp,"%s",admin);
     printf("密码修改成功!请按\"Enter\"键退出!");
     getchar();
     getchar();
 }
  
void printWorkersList()
  {
      int accessnum=0;
      
      printf("***************************************\n");
      printf("*   职工入口------请选择服务方式:    *\n");
      printf("***************************************\n");
      printf("    1.书籍入库\n");
      printf("    2.查询书籍借阅情况\n");
      printf("    3.修改管理密码\n");
      printf("****-------------------------------****\n");
      printf("请输入数字(1~3):");
      scanf("%d",&accessnum);
      while(accessnum>3||accessnum<1)
        {printf("你输入的选择不正确!请重新输入:");
         scanf("%d",&accessnum);}        
      if(accessnum==1)
        PutBookIn();                //书籍入库
      else if(accessnum==2)
        {printBookInList();          //输出书籍借阅情况
         printf("请按\"Enter\"键退出!");
         getchar();
         getchar();}
      else if(accessnum==3)
        pwChange();                                                  //有待完善···        
   }
搜索更多相关主题的帖子: 课程 系统 麻烦 指教 
2010-08-27 20:00
TGM316750432
Rank: 2
来 自:河南周口
等 级:论坛游民
帖 子:56
专家分:97
注 册:2010-8-27
收藏
得分:0 
回复 2楼 erikyo
pwChange函数是没有返回值的,在调用函数里执行完了之后,直接就退出命令行界面了,我是想让程序执行完密码修改后回到调用函数print显示的那个界面
再来选择执行书籍入库或者查询书籍借阅情况
2010-08-27 23:14
TGM316750432
Rank: 2
来 自:河南周口
等 级:论坛游民
帖 子:56
专家分:97
注 册:2010-8-27
收藏
得分:0 
以下是引用大海009在2010-8-27 23:28:15的发言:

要是两次输入密码错误怎么办呢   楼主不搞个循环吗
这个可以考虑下,最不好办的还是这个返回“上一步”的操作···-.-!
2010-08-27 23:51
TGM316750432
Rank: 2
来 自:河南周口
等 级:论坛游民
帖 子:56
专家分:97
注 册:2010-8-27
收藏
得分:0 
以下是引用xtfcu33在2010-8-28 09:42:21的发言:

void pwChange()
{
     printf("请输入新密码:(密码长度不能低于2位多于15位)\n");
     scanf("%s",admin);
     while(strlen(admin)>15||strlen(admin)<2)
       {printf("密码长度不正确!请重新输入:");
        scanf("%s",admin);}
     FILE *fp;
     if((fp=fopen("E:/AdminPassword.txt","w"))==NULL)
       {printf("Password is Lost!!!\n");
        return;}     
     fprintf(fp,"%s",admin);
     printf("密码修改成功!请按\"Enter\"键退出!");
     getchar();
     getchar();
}
其中,scanf("%s",admin)中少了“&”吧?
谢谢,字符数组名前加不加“&”是一样的!
2010-08-28 12:04
TGM316750432
Rank: 2
来 自:河南周口
等 级:论坛游民
帖 子:56
专家分:97
注 册:2010-8-27
收藏
得分:0 
以下是引用feng1990在2010-8-28 12:24:11的发言:

直接写进主函数里面循环就是了!选择一个循环的退出口就可以了吧!调用之后要回到原先调用,那不是要构成死循环,还不就是自己写一个死循环啊!
死循环是无法退出的,我想要的是能够返回调用函数选择其他操作,而且能正常退出的。楼上有个解答能实现这种效果
2010-08-28 12:31
快速回复:课程设计——图书馆管理系统中的一个小麻烦 请高手指教下
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013205 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved