| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 731 人关注过本帖, 1 人收藏
标题:新编的计算器程序,大家帮忙改进下!~
只看楼主 加入收藏
qq413785523
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-6-17
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:7 
新编的计算器程序,大家帮忙改进下!~
程序代码:
#include<stdio.h>
void chufa();//除法函数声明
void chengfa();//乘法函数声明
void jiafa();//加法函数声明
void jianfa();//减法函数声明
void qiuyu();//求余函数声明
void leijia();//累加函数声明
void jiecheng();//阶乘函数声明
void mima();//密码函数声明
void zhujiemian();//主界面函数声明
void tuichu();

int main()
{
     mima();//调用密码函数
     zhujiemian();//调用主页面函数
   return 0;
}
void zhujiemian()//主界面函数f
{
    printf("*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*\n");
    printf("*             1.加法            *\n");
    printf("*             2.减法            *\n");
    printf("*             3.除法            *\n");
    printf("*             4.乘法            *\n");
    printf("*             5.求余            *\n");
    printf("*             6.阶乘            *\n");
    printf("*             7.累加            *\n");
    printf("*             0.退出            *\n");
    printf("*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*\n");
    printf("*              XXX              *\n");
    printf("*            xxxxxx班           *\n");
    printf("*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*\n");
    int i;
    printf("请输入您的选择\n");
    scanf ("%d",&i);
    switch (i)
    {
        case 1:jiafa   ();break ;
        case 2:jianfa  ();break ;
        case 3:chufa   ();break ;
        case 4:chengfa ();break ;
        case 5:qiuyu   ();break ;
        case 6:chengjie();break ;
        case 7:leijia  ();break ;
        case 0:tuichu  ();break ;
        default:printf("您的输入错误,请按任意键返回主页面

!\n");getch();zhujiemian();break ;


    }

}
void mima ()//密码函数
{

    int mima;

 loop:printf ("请输入密码:");
       scanf ("%d",&mima);
    if( mima == 123 )

        printf ("密码正确,欢迎使用本系统!\n");
        else
    {
        printf ("密码错误,请从新输入密码!\n");
        goto loop;
    }

}
void jiafa()//加法函数
{
    int a , b ,c;
    printf("您选择的是1.加法!\n");
    printf("请输入两个数\n");
    scanf("%d%d",&a,&b);
    c=a + b;
printf("%d+%d=%d\n",a,b,c);
zhujiemian();
}
void jianfa()//减法函数
{

int a , b ,c;
    printf("您选择的是2.减法!\n");
    printf("请输入两个数\n");
    scanf("%d%d",&a,&b);
    c=a - b;
printf("%d-%d=%d\n",a,b,c);
zhujiemian();
}
void chengfa()//乘法函数
{
    int a , b ,c;
    printf("您选择的是3.乘法!\n");
    printf("您选择的是乘法\n");
    printf("请输入两个数\n");
    scanf("%d%d",&a,&b);
    c=a * b;
printf("%d*%d=%d\n",a,b,c);
zhujiemian();
}
void chufa ()//除法函数
{
int a , b ;
    float c;
    printf("您选择的是4.除法!\n");
    printf("请输入两个数\n");
    scanf("%d%d",&a,&b);
    c=(float)a/(float)b;
printf("%d/%d=%5.2f\n",a,b,c);
zhujiemian();
}
void qiuyu ()//求余函数
{
    int a , b ,c;
    printf("您选择的是5.求余\n");
    printf("请输入两个数\n");
    scanf("%d%d",&a,&b);
    c=a % b;
printf("%d %% %d=%d\n",a,b,c);
zhujiemian();
}
void leijia()
{
   int i , b ,c;
   int  sum=0 ;
   printf("请输入您要累加的整数个数:\n");
   scanf("%d",&i);
   for(b=1;b<=i;b++)
{
    printf("输入一个整数:");
    scanf("%d",&c);
    sum=sum+c;
}
printf("一共有%d个数相加,最后的结果是%d\n",i,sum);
zhujiemian();
}
void tuichu ()
{
    printf ("谢谢使用!");
}

void chengjie()
{
int a,b;
int c=1 ;

printf("请输入一个数:");
scanf("%d",&a);
for(b=a;b>=1;b--)
    {
        c=c*a;
        a=a-1;
    }
    printf("%d",c);
    zhujiemian();
}


[ 本帖最后由 qq413785523 于 2011-10-19 20:57 编辑 ]
搜索更多相关主题的帖子: 计算器 
2011-10-19 20:53
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:1 
你的计算器能计算 123456789 * 123456789吗

                                         
===========深入<----------------->浅出============
2011-10-19 21:00
星辰雁
Rank: 4
等 级:业余侠客
威 望:1
帖 子:93
专家分:275
注 册:2011-9-10
收藏
得分:0 
回复 2楼 laoyang103
那怎样让计算范围扩大?

不要认为CPU运算速度快就 把所有的问题都推给它去做,程序员应该将代码优化再优化,我们自己能做的决不要让CPU做 ,因为CPU是为用户服务的,不是为我们程序员服务的!
2011-10-19 22:51
暴风雪282
Rank: 4
等 级:业余侠客
帖 子:61
专家分:295
注 册:2011-10-4
收藏
得分:4 
乘法选择数据类型为long double.

Dance like there is nobody.
2011-10-19 23:02
laznrbfe
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:482
专家分:1599
注 册:2011-5-22
收藏
得分:5 
我们老师说能不用goto尽量不要用!!!(我们老师有跟我们进一步讲解了。)还有你的密码验证的觉得应该用字符串型,再用strcmp()函数比较。还有就是浮点型数在计算机中是以二进制存放的,有可能缺失小数点后的尾数,当然你保留两位小数点,应该没有问题。
2011-10-19 23:25
浩子8905
Rank: 2
等 级:论坛游民
帖 子:7
专家分:16
注 册:2011-10-13
收藏
得分:10 
case 1:jiafa   ();break ;
        case 2:system("cls");jianfa  ();break ;//可加些清屏命令
        case 3:system("cls");chufa   ();break ;
        case 4:chengfa ();break ;
        case 5:qiuyu   ();break ;
        case 6:chengjie();break ;
        case 7:leijia  ();break ;
        case 0:tuichu  ();break ;
同样在各个函数里面也可加入 ;#include<stdlib.h>注意头文件
2011-10-19 23:46
小鱼儿c
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:852
专家分:1317
注 册:2011-4-1
收藏
得分:0 
回复 3楼 星辰雁
那就看你怎么处理数据了。。。
我以前是处理大的数据。。是引用数组。。
可能比较占内存。。‘’
每个数字占一个数组元素。。。。。给你一个思路。。。代码自己实现。。
也可以用别的方法

用心做一件事情就这么简单
2011-10-20 00:01
A13433758072
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广东潮州
等 级:小飞侠
威 望:1
帖 子:1182
专家分:2784
注 册:2010-7-22
收藏
得分:0 
inty 整型

一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,  QQ群38490319
2011-10-20 00:20
快速回复:新编的计算器程序,大家帮忙改进下!~
数据加载中...
 
   



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

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