| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 461 人关注过本帖
标题:求指点“登陆函数”找错误
只看楼主 加入收藏
莫罹
Rank: 1
等 级:新手上路
帖 子:4
专家分:1
注 册:2014-5-5
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
求指点“登陆函数”找错误
#include<stdio.h>
#include<string.h>
int login(char *name,char *ps){
  if strcmp(name,"clover")--0 && strcmp(ps,"123456")--0{
       return(1);
    }
     else return(0);
}
void sort(int *a,int n){
    int i,j,k,t;
    for(i=0;i<n-1;i++){
        if(*(a+k))*(a+j))   k=j;
    }
    t=*(a+k);
    *(a+k)=*(a+i);
    a[i]=t;
}
printf("排序完成! \n");
}
void menu(){
    printf("********************\n");
    printf("*   1---输入数据   *\n");
    printf("*   2---输出数据   *\n");
    printf("*   3---排序数据   *\n");
    printf("*   4---查询数据   *\n");
    printf("*   0---退      *\n");
    printf("********************\n");
}
void input(int *a,int n){
    int i;
    printf("输出%d个数:");
    for(i=0;i<n;i++){
        scanf("%d",a++);}
}
void output(int *a,int n){
    int i;
    for(i=0;i<n;i++){
        printf("%5d",*a++);}
    printf("\n");
}main(){
    int a,num[10];
    char name[10],ps[10];
    printf("输入用户名");
    gets(name);
    pritnf("输入密码");
    gets(ps);
    if(lagin(name,ps)--1){
        while(1){
        menu();
        printf("输入您的选择:");
        scanf("%d",&n);
        switch(n){
        case 1:input(num,10);
            break;
        case 2:output(num,10);
            break;
        case 3:sort(num,10);
            break;
        case 0:exlt(0);
        default:printf("输入错误! \n");

        }
        }
    }
    else printf("登陆失败! \n");
}
搜索更多相关主题的帖子: include return 
2014-05-17 22:44
rmbking
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:36
专家分:157
注 册:2014-3-19
收藏
得分:10 
好多不明所以的地方,小错误不少,你至少加上函数说明吧。。。。比如sort函数是排序么,写的完全不对啊。。。
2014-05-17 22:54
rmbking
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:36
专家分:157
注 册:2014-3-19
收藏
得分:0 
算了,给你改了个看看吧,不知道和你的要求一样不
#include<stdio.h>
#include<string.h>
int login(char *name,char *ps){
  if (strcmp(name,"clover")==0 && strcmp(ps,"123456")==0){
       return(1);
    }
     else return(0);
}

void sort(int *a,int n)//n为数组a的元素个数
{
int i,j,temp;
for(j=0;j<n-1;j++){
    for(i=0;i<n-1-j;i++)
    {
        if(a[i]>a[i+1])//数组元素大小按升序排列
        {
            temp=a[i];
            a[i]=a[i+1];
            a[i+1]=temp;
        }
    }
}
printf("排序完成! \n");
}
void menu(){
    printf("********************\n");
    printf("*   1---输入数据   *\n");
    printf("*   2---输出数据   *\n");
    printf("*   3---排序数据   *\n");
    printf("*   4---查询数据   *\n");
    printf("*   0---退      *\n");
    printf("********************\n");
}
void input(int *a,int n){
    int i;
    printf("输出%d个数:\n",n);
    for(i=0;i<n;i++)
        scanf(" %d",a++);
}
void output(int *a,int n){
    int i;
    for(i=0;i<n;i++){
        printf("%5d",*a++);
        }
    printf("\n");
}
void search(int *a,int pos){
    if(pos<9)
        printf("第%d个数为:%d\n",pos,a[pos-1]);
}
void main(){
    int a,n,pos,num[10];
    char name[10],ps[10];
    printf("输入用户名:\n");
    gets(name);
    printf("输入密码:\n");
    gets(ps);
    if(login(name,ps)==1){
        while(1){
        menu();
        printf("输入您的选择:\n");
        scanf("%d",&n);
        switch(n){
        case 1:input(num,10);
            break;
        case 2:output(num,10);
            break;
        case 3:sort(num,10);
            break;
        case 4:printf("输入您想查询的数的位置(从1开始):\n");
                scanf(" %d",&pos);
                search(num,pos);
                break;
        case 0:exit(0);
        default:printf("输入错误! \n");

        }
        }
    }
    else printf("登陆失败! \n");
}
2014-05-17 23:48
莫罹
Rank: 1
等 级:新手上路
帖 子:4
专家分:1
注 册:2014-5-5
收藏
得分:0 
回复 3 楼 rmbking
谢谢,十分感谢
2014-05-19 19:58
莫罹
Rank: 1
等 级:新手上路
帖 子:4
专家分:1
注 册:2014-5-5
收藏
得分:0 
回复 3 楼 rmbking
十分有用,就是想要的
2014-05-19 20:01
rmbking
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:36
专家分:157
注 册:2014-3-19
收藏
得分:0 
回复 5 楼 莫罹
2014-05-20 22:02
忘了_这一切
Rank: 3Rank: 3
来 自:星星
等 级:论坛游侠
威 望:1
帖 子:41
专家分:145
注 册:2014-4-25
收藏
得分:10 
要是能更改密码就更完美了
2014-05-20 23:48
忘了_这一切
Rank: 3Rank: 3
来 自:星星
等 级:论坛游侠
威 望:1
帖 子:41
专家分:145
注 册:2014-4-25
收藏
得分:0 
程序代码:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include"choice.h"
void build_new()
{
    mima *passbook1;
    passbook1=(mima*)malloc(sizeof(mima));
    size_t length1,length2;
    FILE *fp_1;
    printf("请输入新的用户名和密码\n");
    printf("用户名:");
    gets(passbook1->user_name);
    printf("密码:");
    gets(passbook1->password);
    fp_1=fopen("load_pass.txt","wb");
    length1=strlen(passbook1->user_name);
    length2=strlen(passbook1->password);
    if(fwrite(&length1,sizeof(size_t),1,fp_1)!=1)
           printf("写入文件错误!\n");
    else
    {
           printf("写入文件成功1!\n");
           printf("length1=%d\n",length1);
           fwrite(passbook1->user_name,sizeof(char),length1,fp_1);
    }
    if(fwrite(&length2,sizeof(size_t),1,fp_1)!=1)        
           printf("写入文件错误!\n");
    else
    {
            printf("写入文件成功2!\n");
            printf("length2=%d\n",length2);
            fwrite(passbook1->password,sizeof(char),length2,fp_1);
    }
    fclose(fp_1);
    load_user();      
}

int load_user()
{
    mima   *passbook1,*passbook2;
    passbook2=(mima*)malloc(sizeof(mima));
    passbook1=(mima*)malloc(sizeof(mima));
    size_t length1,length2;
    FILE *fp_2;
    printf("请输入用户名和密码\n");
    printf("用户名:");
    gets(passbook1->user_name);
    printf("密码:");
    gets(passbook1->password);
    if((fp_2=fopen("load_pass.txt","rb"))!=NULL)
        {
                if(fread(&length1,sizeof(size_t),1,fp_2)!=1)        
                  printf("读入文件错误!\n");
                else
                {
                  fread(passbook2->user_name,sizeof(char),length1,fp_2);
                  passbook2->user_name[length1]='\0';
                  printf("已经得到用户名\n");
                  /*for(int i=0;i<length2;i++)
                  printf("%c",passbook2->user_name[i]);
                  printf("\n");*/
                  fflush(stdout);
                }
                if(fread(&length2,sizeof(size_t),1,fp_2)!=1)        
                  printf("读入文件错误!\n");
                else
                {
                  fread(passbook2->password,sizeof(char),length2,fp_2);
                  passbook2->password[length2]='\0';
                  printf("已经得到密码:");
                  /*for(int i=0;i<length2;i++)
                  printf("%c",passbook2->password[i]);
                  printf("\n");*/
                  fflush(stdout);
                }
        }
    if(!strcmp(passbook2->user_name,passbook1->user_name)&&!strcmp(passbook2->password,passbook1->password))
        {
            free(passbook2);
            free(passbook1);
             printf("恭喜你登录成功!\n");
            fclose(fp_2);
            return 1;
        }
    else
        {
            free(passbook2);
            free(passbook1);
            printf("非常抱歉,失败了!\n");
            fclose(fp_2);
            return 0;
        }
}

程序代码:
#include<stdio.h>
#include<string.h>
#include"choice.h"
int main()
{   char c;
    
    printf("你是新用户?Y or N\n");
    scanf("%c",&c);
    getchar();
    while(1)
    {
        switch(c)
        {
       case 'y':
       case 'Y':build_new();return 0;
       case 'n':
       case 'N':load_user();break;
       default:printf("错误,请重新输入!\n");
               continue;
        }
    }
}

自己写的,貌似还不是很完美
2014-05-20 23:51
快速回复:求指点“登陆函数”找错误
数据加载中...
 
   



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

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