| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1607 人关注过本帖
标题:程序运行错误,求详细的解答
只看楼主 加入收藏
我是菜鸟0号
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2014-8-8
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:20 
程序运行错误,求详细的解答
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>

void display();
void xuanze();
void sys(int a);
void data();
void password(int number);
void qk();
void ye();
void number();


void display()
{
    system("cls");
    printf("=================================\n");
    printf("=========取款机==================\n");
    printf("=================================\n");
    printf("       1:取款\n");
    printf("\n");
    printf("       2:查询余额\n");
    printf("\n");
    printf("       3:修改密码\n");
    printf("\n");
    printf("       4:退卡\n");
    printf("=================================\n");
    xuanze();
}

void xuanze()
{
    int a;
    printf("请输入选择的操作数\n");
    if(a==1||a==2||a==3||a==4)
    {
        sys(a);
    }
    else
    {
        printf("错误的操作数,请按任意键继续'''\n");
        getchar();
        getchar();
        display();
    }
}

void sys(int a)
{
    switch(a)
    {
    case 1:qk();break;
    case 2:ye();break;
    case 3:number();break;
    case 4:exit(0);break;
    }
}

void qk()
{
    int money;
    printf("请输入你的取款数:\n");
A:scanf("%d",&money);
    if((money<0)||(money>3000)||(money%100!=0))
    {
    printf("错误\n");
    goto A;
    }
    else
    {
        printf("请稍等\n");
        if(allmoney<money)
        {
            printf("你的余额不足\n");
        }
        else
        {
            printf("你已取出%d元\n",money);
        }
        allmoney=allmoney-money;
        getchar();
        display();
    }

void ye()
{
    printf("你的账户余额是%d元\n",allmoney);
    getchar();
    display();
}

void number()
{
    int d,j;
    printf("请输入新的密码\n");
B:scanf("%d",&d);
  system("cls");
  printf("确认密码\n");
  scanf("%d",&j);
  system("cls);
  if(d!=j)
  {
      printf("错误\n");
      goto B;
  }
  else
  {
      number=j;
  }
  display();
}

void data()
{
    int number,allmoney,;
    printf("请设置初始密码:\n");
    scanf("%d",&number);
    system("cls");
    printf("请设置初始金额:\n");
    scanf("%d",&allmoney);
    system("cls");
    printf("请输入任意键继续\n");
    getchar();
    getchar();
    display();
}

void password(int number)
{
    int i,m=0;
    printf("请输入密码"\n);
    scanf("%d",&i);
    system("cls");
    if(i!=number)
        do
        {
            printf("你输入的密码错误\n");
            m++;
            scanf("%d",&i);
        }
        while(i!=number&&m<2);
        if(m>1)
        {
            display();
        }
}

void main()
{
    datd();
}
搜索更多相关主题的帖子: password display include system number 
2014-08-08 17:06
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:3 
祝楼主好运

总有那身价贱的人给作业贴回复完整的代码
2014-08-08 17:16
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:3 
运行出错 我觉得编译都不过

  system("cls");
  printf("确认密码\n");
  scanf("%d",&j);
  system("cls);
             ^
  if(d!=j)
  {
2014-08-08 17:27
我是菜鸟0号
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2014-8-8
收藏
得分:0 
不知所谓
2014-08-08 17:28
我是菜鸟0号
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2014-8-8
收藏
得分:0 
不过是在文本里保存了一下
2014-08-08 17:31
C_戴忠意
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:575
专家分:1349
注 册:2011-10-21
收藏
得分:3 
我这么和你说吧,你好像没有弄明白全局变量和局部变量的意思,比如说在
程序代码:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>

void display();
void xuanze();
void sys(int a);
void data();
void password(int number);
void qk();
void ye();
void number();

int money,allmoney;


void display()
{
    system("cls");
    printf("=================================\n");
    printf("=========取款机==================\n");
    printf("=================================\n");
    printf("       1:取款\n");
    printf("\n");
    printf("       2:查询余额\n");
    printf("\n");
    printf("       3:修改密码\n");
    printf("\n");
    printf("       4:退卡\n");
    printf("=================================\n");
    xuanze();
}

void xuanze()
{
    int a;
    printf("请输入选择的操作数\n");
    if(a==1||a==2||a==3||a==4)
    {
        sys(a);
    }
    else
    {
        printf("错误的操作数,请按任意键继续'''\n");
        getchar();
        getchar();
        display();
    }
}

void sys(int a)
{
    switch(a)
    {
    case 1:qk();break;
    case 2:ye();break;
    case 3:number();break;
    case 4:exit(0);break;
    }
}

void qk()
{
    printf("请输入你的取款数:\n");
A:scanf("%d",&money);
    if((money<0)||(money>3000)||(money%100!=0))
    {
    printf("错误\n");
    goto A;
    }
    else
    {
        printf("请稍等\n");
        if(allmoney<money)
        {
            printf("你的余额不足\n");
        }
        else
        {
            printf("你已取出%d元\n",money);
        }
        allmoney=allmoney-money;
        getchar();
        display();
    }
}

void ye()
{
    printf("你的账户余额是%d元\n",allmoney);
    getchar();
    display();
}

void number()
{
    int d,j,number;
    printf("请输入新的密码\n");
B:scanf("%d",&d);
  system("cls");
  printf("确认密码\n");
  scanf("%d",&j);
  system("cls");
  if(d!=j)
  {
      printf("错误\n");
      goto B;
  }
  else
  {
      number=j;
  }
  display();
}

void data()
{
  
    printf("请设置初始密码:\n");
    scanf("%d",&number);
    system("cls");
    printf("请设置初始金额:\n");
    scanf("%d",&allmoney);
    system("cls");
    printf("请输入任意键继续\n");
    getchar();
    getchar();
    display();
}

void password(int number)
{
    int i,m=0;
    printf("请输入密码\n");
    scanf("%d",&i);
    system("cls");
    if(i!=number)
        do
        {
            printf("你输入的密码错误\n");
            m++;
            scanf("%d",&i);
        }
        while(i!=number&&m<2);
        if(m>1)
        {
            display();
        }
}

int main()
{
    data();
    return 0;
}
程序任然会崩溃,我只是修改了你的语法错误,自己对比吧!

编程之路定要走完……
2014-08-08 18:02
我是菜鸟0号
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2014-8-8
收藏
得分:0 
谢谢,我才接触编程,想检验一下自己的水平,多谢指导
2014-08-08 18:31
我是菜鸟0号
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2014-8-8
收藏
得分:0 
程序运行不了,请看一下还有没有问题
2014-08-09 06:22
砖家的谎言
Rank: 12Rank: 12Rank: 12
等 级:禁止访问
威 望:30
帖 子:693
专家分:3898
注 册:2013-12-6
收藏
得分:3 
程序尽可能减少使用 goto语句

我不是砖家,要努力成为砖家。
2014-08-09 07:52
宇宙规律
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:232
专家分:128
注 册:2014-5-7
收藏
得分:3 



#include"stdio.h"
#include"string.h"
#include"stdlib.h"
#include"conio.h"
#include"time.h"
#define N 20
#define M 20
#define TRUE 1  
#define FALSE 0  
 #define MIN_INPUT ' '   
#define MAX_INPUT 127 //127即0x7e
struct jilu  
{
    float add;    //存款金额  
    float dra;    //取款金额
    char dname[20];  //识别账号  
    char dnum[20];//识别姓名  
    char ope[20];//经办人姓名  
    char time[128]; //系统当前时间
    float sy;    //剩余金额
 };
    struct depositor  
    {
        char num[20];   //客户账号
        char name[20];   //客户姓名
        char per[20]; //用户身份证号  
        char sec[20];   //用户密码
        float mon;    //存款金额
        char addr[20];  //储户地址
    };
    void menu();  
    int GetPassword(unsigned char* pszPw,int iMaxSize);//使输入的密码显示为*
    int reads(struct depositor dep[N]);//从文件中读入客户信息
    int readsc(struct jilu jl[M]); //从文件读入存款记录
    int readsd(struct jilu jl[M]); //从文件读入取款记录
    void save(struct depositor dep[N],int n);  //保存修改后的客户信息数据
    void add();   //开户函数
    void del();   //销户函数
    void change();  //改密函数
    void show();    //显示余额函数
    void show1();//存款
    void show2();//存款记录
    void show3();//取款
    void show4();//取款记录
    void show5();//清屏函数
    void show6();

void show7(char panduan[20]);
 void main()
 {   
     int n;     
     system("color 1e");   
     while(1)  
     {   
         menu();     
         printf("\n请输入您要选择的操作序号,按回车键确认:");     
         scanf("%d",&n);   
         switch(n)
         {   
         case 1: add();break;        
         case 2: show();break;      
         case 3: del();break;        
         case 4: change();break;         
         case 0: exit(0);   
         case 5: show1();break;   
         case 6: show2();break;     
         case 7: show3();break;   
         case 8: show4();break;     
         case 9: show6();break;         
         default:  printf("\n输入错误,请输入列表中存在的序号!\n ");
             show5();
         }  
     }  
 }  
 void menu()   //菜单函数
 {   
     printf("\n*******************************  银行个人账户管理系统 **************************** ");  
     printf("\n                               1   储户开户");   
     printf("\n                               2   余额查询");   
     printf("\n                               3   储户销户");  
     printf("\n                               4   密码修改");   
     printf("\n                               5   存款");  
     printf("\n                               6   个人存款记录");
     printf("\n                               7   取款");   
     printf("\n                               8   个人取款记录");  
     printf("\n                               0   退出");   
     printf("\n                               9   查询所有客户存款记录");   
     printf("\n\n******************************************************************************** ");
     
 }
 int  
     reads(struct  depositor dep[N]) // 读取储户内容
 {  
     FILE *fp;   
     int i=0;   
     if((fp=fopen("account.txt","r"))==NULL)
     {   
         printf("文件打开失败!\n");      
         show5();      
         return 0;
     }  
     else
     {
         for(i=0;!feof(fp);i++)      
             fscanf(fp,"\n%s %s  %s %s  %f %s\n",dep[i].name,dep[i].num,dep[i].per,dep[i].sec,&dep[i].mon,dep[i].addr);
     }            fclose(fp);   
     return i;
 }  
 int readsc(struct jilu jl[M])  //读取存款记录
 {  
     FILE *fp;  
     int i=0;   
     if((fp=fopen("cun.txt","r"))==NULL)
     {  
         printf("文件打开失败!没有任何存款记录\n");   
         return 0;
     }
     else  
     {
         for(i=0;!feof(fp);i++)     
             fscanf(fp,"\n%s %f %s %s %s %f\n",jl[i].dnum,&jl[i].add,jl[i].dname,jl[i].ope,jl[i].time,&jl[i ].sy);
         fclose(fp);   
         return i;
     }  
 }
 int readsd(struct jilu jl[M])  //读取取款记录
 {   
     FILE *fp;     
     int i=0;     
     if((fp=fopen("qu.txt","r"))==NULL)
     {
         printf("文件打开失败!没有任何取款记录\n");   
         return 0;
     }   
     else
     {
         for(i=0;!feof(fp);i++)  
             fscanf(fp,"\n%s %f %s %s %s %f\n",jl[i].dnum,&jl[i].dra,jl[i].dname,jl[i].ope,jl[i].time,&jl[i].sy);
     }   
     fclose(fp);  
     return i;
 }   
 void save(struct depositor dep[N],int n) // 储户保存后信息
 {  
     FILE *fp;   
     int i=0;   
     if((fp=fopen("account.txt","w"))==NULL)
     {   
         printf("文件打开失败!\n");      
         show5();   
         return;
     }   
     else
     {   
         for(i=0;i<n;i++)
         {   
             fprintf(fp,"\n%s %s %s %s %f %s\n",dep[i].name,dep[i].num,dep[i].per,dep[i].sec,dep[i].mon,dep[i].addr);
         }  
     }   
     fclose(fp);
 }  
 void add()/*储户开户*/
 {   
     FILE *fp;         
     unsigned char pw[99];   
     struct depositor dep;   
     char panduan[20];   
     int iMaxSize=80;
     system("cls");
   if((fp=fopen("account.txt","a"))==NULL)  //如果文件已经存在,可以追加储户信息
   {   
       if((fp=fopen("account.txt","w"))==NULL) // 文件不存在时,创建新文件,输入储户信息  
       {      
           printf("用户不存在!\n");     
       show5();   
       return ;  
       }
   }      
   printf("\n请依次填写储户信息,以回车键作为间隔\n");
   printf("\n账号: ");     
   scanf("%s",dep.name);
   strcpy(panduan,dep.name);  
   show7(panduan);   
   fprintf(fp,"\n%s\n",panduan);     
   printf("\n姓名: " );        
   scanf("%s",dep.num);      
   fprintf(fp,"\n%s\n",dep.num);      
   printf("\n电话:");      
   scanf("%s",dep.per);      
   fprintf(fp,"\n%s\n",dep.per);   
   printf("\n密码:");         
   if( GetPassword(pw,iMaxSize) == TRUE )     
       strcpy(dep.sec,pw);     
   fprintf(fp,"\n%s\n",dep.sec);   
   printf("\n\n请重新输入密码,按回车键确认:");  
   if( GetPassword(pw,iMaxSize) == TRUE )   
       while(strcmp(pw,dep.sec)!=0)  
       {printf("\n\n输入的密码错误,请重新输入:");   
       if( GetPassword(pw,iMaxSize) == TRUE );}   
       printf("\n\n金额:");        
       scanf("%f",&dep.mon);         
       fprintf(fp,"\n%f\n",dep.mon);  
       printf("\n住址:");      
       scanf("%s",dep.addr);      
       fprintf(fp,"\n%s\n",dep.addr);      
       if(dep.mon<10 )      
       {
           printf("\n 储户金额低于十元,不予开户 \n");  
           show5();   
           return;   
       }   
       printf("\n*************************************开 户 成 功 ********************************** ");
      show5();   
      fclose(fp);
 }
 void show() //余额查询
 {  
     unsigned char pw[99];   
     int iMaxSize=80;   
     struct depositor dep[N];
     int i,n;
     char s[20];  
     char t[20];   
         system("cls");   
     n=reads(dep);  
     printf("\n请用户输入账号,密码,用回车隔开,按回车键确认:\n\n");
     scanf("%s",s);  
     if( GetPassword(pw,iMaxSize) == TRUE )
         strcpy(t,pw);     
     for(i=0;i<n;i++)   
         if (strcmp(s,dep[i].name)==0 && strcmp(t,dep[i].sec)==0)
             break;   
         if (i>=n ||strcmp(t,dep[i].sec)!=0)   
         {   
             printf("\n输入错误\n");      
             show5();  
             return ;
         }   
         else     
         {
             printf("\n*********************************储户余额如下 *********************************** ");   
             printf("\n%.2f\n", dep[i].mon);   
             show5();
         }
 }  
 void show1() //存款
 {  
     unsigned char pw[99];   
     int iMaxSize=80;
     FILE *fp;   
     int i,n;
     char s[20];
     char t[20] ;   
         struct depositor dep[N];  
     struct jilu jl;
     system("cls");   
     n=reads(dep);  
     printf("\n请用户输入账号,密码,用回车隔开,按回车键确认:\n\n");
     scanf("%s",s);
 if( GetPassword(pw,iMaxSize) == TRUE )
     strcpy(t,pw);  
 for(i=0;i<n;i++)     
     if (strcmp(s,dep[i].name)==0 &&strcmp(t,dep[i].sec)==0)
         break;     
     if (i>=n ||strcmp(t,dep[i].sec)!=0)  
     {   
         printf("\n 输入错误 \n");  
         show5();
         return ;   
     }   
     else   
     {
         if((fp=fopen("cun.txt","a"))==NULL)  //如果文件已经存在,可以追加储户信息
         {      
             if((fp=fopen("cun.txt","w"))==NULL) // 文件不存在时,创建新文件,输入储户信息  
             {     
                 printf("记录不存在!\n");         
                 show5();        
                 return;  
 }   
 }
         strcpy(jl.dnum,dep[i].num);   
         fprintf(fp,"\n%s\n",jl.dnum);         
         printf("\n请输入存款金额,并按回车键确认:\n\n");      
         scanf("%f",&jl.add);      
         fprintf(fp,"\n%f\n",jl.add);
         strcpy(jl.dname,dep[i].name);
         fprintf(fp,"\n%s\n",jl.dname);   
         printf("\n请输入操作员姓名,并按回车键确认:\n\n");  
         scanf("%s",jl.ope);   
         fprintf(fp," %s",jl.ope);     
         _tzset();      
         _strtime(jl.time);   
         _strdate(jl.time);     
         fprintf(fp,"\n%s\n",jl.time);   
         jl.sy=jl.add+dep[i].mon;  
         fprintf(fp,"\n%f\n",jl.sy);   
         dep[i].mon=dep[i].mon+jl.add;   
         save(dep,n);   
         printf("\n您已成功存款%.f\n",jl.add);
         printf("\n现在总金额为%.f\n",dep[i].mon);   
         show5();      
 }   
     fclose(fp);
 }
void show2() //存款记录
 {  
    unsigned char pw[99];
    int iMaxSize=80;
    FILE *fp;   
    int i,n,z,k,l=1;
    char s[20];  
    char t[20];  
    struct depositor dep[N];  
    struct jilu jl[M];  
    system("cls");  
    z=readsc(jl);   
    n=reads(dep);   
    if((fp=fopen("cun.txt","r"))!=NULL)
    {   
        printf("\n请用户输入账号,密码,用回车隔开,按回车键确认:\n\n");
        scanf("%s",s);   
        if( GetPassword(pw,iMaxSize) == TRUE )  
            strcpy(t,pw);      
        for(i=0;i<n;i++)         
            if (strcmp(s,dep[i].name)==0 &&strcmp(t,dep[i].sec)==0)
                break;   
            if (i>=n||strcmp(t,dep[i].sec)!=0)  
            {     
                printf("\n 输入错误 \n");      
                show5();  
                return ;  
            }        
            else   
                printf("\n存款记录如下:\n\n编号    存款金额    存款时间    剩余金额    操作员\n");   
            for(k=0;k<z;k++)  
            {
                if(strcmp(dep[i].name,jl[k].dname)==0)   
                    printf("\n%-8d%-12.f%-12s%-12.f%s\n",l++,jl[k].add,jl[k].time,jl[k].sy,jl[k].ope);  
            }
            show5();
    }
    else
        show5();
 }  
void show3() //取款
 {  
    unsigned char pw[99];
    int iMaxSize=80;  
    FILE *fp;   
    int i,n;
char s[20];
  char t[20];  
  struct depositor dep[N];
  struct jilu jl;  
  system("cls");   
  n=reads(dep);  
  printf("\n请用户输入账号,密码,用回车隔开,按回车键确认:\n\n");
  scanf("%s",s);  
  if( GetPassword(pw,iMaxSize) == TRUE )
      strcpy(t,pw);   
  for(i=0;i<n;i++)   
      if (strcmp(s,dep[i].name)==0 &&strcmp(t,dep[i].sec)==0)
          break;   
      if (i>=n ||strcmp(t,dep[i].sec)!=0)  
      {  
          printf("\n输入错误 \n");   
          show5();   
          return ;  
      }     
      else   
      {
          if((fp=fopen("qu.txt","a"))==NULL)  //如果文件已经存在,可以追加储户信息
          {   
              if((fp=fopen("qu.txt","w"))==NULL) // 文件不存在时,创建新文件,输入储户信息
              {   
                  printf("记录不存在!\n");     
                  show5();         
                  return  ;  
              }
          }
          strcpy(jl.dnum,dep[i].num);   
          fprintf(fp,"\n%s\n",jl.dnum);
          printf("\n请输入取款金额,并按回车键确认:\n\n");   
          scanf("%f",&jl.dra);
          if(jl.dra<=dep[i].mon)   
          {  
              fprintf(fp,"\n%f",jl.dra);     
              strcpy(jl.dname,dep[i].name);  
              fprintf(fp,"\n%s\n",jl.dname);
              printf("\n请输入操作员姓名,并按回车键确认:\n\n");   
              scanf("%s",jl.ope);     
              fprintf(fp,"\n%s\n",jl.ope);  
              _tzset();        
              _strtime(jl.time);   
              _strdate(jl.time);   
              fprintf(fp,"\n%s\n",jl.time);
   jl.sy=dep[i].mon-jl.dra;      
   fprintf(fp,"\n%f\n",jl.sy);   
   dep[i].mon=dep[i].mon-jl.dra;  
   save(dep,n);     
   printf("\n您已成功取款%.f\n",jl.dra);  
   printf("\n现在总金额为%.f\n",dep[i].mon);   
   show5();   
         }  
          else
          {
              printf("\n取款金额大于剩余金额,取款失败\n");  
              show5();   
          }     
      }
      fclose(fp);
  }
 void show4() //取款记录
 {
     unsigned char pw[99];
     int iMaxSize=80;
     FILE *fp;  
     int i,n,z,k,l=1;  
     char s[20];
     char t[20];  
     struct depositor dep[N];
     struct jilu jl[M];   
     system("cls");  
     z=readsd(jl);   
     n=reads(dep);
     if((fp=fopen("qu.txt","r"))!=NULL)
     {   
         printf("\n请用户输入账号,密码,用回车隔开,按回车键确认:\n\n");   
         scanf("%s",s);      
         if( GetPassword(pw,iMaxSize) == TRUE )   
             strcpy(t,pw);      
         for(i=0;i<n;i++)      
             if (strcmp(s,dep[i].name)==0 &&strcmp(t,dep[i].sec)==0)
                 break;   
             if (i>=n || strcmp(t,dep[i].sec)!=0)   
             {  
                 printf("\n 输入错误 \n");  
                 show5();
                 return ;   
             }        
             else   
             {
                 printf("\n取款记录如下:\n\n编号    取款金额    取款时间    剩余金额 操作员\n");  
                 for(k=0;k<z;k++)   
                     if(strcmp(dep[i].name,jl[k].dname)==0)
                         printf("\n%-8d%-12.f%-12s%-12.f%s\n",l++,jl[k].dra,jl[k].time,jl[k].sy,jl[k].ope);  
                     show5();   
             }
     }   
     else
         show5();
 }
 void del()  //储户信息删除函数
 {  
     unsigned char pw[99];  
     int iMaxSize=80;
     struct depositor dep[N];   
     char number[20];
     char t[20];   
     int n,i,j;   
     system("cls");   
     n=reads(dep);   
     printf("\n请输入要删除储户账号,密码,用回车隔开,按回车键确认:");
     scanf("%s",number);   
     if( GetPassword(pw,iMaxSize) == TRUE )
         strcpy(t,pw);  
     for(i=0;i<n;i++)     
         if(strcmp(number,dep[i].name)==0 && strcmp(t,dep[i].sec)==0)
             break;  
         if(i>=n || strcmp(t,dep[i].sec)!=0)  
         {
             printf("没有找到该储户信息!\n");     
             show5();   
             return;
         }   
         else
         {  
             for(j=i+1;j<n;j++)        
                 dep[j-1]=dep[j];
         }   
         save(dep,n-1);  
         printf("销户成功!\n");   
         show5();
 }        void change()  //储户密码更改
 {
     unsigned char pw[99];
 int iMaxSize=80;
 struct depositor dep[N];  
 int n,i;
 char t[20];
 char number[20];
 system("cls");   
 printf("\n请输入要更改密码的储户账号,密码,用空格隔开,按回车键确认:\n");
 scanf("%s",number);
 if( GetPassword(pw,iMaxSize) == TRUE )
     strcpy(t,pw);  
 n=reads(dep);
 for(i=0;i<n;i++)   
     if(strcmp(number,dep[i].name)==0 &&strcmp(t,dep[i].sec)==0)
         break;  
     if(i>=n ||strcmp(t,dep[i].sec)!=0)
     {   
         printf("无此储户信息!");   
         show5();   
         return;  
     }   
     printf("\n请输入更改后密码,按回车键确认:\n");
     scanf("%s",&dep[i].sec);  
     save(dep,n);   
     printf("\n修改成功\n");  
     show5();
 }
 void show5()//该函数控制清屏
 {   
     int c;  
     printf("\n确认请按1\n\n");
     scanf("%d",&c);   
     if(c==1)  
         system("cls");
 }     /*函数整体功能为使输入的密码在控制台显示为* * 所有功能有此函数实现:   * pszPw : 保存密码的缓冲   * iMaxSize :最大的密码长度,该长度必须小于缓冲区大小。  * 返回值为TRUE为成功获取密码。总是返回TRUE  */
 int GetPassword(unsigned char* pszPw,int iMaxSize)
 {
     unsigned char ch;  
int i=0;
    int bIsEcho=TRUE;
    //while( ! kbhit() && i<iMaxSize )  
    while( ( ch = (unsigned char)getch() ) && i < iMaxSize )
    {  
        //ch = (unsigned char)
        getch();
        bIsEcho=TRUE;  
        if ( ch == 13)
        {
            pszPw[i++]=0;
            break;
        }  
        else if
            ( ch >= MIN_INPUT && ch <= MAX_INPUT) /*所有可打印字符*/
        {
            pszPw[i++]=ch;
        }  
        else if
            ( ch == 8 && i> 0 ) /*退格键*/
        {
            pszPw[i--] = 0;  bIsEcho = FALSE;  putchar( ch );
            putchar( ' ' );
            putchar( ch );
        }
        else   bIsEcho = FALSE;
        if(bIsEcho)  putchar('*');
    }  
    pszPw[i]=0;
    return TRUE;
 }
 void show6()
 {   
     FILE *fp;  
     int n,z,k,l,j;  
     struct depositor dep[N];

 struct jilu jl[M];   
 system("cls");   
 z=readsc(jl);   
 n=reads(dep);   
 if((fp=fopen("cun.txt","r"))!=NULL)
     for(j=0;j<n;j++)   
     {
         l=1;  
         for(k=0;k<z;k++)
             if(strcmp(dep[j].name,jl[k].dname)==0)  
             {
                 printf("\n账号:%s\t\t姓名:%s\n",dep[j].name,dep[j].num);
                 break;  
             }
             printf("\n存款记录如下:\n\n编号    存款金额    存款时间    剩余金额    操 作员\n");
             for(k=0;k<z;k++)   
             {  
                 if(strcmp(dep[j].name,jl[k].dname)==0)  
                     printf("\n%-8d%-12.f%-12s%-12.f%s\n",l++,jl[k].add,jl[k].time,jl[k].sy,jl[k].ope);
             }   
     }      
     show5();
 }   
 void show7(char panduan[20])
     //控制所输入的账号不能和文件中已有的账号一样,若相同则必须重新输入
 {   
     int i=0;
     struct depositor dep[N];
     int n=reads(dep);  
     for(;i<n;i++)  
         while(strcmp(panduan,dep[i].name)==0)
         {printf("\n此账号已存在,请重输:\n\n");
         scanf("%s",panduan);
         i=0;
         }  
 }
2014-08-09 10:57
快速回复:程序运行错误,求详细的解答
数据加载中...
 
   



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

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