c语言简易计算器小白问题

问题描述

c语言简易计算器小白问题

#include
float fun1(float a,float b)
{
float c;
c=a+b;
return c;
}
float fun2(float a,float b)
{
float c;
c=a-b;
return c;
}
float fun3(float a,float b)
{
float c;
c=a*b;
return c;
}
float fun4(float a,float b)
{
float c;
c=a/b;
return c;
}
int main()
{
int d;
float a,b;
printf("tt|--------------------|n");
printf("tt| 简易计算器 |n");
printf("tt|--------------------|n");
printf("tt| 1-加法 |n");
printf("tt| 2-减法 |n");
printf("tt| 3-乘法 |n");
printf("tt| 4-除法 |n");
printf("tt| 0-退出 |n");
printf("tt|--------------------|n");
printf("选择需要的计算:n");
scanf("%d",&d);
while(d<=5&&d>0)
{
printf("输入两个数字:n");
scanf("%f,%f"&a,&b);
switch(d)
{
case 1:
printf("%.2f",fun1(a,b));
break;
case 2:
printf("%.2f",fun2(a,b));
break;
case 3:
printf("%.2f",fun3(a,b));
break;
case 4:
printf("%.2f",fun4(a,b));
break;
case 0:
printf("谢谢使用~~");
break;
}
}
printf("n谢谢使用~~");
return 0;
}

显示输入那个位置有问题。新手求指导。我自己感觉结构有问题

解决方案

你是想实现循环运算还是一次运算就结束?
1.如果一次运算就结束的话:把主函数里的While 改成用if判断! 并且在每个scanf()函数后面各加一个 getchar();
2.如果是循环运算的话 把选择运算符号的事情放到while里面 while的条件写成1 就ok 然后 用if判断输入的d是否是1 。2。3。4,同样 scanf()后面跟上getchar();

getchar()会把你每次输入完按的那个enter键给接受掉!

解决方案二:

用tab而不是空格对齐
printf("tt|t1-加法t|n");
这样

解决方案三:

程序有些可以改进的地方,顺便说下,完全没必要1 2 3 4,直接让用户输入+ - * / 用switch判断下就可以了。
float fun1(float a,float b)
{
float c;
c=a+b;
return c;
}
直接写
float fun1(float a,float b)
{
return a + b;
}

解决方案四:

while(d<=5&&d>0)

{

printf("输入两个数字:n");

scanf("%f,%f"&a,&b); //这一句少了一个逗号:scanf("%f,%f",&a,&b);

switch(d)
....
....

}

其次,运行的时候,输入的两个数要用逗号隔开,因为你scanf括号里的形式的:%f,%f而不是%f%f

解决方案五:

这样的计算器对于小白来说,挺好的,练练常用的语句和自定义函数,坚持学习,然后改进。

解决方案六:

嗯嗯,加油。。。。。。。。。。。。。。。。

解决方案七:

为使用方便,建议这样:
int main()
{
char buf[LEN] = {0};
while(buf[0] != 'q')
{
printf("请输入:");
scanf("%s",buf); //一次输入“a + b”类似这样的值
//按个查找buf数组,找到"+-*/"就截断,如使用atof函数实现,把前面的转换成数值赋给a,后面的转换成数值赋给b,运算符号也保存起来
//然后
switch()
{
case '+':printf("......%fn",fun1(a,b));break;
case '-':printf("......%fn",fun2(a,b));break;
//....
}
}
return 0;
}

时间: 2024-08-03 07:29:59

c语言简易计算器小白问题的相关文章

c语言 简易加减计算器

问题描述 c语言 简易加减计算器 设计一个能计算加减法的简单计算器 从键盘输入数字和运算符 输入等于号时结束计算并输出结果 输出例如下 $ ./a.out 10 + 15 - 5 = 20 下面是我自己编的 #include<stdio.h> #include<stdlib.h> #include<string.h> int main(void) { char num1[80],num2[80]; char a; int j,k,s=0; gets(num1); j=a

语言-用C51编写单片机程序实现10以内的加减乘除的简易计算器

问题描述 用C51编写单片机程序实现10以内的加减乘除的简易计算器 5C 运行80C51单片机C51语言编写程序,在51实验小系统上实现"十以内的简易计算器",即:定义51实验小系统上的按键分别为0-9数字键.'+'."-""*""/"'='.退格等功能键:识别相关按键,按照十以内加法的正确逻辑在数码管上显示按键对应的信息,并完成加法运算,在数码管上显示加法结果.实验内容两个层次--层次一:加法的结果在十以内:层次二:两个加数

基于HTML+CSS,jQuery编写的简易计算器后续(添加了键盘监听)_jquery

之前发布了一款简易的计算器,今天做了一下修改,添加了键盘监听事件,不用再用鼠标点点点啦 JS代码: var yunSuan = 0;// 运算符号,0-无运算;1-加法;2-减法;3-乘法;4-除法 var change = 0;// 属于运算符后需要清空上一数值 var num1 = 0;// 运算第一个数据 var num2 = 0;// 运算第二个数据 var cunChuValue = 0;// 存储的数值 $(function() { $(".number").click(f

Java简易计算器程序设计_java

编写一个模拟计算器的应用程序,使用面板和网格布局, 添加一个文本框,10个数字按钮(0~9),4个加减乘除按钮, 一个等号按钮,一个清除按钮,一个求平方根按钮,一个退格按钮, 要求将计算公式和结果显示在文本框中,实现效果如下图所示. Java简易计算器代码: import javax.swing.*; import javax.swing.JTextField; import java.awt.*; import java.awt.event.*; import java.lang.*; imp

界面-java 简易计算器,最后得数不能出现,求大神帮忙

问题描述 java 简易计算器,最后得数不能出现,求大神帮忙 (1)编写一个简易计算器程序,其界面如下图所示: (2)当按下"+"按钮时,两个数值文本框之间应显示"+"号,同时相加结果显示在第三个文本框内(如下图所示).类似处理"-"."*"和"/"按钮. 现在第二步能够出现加号 就是不能正确运算.如下代码,注释的地方为什么不能运行,该怎么做才能做到当按下加的按钮b1时,同时出现加号和得数?这里的tf和tf

java代码-我用java写了一个简易计算器的程序,但是有时候结果不正确

问题描述 我用java写了一个简易计算器的程序,但是有时候结果不正确 就是有时候计算结果后面会显示很多9或者0 ,比如计算8.3-2.1时,请问大神怎么解决啊? 我是菜菜鸟,程序如下: //Calculator.java import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Calculator extends JFrame { private JPanel p1=new JPanel();

c++-C语言编译器的小白问题

问题描述 C语言编译器的小白问题 我是一名C++初学者,学习C++时用visual Studio2010编写代码.最近在听网课的时候有提交作业需要在网页上选择C语言编辑器的,有gcc,g++什么的,请问大神C语言编译器是什么?为什么会有C语言编译器?一般该怎么选择?使用C/C++编程. 解决方案 c语言编译器就是将源代码编译成可执行文件的一种工具 gcc 是编译c语言文件代码 g++是编译C++语言代码文件 vs是将编辑编译等工具集成在一起,叫做集成开发环境IDE 选择的话,全看个人喜爱了,只要

android-小菜Android初次做简易计算器,不知道问题出在哪里?

问题描述 小菜Android初次做简易计算器,不知道问题出在哪里? del和c按钮 点起来没有反应,但是就是找不出问题在哪~~求指点~~ 代码如下: package com.example.calculaterdemo; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.w

flex-bison简易计算器 新手问题

问题描述 bison简易计算器 新手问题 最近看了flex bison,然后这个计算器结果一直是0,为什么. 这是1.l: %{ # include "2.tab.h" %} %% "+" { return ADD; } "-" { return SUB; } "*" { return MUL; } "/" { return DIV; } "|" { return ABS; } [0-9