| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 507 人关注过本帖
标题:帮我看看这个程序哪里出了错~~~
取消只看楼主 加入收藏
guo5520
Rank: 1
等 级:新手上路
帖 子:11
专家分:1
注 册:2010-3-2
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
帮我看看这个程序哪里出了错~~~
本人刚学习c语言,编了一个程序,结果是程序可以运行,但是void fun(void)不能达到想要的结果~~各位帮我看看,哪里出了错!!



#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int secret(void);
void fun(void);
int main(void)
{
   
    if(secret()==1)
        fun();
   
   
 
    return 0;
}


int secret(void)
{
    int result,f,key;
    char name[10];

    printf("请输入用户名:");
    scanf("%s",name);
    f=strcmp(name,"guo5520");
    if(f==0)
    {
        printf("请输入密码:");
        scanf("%d",&key);
        if(123==key){
            printf("欢迎使用本程序!\n............%s",name);
            result=1;
        }
        else
        {
            printf("密码错误!\n\n");
            result=0;
        }
    }

    else{
        printf("用户名错误!");
        result=0;
    }

    return result;
}


void fun(void)
{
   
    FILE * fp;
    int i,n=0;
    char ch,ch1;
   
    printf("    欢迎使用日志程序!\n\n");
    printf("请在这里输入:");


     fp=fopen("f1.txt","w+");
   
   

    while(ch!='\n'){
        ch=getchar();
        fputc(ch,fp);
        n++;
    }


    printf("%d\n",n);
    if(fclose(fp)){
        printf("关闭失败!!\n");
        exit(0);
    }
    if((fp=fopen("f1.txt","r"))==NULL){
        printf("打开失败!\n");
        exit(0);
    }
    for(i=0;i<n;i++){
        ch=fgetc(fp);
        putchar(ch);
    }
    if(fclose(fp)){
        printf("关闭失败!!\n");
        exit(0);
    }

   
    printf("请输入任何字符结束本程序:");

    ch1=getchar();

    return;
}

就是在“请在这里输入:”,出了问题,后面不是我输入的,程序直接跳到了“请输入任何字符结束本程序”

 
图片附件: 游客没有浏览图片的权限,请 登录注册


[ 本帖最后由 guo5520 于 2010-3-31 22:18 编辑 ]
2010-03-31 22:16
guo5520
Rank: 1
等 级:新手上路
帖 子:11
专家分:1
注 册:2010-3-2
收藏
得分:0 
你说的这个也是我程序的一个错误的地方,,可是我改过来之后,结果由“1,变成“0”了,依然还是不能由自己输入啊!!

哎,,,

我看了好多遍了,,还是不知道哪有问题!!!
2010-04-01 19:03
guo5520
Rank: 1
等 级:新手上路
帖 子:11
专家分:1
注 册:2010-3-2
收藏
得分:0 
不是啊,,我把这个模块单独做成一个程序的时候,这是可以的啊!!!
到底怎么回事啊!!!
2010-04-01 22:57
guo5520
Rank: 1
等 级:新手上路
帖 子:11
专家分:1
注 册:2010-3-2
收藏
得分:0 
我刚刚看了你们的,然后我自己又调试了一下,楼上的写的(我小试了一下,一些部分有问题)给了我提示现在改为如下:
void fun(void)
{
   
    FILE * fp;
    int i,n=0;
    char ch1;
    int ch;
   
    printf("    欢迎使用日志程序!\n\n");
    fp=fopen("f1.txt","w+");
    printf("请在这里输入:");
   
    do
    {
        ch=getchar();
        fputc(ch,fp);
        n++;
    }while(ch!='0');

    fclose(fp);
    fflush(stdin);

    printf("一共输入了%d个数据!\n",n);

    fp=fopen("f1.txt","r");
  
    while(!feof(fp)){
        putchar(ch);
        ch=fgetc(fp);
    }
   
    printf("请输入任何字符结束本程序:");
    ch1=getchar();
    return;
}


基本上达到了我要的功能,不过我现在不知道改用什么符号结束了,,程序里我占时用了一个0,,只是真正用的时候不能用0,各位给点意见撒!
2010-04-02 19:40
guo5520
Rank: 1
等 级:新手上路
帖 子:11
专家分:1
注 册:2010-3-2
收藏
得分:0 
各位朋友,谢了!!!
2010-04-03 21:57
快速回复:帮我看看这个程序哪里出了错~~~
数据加载中...
 
   



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

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014708 second(s), 9 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved