| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3138 人关注过本帖
标题:简单计算器编程,求指教
只看楼主 加入收藏
ph知了
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2016-6-21
收藏
 问题点数:0 回复次数:2 
简单计算器编程,求指教
#include<stdio.h>
viod main()
{
    int n,sel;
    double res;
    double fact(int n);
    double sum(int n);
    while(1)
    {
        printf("    菜单功能\n");
        printf("------------------------------------\n");
        printf("1-求阶乘     2-求累加和     0-退出\n");
        printf(-------------------------------------\n");
            printf("请选择输入(1、2或0):");
        scanf("%d",&sel);
        if(sel==0)break;
        switch(sel)
        {
        case 1:
            printf("请输入一个正整数:");
            scanf("%d",&n);
            res=fact(n);
            printf("%d!=%1f\n",n,res);
            break;
        case 2:
            printf("请输入一个正整数:");
            scanf("%d",&n);
            res=sum(n);
            printf("1+2+...+%d=%1f\n",n,res);
            break;
        default:
            printf("选择错误!\n");
            break;
        }
    }
    printf("欢迎下次使用!\n");
}
double fact(int n)
{
    int i,n;
    double xu;
    xu=1;
    for(i=1;i<=n;i++)
    xu=xu*i;
    xu=fact(n);
    return fact(n);
}
double sum(int n)
{
    int b,n;
    double he;
    he=0;
    for(i=1;i<=n;i++)
        he=he+i;
    he=sum(n);
    return sum(n);
}
这是简单的计算器编程,只有阶乘和累加的功能,但是我运行时,它说error C2146: syntax error : missing ';' before identifier 'main',这是啥,要在哪里加;
搜索更多相关主题的帖子: 计算器 
2016-06-25 16:54
书生牛犊
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:星夜征程
等 级:贵宾
威 望:10
帖 子:1101
专家分:5265
注 册:2015-10-27
收藏
得分:0 
程序代码:
#include<stdio.h>
void main()//void 不是 viod ,另外出于我不知道的原因 ,编译器更希望 main是int 类型的 

{
    int n,sel;
    double res;
    double fact(int n);
    double sum(int n);
    while(1)
    {
        printf("    菜单功能\n");
        printf("------------------------------------\n");
        printf("1-求阶乘     2-求累加和     0-退出\n");
        printf("-------------------------------------\n");//这行少了前引号

            printf("请选择输入(1、2或0):");
        scanf("%d",&sel);
        if(sel==0)break;
        switch(sel)
        {
        case 1:
            printf("请输入一个正整数:");
            scanf("%d",&n);
            res=fact(n);
            printf("%d!=%1f\n",n,res);
            break;
        case 2:
            printf("请输入一个正整数:");
            scanf("%d",&n);
            res=sum(n);
            printf("1+2+...+%d=%1f\n",n,res);
            break;
        default:
            printf("选择错误!\n");
            break;
        }
    }
    printf("欢迎下次使用!\n");
}
double fact(int n)
{
    int i;//这个n由于在函数定义中已经声明过了,这里就不能重复声明了

    double xu;
    xu=1;
    for(i=1;i<=n;i++)
    xu=xu*i;
    xu=fact(n);
    return fact(n);
}
double sum(int n)
{
    int b;//这个n由于在函数定义中已经声明过了,这里就不能重复声明了

    double he;
    he=0;
    for(int i=1;i<=n;i++)//这里的i没有申明类型

        he=he+i;
    he=sum(n);
    return sum(n);
}

φ(゜▽゜*)♪
2016-06-27 21:05
书生牛犊
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:星夜征程
等 级:贵宾
威 望:10
帖 子:1101
专家分:5265
注 册:2015-10-27
收藏
得分:0 
很明显你没有一个好的编程软件帮助你解决这些问题,我用的DEV,复制进去一编译就一堆错,并且指出了哪一行
       单元                信息
13    9    E:\CPP\数据结构\test.cpp    [Error] stray '\' in program
13    55    E:\CPP\数据结构\test.cpp    [Warning] missing terminating " character
13    9    E:\CPP\数据结构\test.cpp    [Error] missing terminating " character
2    1    E:\CPP\数据结构\test.cpp    [Error] 'viod' does not name a type
            E:\CPP\数据结构\test.cpp    In function 'double fact(int)':
40    11    E:\CPP\数据结构\test.cpp    [Error] declaration of 'int n' shadows a parameter
            E:\CPP\数据结构\test.cpp    In function 'double sum(int)':
50    11    E:\CPP\数据结构\test.cpp    [Error] declaration of 'int n' shadows a parameter
53    9    E:\CPP\数据结构\test.cpp    [Error] 'i' was not declared in this scope

对照修改以后(void main算是一个error,警告。我没处理):
图片附件: 游客没有浏览图片的权限,请 登录注册

番外:这类实际编程中遇到的错误其实可以发表到C语言里面去,那里活跃人气更高。


[此贴子已经被作者于2016-6-27 21:13编辑过]


φ(゜▽゜*)♪
2016-06-27 21:11
快速回复:简单计算器编程,求指教
数据加载中...
 
   



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

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