| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1165 人关注过本帖, 1 人收藏
标题:刚学C语言,问题求解!
只看楼主 加入收藏
我爱敲代码
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:70
专家分:165
注 册:2013-4-23
收藏
得分:1 
回复 5楼 时光不再
按我给你修改的代码,enter键只需敲一下就可以到新界面了啊,你可以试试。
2013-05-11 13:52
时光不再
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
笑傲
Rank: 8Rank: 8
来 自:迪拜
等 级:蝙蝠侠
威 望:5
帖 子:223
专家分:856
注 册:2013-3-9
收藏
得分:1 
谭浩强的书最适合入门了!

练就一身本领,只为笑傲江湖!
2013-05-12 18:45
q215236213
Rank: 4
等 级:业余侠客
威 望:1
帖 子:148
专家分:276
注 册:2012-7-24
收藏
得分:3 
程序代码:
#include 

float Add(float a, float b);
float Sub(float a, float b);
float Mul(float a, float b);
float Div(float a, float b);

int _tmain(int argc, _TCHAR* argv[])
{
    float val1, val2;
    char ch, choose;
    printf("请输入2个数\n");
    do
    {
        printf("请输入第一个数:");
        scanf("%f", &val1);
        getchar();
        printf("请输入运算符号:");
        scanf("%c", &choose);
        getchar();
        printf("请输入第二个数:");
        scanf("%f", &val2);
        getchar();
   
        switch(choose)
        {
        case '+':
            printf("%.2f\n", Add(val1, val2));
            break;
        case '-':
            printf("%.2f\n", Sub(val1, val2));
            break;
        case '*':
            printf("%.2f\n", Mul(val1, val2));
            break;
        case '/':
            printf("%.2f\n", Div(val1, val2));
            break;
        }
        printf("是否继续,继续请按任意键,退出请按N");
        scanf("%c", &ch);
        getchar();
    } while(ch != 'N' && ch != 'n');
    return 0;
}

float Add(float a, float b)
{
    return a + b ;
}

float Sub(float a, float b)
{
    return a - b ;
}

float Mul(float a, float b)
{
    return a * b ;
}

float Div(float a, float b)
{
    if( 0 == b)
    {
        printf("被除数不能为 0\n");
        return -1;
    }
    return a / b ;
}
把计算的操作最好能写成一个函数,以及if 判断语句后面 if( 0 == b)
最好把常量都写在前面,养成好的习惯,以后会受用不尽!
2013-05-12 19:36
猫小喵
Rank: 2
来 自:计算机专业
等 级:论坛游民
帖 子:29
专家分:77
注 册:2013-5-12
收藏
得分:3 
#include<conio.h>
#include <stdio.h>
#include <stdlib.h>

void main()
{
     int choose;  
     float data1,data2;  
     char yes_no;
     yes_no='y';
     do
     {
        //----------------------程序段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" );
             break;
        }
       //--------------------------------------------------------------------------
        printf("是否继续(输入'y'或'Y'继续)?\n");
        scanf("%s",&yes_no);
    }
     while(yes_no=='y'|| yes_no=='Y');
 }


我用dowhile循环,大同小异用while也可以,

做一个爱编程得女生
2013-05-12 21:00
猫小喵
Rank: 2
来 自:计算机专业
等 级:论坛游民
帖 子:29
专家分:77
注 册:2013-5-12
收藏
得分:1 
回复 2楼 hebiaofu
不加也行,scanf(" %c",&yes_no);在%c前面加一个空格就可以,因为scanf是以空格作为结束标志,如果没有空格就会出现无法执行scanf(" %c",&yes_no);这个现象,

做一个爱编程得女生
2013-05-12 21:43
快速回复:刚学C语言,问题求解!
数据加载中...
 
   



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

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