VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 900|回复: 5

[已解决]vs2019编译问题。

[复制链接]
88_avatar_middle
最佳答案
0 
在线会员 发表于 2021-4-8 20:06:18 | 显示全部楼层 |阅读模式
如图,不会在一个源中调用另一个源。
VS版本2019。

求大佬解答。
跪谢。
最佳答案
75_avatar_small
2021-4-8 20:15:02
看看头文件 有没有添加进工程啊
调用1.png
调用.png




上一篇:编译报错D8034 读取“C:\Users\86136\AppData\Local\Temp\tmp8e3c1
下一篇:fatal error LNK1120: 1 个无法解析的外部命令
88_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2021-4-8 20:08:29 | 显示全部楼层
我把源文件名改成英文也不行。

附代码:

main.cpp
#pragma once
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include"重复.cpp"
#include"不重复.cpp"
#include"重复.h"
#include"不重复.h"

int main(void)
{
        int xiaoshu=0, dashu=0, shu=0,chongfushu=0;
        printf("请输入随机数个数(最多5000):"),scanf_s("%d", &shu);
        printf("请输入最大随机数:"),scanf_s("%d", &dashu);
        printf("请输入最小随机数:"),scanf_s("%d", &xiaoshu);
        printf("是否允许重复(允许为0,不允许为1):"),scanf_s("%d", &chongfushu);
        if (chongfushu==0)
        {
                chongfu(dashu, xiaoshu,shu);
                return 0;
        }
        else
        {
                buchongfu(dashu, xiaoshu,shu);
        }
        return 0;
}

重复.cpp
#include<stdio.h>
#include<stdlib.h>
#include<time.h>

void chongfu(int da,int xiao,int shu)
{
        //da = 10, xiao = 0, shu = 20;
        srand((size_t)time(NULL));
        for (int i = 0; i < shu; i++)
        {
                printf("%d ", rand() % (da + 1) + xiao);
        }
        return;
}

不重复.cpp
#include<stdio.h>
#include<stdlib.h>
#include<time.h>

int buchongfu(int xiao, int da, int shu)
{
        xiao = 0, da = 10, shu = 11;
        int arr[1000];
        int sui = 0;
        srand((size_t)time(NULL));
        for (int i = 0; i < shu; i++)
        {
                sui = rand() % (da + 1) + xiao;
                for (int k = 0; k <= i; k++)
                {
                        if (sui == arr[k])
                        {
                                i--;
                                break;
                        }
                        if (i == k)
                        {
                                arr[i] = sui;
                        }
                }
        }
        for (int i = 0; i < shu; i++)
        {
                printf("%d ", arr[i]);
        }
        return 0;
}
75_avatar_middle
最佳答案
23 
online_supermod 发表于 2021-4-8 20:15:02 | 显示全部楼层    本楼为最佳答案   
bestAnswer
看看头文件 有没有添加进工程啊
88_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2021-4-8 20:17:21 | 显示全部楼层
wl1383838438 发表于 2021-4-8 20:15
看看头文件 有没有添加进工程啊

不好意思,纯新手,什么是工程?怎么添加??
88_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2021-4-8 21:22:00 | 显示全部楼层
大家好,经过我一个小时的研究,终于知道怎么弄了。
所有都不改变。
添加一个头文件,如:arr.h
打开这个头文件,把写在main主函数外的,需要实用的函数在里面声明一遍。
如: int buchongfu(int,int,int);
        void chongfu(int,int,int);
再将#pragma once这句话放在main函数所在源文件的第一句。
在添加头文件#include“arr.h”
就可以了。

最后把我写好的这个随机数生成器送给大家。
代码上传不了。。。

这个是主函数main;
代码如下:

#pragma once
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include"重复.h"

int main(void)
{
        int xiaoshu=0, dashu=0, shu=0,chongfushu=0;
        printf("请输入随机数个数(最多1000):"),scanf_s("%d", &shu);
        printf("请输入最大随机数:"),scanf_s("%d", &dashu);
        printf("请输入最小随机数:"),scanf_s("%d", &xiaoshu);
        printf("是否允许重复(允许为0,不允许为1):"),scanf_s("%d", &chongfushu);
        if (chongfushu==0)
        {
                chongfu(dashu, xiaoshu,shu);
                return 0;
        }
        else
        {
                buchongfu(dashu, xiaoshu,shu);
        }
        return 0;
}

这个是不重复的代码:

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

int buchongfu(int da, int xiao, int shu)
{
        int arr[1000];
        int sui = 0;
        srand((size_t)time(NULL));
        for (int i = 0; i < shu; i++)
        {
                sui = rand() % (da + 1) + xiao;
                for (int k = 0; k <= i; k++)
                {
                        if (sui == arr[k])
                        {
                                i--;
                                break;
                        }
                        if (i == k)
                        {
                                arr[i] = sui;
                        }
                }
        }
        for (int i = 0; i < shu; i++)
        {
                printf("%d ", arr[i]);
        }
        return 0;
}

这个是重复随机数代码:

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

void chongfu(int da,int xiao,int shu)
{
        //da = 10, xiao = 0, shu = 20;
        srand((size_t)time(NULL));
        for (int i = 0; i < shu; i++)
        {
                printf("%d ", rand() % (da + 1) + xiao);
        }
        return;
}

头文件,名字为重复.h(如果直接照抄就不要改名字);

int buchongfu(int,int,int);
void chongfu(int,int,int);

感谢各位的帮助。。。

资源管理器截图

资源管理器截图

头文件截图

头文件截图

主函数main

主函数main
75_avatar_middle
最佳答案
23 
online_supermod 发表于 2021-4-9 01:30:15 | 显示全部楼层
favou0306 发表于 2021-4-8 21:22
大家好,经过我一个小时的研究,终于知道怎么弄了。
所有都不改变。
添加一个头文件,如:arr.h

你都没有添加进工程  编译器找不到 头文件得声明
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号-4 )|网站地图wx_jqr

GMT+8, 2023-9-24 21:06

Powered by CcTry.CoM

© 2009-2021 cctry.com

快速回复 返回顶部 返回列表