| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1165 人关注过本帖, 1 人收藏
标题:刚学C语言,问题求解!
取消只看楼主 加入收藏
时光不再
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2013-5-5
结帖率:50%
收藏(1)
已结贴  问题点数:20 回复次数:5 
刚学C语言,问题求解!
#include<stdio.h>
#include<stdlib.h>
我没事喜欢自学一下C语言,前不久写完这个简易计算器程序运行后发现,输入y(或Y)并不能实现计算器的循环,而是在屏幕上显示y字符,按回车直接退出了!看了好久,可能是知识还不够,没能找出原因,请各位大神帮忙指正下,谢谢。下面是程序:

#include<conio.h>
main()
{
    int choose;  
    float data1,data2;  
    char yes_no;
    yes_no='y';
    while(yes_no=='y'||yes_no=='Y')
    {
   //----------------------程序段A--------------------------------------------------------
    system("cls");
    printf("\n\n");
    printf("\t\t********************************************\n");
    printf("\t\t*              简易计算器                  *\n");
    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*           0——退出                      *\n");
    printf("\t\t********************************************\n");
    printf(" 请选择运算类型(0--4):");
    scanf("%d",&choose);
    //-----------------------程序段B---------------------------------------------------
    if(choose>=1&&choose<=4)
    {
        printf("请输入两个运算数(两数之间用空格隔开):");
        scanf("%f%f",&data1,&data2);
        printf("运算结果为:\n");
    }
    //----------------------程序段C----------------------------------------------------
    switch(choose)
    {
    case 1: printf("%f+%f=%.2f\n",data1,data2,data1+data2);break;
    case 2:    printf("%f-%f=%.2f\n",data1,data2,data1-data2);break;
    case 3: printf("%f*%f=%.2f\n",data1,data2,data1*data2);break;
    case 4:
   
        if(data2==0)
        printf("\t\t  除数不能为零!");
        else
        printf("%f/%f=%.2f\n",data1,data2,data1/data2);break;
    case 0: exit(0);
    default: printf("\t\t  输入选项错误!\n" );
   }
  //--------------------------------------------------------------------------
   printf("是否继续(输入'y'或'Y'继续)?\n");
   scanf("%c",&yes_no);
}
}
搜索更多相关主题的帖子: include C语言 知识 
2013-05-10 14:00
时光不再
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2013-5-5
收藏
得分:0 
回复 4楼 我爱敲代码
想再请教一下您,输入Y的时候 我得在键盘上连敲ENTER键三下,能不能减少次数啊  比如输入Y后敲一次就循环到新界面了  求赐教
2013-05-10 18:57
时光不再
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2013-5-5
收藏
得分:0 
回复 2楼 hebiaofu
我不是很能理解这样改的原因,求解释一下 谢谢
2013-05-10 18:58
时光不再
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2013-5-5
收藏
得分:0 
回复 9楼 雨中人X
看了您改写的程序,我运行了下,计算机显示报错:fatal error C1010: unexpected end of file while looking for precompiled header directive  请教一下怎么回事?
2013-05-12 17:39
时光不再
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2013-5-5
收藏
得分:0 
回复 7楼 笑傲
试了下,确实可以了  我对getchar()的功能还不是很熟悉  继续学习中、、、  谢谢啊
2013-05-12 17:43
时光不再
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2013-5-5
收藏
得分:0 
回复 8楼 松花江的冰
恩恩  我现在才刚开始学 ,用的是学校的书,平时就看这个基础入门还有图书馆的资料 您说那个谭浩强的资料,以我现在刚入门的水平支持看吗?
2013-05-12 17:46
快速回复:刚学C语言,问题求解!
数据加载中...
 
   



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

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