| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 453 人关注过本帖
标题:C语言程序纠正,高分!请大家不令赐教!
只看楼主 加入收藏
ab6326795
Rank: 2
等 级:论坛游民
帖 子:91
专家分:56
注 册:2010-11-8
结帖率:80%
收藏
 问题点数:0 回复次数:5 
C语言程序纠正,高分!请大家不令赐教!
程序代码:

#include <stdio.h>

struct xinxi
{
int id;  //账号

float balance; //余额

};

void init();
struct xinxi s;
void cunqian(float a);
void quqian (float b);
void disp();

void main()
{
float money=0;
void init();
printf("请输入存款金额:\n");
scanf("%f",&money);
cunqian(money);

printf("\n\n请输入取款金额:\n");
scanf("%f",&money);
quqian(money);

disp();   //打印发票


 getch();

}

void init()
{

    s.id = 1021;
    s.balance = 0;
}



void cunqian(float a)
{
    s.balance+=a;

}

void quqian (float b)
{

    s.balance-=b;
}

void disp()
{
    printf("\n\n*************************************");
    printf("\n卡号:%d",s.id);    //为什么我输出的卡号始终为0?没道理啊,希望各位兄弟姐妹帮忙修正指教下,非常感谢!
        printf("\t余额:%f",s.balance);
        printf("\n\n\n服务员:马化腾\t工号:1000");
    printf("\n*************************************\n");

}
为什么我输出的卡号始终为0?没道理啊,希望各位兄弟姐妹帮忙修正指教下,非常感谢!
搜索更多相关主题的帖子: C语言 
2011-05-17 23:06
ab6326795
Rank: 2
等 级:论坛游民
帖 子:91
专家分:56
注 册:2010-11-8
收藏
得分:0 
谁来啊,指点下啊!!!!!!!
2011-05-27 09:28
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
函数需要返回结构给调用者。

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-05-27 09:35
ab6326795
Rank: 2
等 级:论坛游民
帖 子:91
专家分:56
注 册:2010-11-8
收藏
得分:0 
哈哈,我已经知道了

因为我定义了init();函数但没执行,所以工号始终为0,修改后代码为:
程序代码:
#include <stdio.h>

struct xinxi
{
int id;  //账号

float balance; //余额

};

void init();
struct xinxi s;
void cunqian(float a);
void quqian (float b);
void disp();

void main()
{
float money=0;
void init();
init();
printf("请输入存款金额:\n");
scanf("%f",&money);
cunqian(money);

printf("\n\n请输入取款金额:\n");
scanf("%f",&money);
quqian(money);

disp();   //打印发票

getch();

}

void init()
{

    s.id = 1021;
    s.balance = 0;
}



void cunqian(float a)
{
    s.balance+=a;

}

void quqian (float b)
{

    s.balance-=b;
}

void disp()
{
    printf("\n\n*************************************");
    printf("\n卡号:%d",s.id);    //为什么我输出的卡号始终为0?没道理啊,希望各位兄弟姐妹帮忙修正指教下,非常感谢!
        printf("\t余额:%f",s.balance);
        printf("\n\n\n服务员:马化腾\t工号:1000");
    printf("\n*************************************\n");

}


2011-05-27 09:41
zaixuexi
Rank: 12Rank: 12Rank: 12
来 自:上海
等 级:火箭侠
威 望:8
帖 子:858
专家分:3233
注 册:2010-12-1
收藏
得分:0 
这也TM好算程序

技术问题,请不要以短消息方式提问
2011-05-27 09:46
ab6326795
Rank: 2
等 级:论坛游民
帖 子:91
专家分:56
注 册:2010-11-8
收藏
得分:0 
再次修改后代码如下,修正了欠费取款
程序代码:
#include <stdio.h>

struct xinxi
{
int id;  //账号

float balance; //余额

};


struct xinxi s;
void cunqian(float a);
void quqian (float b);
void disp();

void main()
{
float money=0;
void init();
init();
printf("请输入存款金额:\n");
scanf("%f",&money);
cunqian(money);

printf("\n\n请输入取款金额:\n");
scanf("%f",&money);
quqian(money);

disp();   //打印发票

getch();

}

void init()
{

    s.id = 1021;
    s.balance = 0;
}



void cunqian(float a)
{
    s.balance+=a;

}

void quqian (float b)
{

    s.balance-=b;
}

void disp()
{
    if(s.balance<0)
    {
    printf("\n\n你卡上余额已不足,请及时到ab6326795那充值^_^!\n");
    }
    else
    {
    printf("\n\n*************************************");
    printf("\n卡号:%d",s.id);    //为什么我输出的卡号始终为0?没道理啊,希望各位兄弟姐妹帮忙修正指教下,非常感谢!
        printf("\t余额:%f",s.balance);
        printf("\n\n\n服务员:马化腾\t工号:1000");
    printf("\n*************************************\n");
    }
}

2011-05-27 09:49
快速回复:C语言程序纠正,高分!请大家不令赐教!
数据加载中...
 
   



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

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