文本版|topic 高级搜索
   名人堂 帮助 论坛制度 意见反馈 | 首页 博客 周新贴 专题 求职 读书
RSS 底部
 
社区导航: 专家门诊   网络技术   操作系统   数据库   程序设计   系统应用   考试认证   CIO及信息化   站长交流   综合交流   下载基地  51CTO产品服务 设为首页 | 收藏本站
51CTO技术论坛» C/C++ » C语言达人进       [ 打印]  [ 订阅]  [ 收藏]  [ 推荐给朋友]   [ 本帖文本页]

论坛跳转:
     
标题: C语言达人进  ( 查看:792  回复:8 )   
 
abdabd12345
新新人类  点击可查看详细



帖子 3
精华 0
无忧币 3
积分 21
阅读权限 20
注册日期 2006-12-11
最后登录 2008-6-13 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2007-9-24 18:06   标题:C语言达人进
上一帖 |
#include <stdio.h>
int sum=0;
struct disk
{
        int num;
        char name[20];
        char kind;
        float money;
};
void writeToFile(struct disk b[100])
{
        int i;
        FILE *fp;
        fp=fopen("1.txt","w+");
        fprintf(fp,"光盘编号\t光盘名称\t光盘种类\t光盘价格\n");
        fprintf(fp,"===========================================================\n");
        for(i=0;i<sum;i++);
        fprintf(fp,"%d\t%s\t %c\t%f\n",b[i].num,b[i].name,b[i].kind,b[i].money);
        printf("文件写入成功\n");
        fclose(fp);
}

void add_Disk(struct disk cc[100])
{
    char s;
        int i=0;
        do
        {
                sum++;               
                printf("第%d张光盘\n",sum);            
                printf("光盘编号:");
                scanf("%d",&cc[i].num);
                printf("光盘名称:");
                scanf("%s",&cc[i].name);
                printf("光盘种类:");
                scanf(" %c",&cc[i].kind);
                printf("光盘价格:");
                scanf("%f",&cc[i].money);
                i++;
                printf("是否继续录入?(y/n)");
                scanf(" %c",&s);               
        }while(s=='y');
}
void query_Disk(struct disk a[100])
{
        int j;
        for(j=0;j<sum;j++);
        printf("光盘编号:%d\n光盘名称:%s\n光盘种类:%c\n光盘价格:%f\n",a[j].num,a[j].name,a[j].kind,a[j].money);
}
void main()
{
    struct disk CD[100];
        int x;
                printf("\t\t>>>>>>>>>>>请根据菜单选择功能<<<<<<<<<<<\n");
                printf("\t\t*          1.~~~添加新光盘             *\n");
                printf("\t\t*          2.~~~查询光盘               *\n");
            printf("\t\t*          3.~~~光盘信息写入文件       *\n");
                printf("\t\t*          4.~~~退出程序               *\n");
                printf("\t\t>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<\n");               
                do
                {
                printf("输入功能编号:");
                scanf("%d",&x);
                switch(x)
                {
                case 1:                          
                        add_Disk(CD);
                        break;       
                case 2:
                        query_Disk(CD);
                        break;
                case 3:
                        writeToFile(CD);
                        break;
                case 4:
                        break;
                default:
                        printf("输入错误,请重新输入\n");
                }               
                }while(x!=4);
}
               
       




输出全是乱码!!!!
请高手指点.....



论坛活动:测测你对IT技术大会的了解指数(赠微软礼品、无忧币)
2007-9-24 18:061楼
[ 顶部 ]
 
hagejid
副版主  点击可查看详细


十二生肖之猴   金牛座   行业勋章   技术勋章   诚信兄弟  
帖子 409
精华 0
无忧币 2144
积分 495
阅读权限 140
注册日期 2007-4-3
最后登录 2008-10-13 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2007-9-25 17:20 
此回复于2007-12-03 08:27被 ribut9225 评为最佳答案

纯DOS下出问题的话,就去装个UCDOS
在WINDOWS里的虚拟DOS应该没这个问题,有的话就找找设置就行了
因为程序里边有中文,所以系统要能处理中文字符



C到底该不该学,看看这个就明白
2007-9-25 17:202楼
[ 顶部 ]
 
nanker
新新人类  点击可查看详细



帖子 9
精华 0
无忧币 4
积分 9
阅读权限 20
注册日期 2007-9-25
最后登录 2007-9-25 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2007-9-25 21:57 
1、运行环境需要支持中文;
2、查看支持的中文编码与系统中文编码是否一致
3、如果使用中文,最好使用wchar替换char类型



论坛活动:测测你对IT技术大会的了解指数(赠微软礼品、无忧币)
2007-9-25 21:573楼
[ 顶部 ]
 
ribut9225
主版主  点击可查看详细


开坛元老   内阁大臣   诚信兄弟   主版主专用   巨蟹座  
帖子 3116
精华 1
无忧币 5987
积分 4103
阅读权限 150
来自 (保密)
注册日期 2006-6-22
最后登录 2008-10-13 离线

[查看资料]  [发短消息]  [Blog
  QQ       
发表于:2007-9-26 10:34 
看你的运行环境啦
如果在纯DOS下,需要中文环境
如果在WINDOWS下的命令提示符,因该不是乱码

楼上都说了



用户必读,51CTO积分系统调整通知
2007-9-26 10:344楼
[ 顶部 ]
 
xucan2006
新新人类  点击可查看详细



帖子 89
精华 0
无忧币 34
积分 86
阅读权限 20
注册日期 2007-9-5
最后登录 2008-5-28 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2007-10-21 17:43 
支持



论坛活动:测测你对IT技术大会的了解指数(赠微软礼品、无忧币)
2007-10-21 17:435楼
[ 顶部 ]
 
abdabd12345
新新人类  点击可查看详细



帖子 3
精华 0
无忧币 3
积分 21
阅读权限 20
注册日期 2006-12-11
最后登录 2008-6-13 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2007-11-26 20:05   标题:已解决

可能是c++不大支持C
把cc[i]全换成cc[i+1]就OK了



论坛活动:测测你对IT技术大会的了解指数(赠微软礼品、无忧币)
2007-11-26 20:056楼
[ 顶部 ]
 
lc2526272829
新新人类  点击可查看详细



帖子 15
精华 0
无忧币 0
积分 15
阅读权限 20
注册日期 2007-2-5
最后登录 2007-12-14 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2007-11-26 23:05 
谢谢版主了。实在太感激了



论坛活动:测测你对IT技术大会的了解指数(赠微软礼品、无忧币)
2007-11-26 23:057楼
[ 顶部 ]
 
hncal
新新人类  点击可查看详细



帖子 1
精华 0
无忧币 10
积分 1
阅读权限 20
注册日期 2007-11-28
最后登录 2008-1-25 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2007-11-28 14:34 
应该是在纯DOS下才会有这个问题。装个UCDOS就可以了。



论坛活动:测测你对IT技术大会的了解指数(赠微软礼品、无忧币)
2007-11-28 14:348楼
[ 顶部 ]
 
queniao
副版主  点击可查看详细



十二生肖之虎   天秤座   行业勋章   技术勋章   诚信兄弟  
帖子 618
精华 2
无忧币 2579
积分 1033
阅读权限 140
注册日期 2006-4-2
最后登录 2008-10-9 离线

[查看资料]  [发短消息]  [Blog
[个人主页]    QQ       
发表于:2007-11-30 13:36 


QUOTE:
原帖由 xucan2006 于 2007-10-21 17:43 发表
支持
C 和  C++ 对数值的处理 是一样的啊



论坛活动:测测你对IT技术大会的了解指数(赠微软礼品、无忧币)
2007-11-30 13:369楼
[ 顶部 ]
     
论坛跳转:  

| | |

| | |

| | |

标记已读 · 删除论坛Cookies · 文本版 · WAP
 
| 诚征版主 | 版主堂 | 意见建议 | 大史记 | 论坛地图
Copyright©2005-2008 51CTO.COM  Powered by Discuz!
本论坛言论纯属发布者个人意见,不代表51CTO网站立场!如有疑义,请与管理员联系。
京ICP备05051492号