• VS2022ide下使用C++实现简谐振动,C语言程序设计简谐运动的模拟,C语言课程设计简谐振动实验的模拟。


    背景:

    C语言课程设计谐振动实验的模拟

    C语言程序设计

    课程设计报告

    题 目简谐振动实验的模拟姓 名 学 号 同组人员 学 号 年级专业09电子信息工程(2)班指导教师 完成日期2010年6月13日

    目 录

    一、问题描述

    二、基本要求

    三、系统分析和过程

    四、流程图

    五、源程序代码

    六、小结及收获体会

    七、参考文献

    八、评定意见

    一:问题描述

    本程序设计是一个将物理问题与C语言程序设计结合的程序设计问题。能够实现用用C语言编程让计算机模拟简谐振动的实验,可以改变振动函数的各参数,绘出不同振幅、频率和相位的简谐振动图形。以及完成两简谐振动的合成。

    二:基本要求

    1) 能够实现简谐振动的模拟;

    2) 简谐振动的振幅、频率以及相位由键盘输入;

    3) 能够实现动画效果。

    三、系统分析和过程

    简谐振动的函数是y=a*cos(w*x+f),是一条余弦函数。

    振幅、频率和相位由键盘输入,最重要的是要使用到画图函数,并且实现动画效果。整个程序包括头文件,函数及变量声明,main主函数,开始页面函数,菜单页面函数,画图函数,输入处理函数和图形初始化函数。先用一个开始页面的函数,说明该程序的基本功能, 再进入菜单页面,从中可以选择操作(输入处理函数选项、画图选项、退出选项),到其他函数。在输入处理函数中输入振幅、频率、相位,在画图函数中进行画图,能够实现动画效果,退出选项退出运行。

    难点是画图函数中画线,画图框,和实现动态效果,要运用到专门的函数,要了解他们的使用方法,作用,还要用到循环,要求能够在屏幕中显示出同方向传播的两列简谐波和它们的合成波,因此实现此功能必须引用图形函数,和其中很多功能的应用。

    在屏幕中我们要实现三列波动态的演示效果,并能够在动态图形中观察三波的关系。因此在这里我们要引用时间函数来实现此功能。

    本实验中我们调用了以下库函数:

    #include

    #include

    #include

    #include

    #include

    #include

    为实现功能写了以下5个函数:

    void welcome(); /*开始页面*/

    void menu(); /*菜单页面*/

    void input();/*输入处理函数*/

    void initial();/*图形初始化*/

    void draw();/*画图及合成处理过程*/

    在以下的清单中对它们列出,且简要说明。

    四、流程图

    True False

    用户输入1 (合成) 2

    五:程序清单

    #include"stdio.h"

    #include"stdlib.h"

    #include"graphics.h"

    #include"conio.h"

    #include"math.h"

    #include"time.h"

    #define GAIN 10 /*增益*/

    void welcome( ); /*初始界面*/

    void menu( ); /*选择菜单页面*/

    void input( ); /*输入处理函数*/

    void draw( ); /*画图函数*/

    void initial( ); /*图形初始化*/

    float a1,w1,f1; /*两振动的参数*/

    float a2,w2,f2;

    int main( )

    {

    welcome( );

    menu( );

    return 0;

    }

    void welcome( )

    {

    char s[40];

    /*屏幕初始化*/

    int gdriver,gmode;

    gdriver=DETECT;

    initgraph(&gdriver,&gmode,"c:\\tc");

    cleardevice( );

    setbkcolor(0); /*设置背景为黑色*/

    setfillstyle(6,14); /*用黄色粗“\\”线填充*/

    bar(2,2,638,478);

    setfillstyle(1,1);

    bar(8,8,632,472);

    setviewport(40,40,600,

    代码效果:

    视频演示:【暂时不提供】

    图片演示:

    【动态图像】

    main函数:

    1. # 联系请加V:zew1040994588
    2. # 源码获取、定制咨询、非开源
    3. #include <SFML/Graphics.hpp>
    4. #include <iostream>
    5. #include <math.h>
    6. float amplitude, frequency, phase;
    7. int main()
    8. {
    9. //输入简谐振动的参数
    10. //std::cout << "请输入简谐振动的振幅:";
    11. //std::cin >> amplitude;
    12. //std::cout << "请输入简谐振动的频率:";
    13. //std::cin >> frequency;
    14. //std::cout << "请输入简谐振动的相位(以弧度为单位):";
    15. //std::cin >> phase;
    16. printf("请输入简谐振动的振幅:");
    17. scanf_s("%f", &amplitude);
    18. printf("请输入简谐振动的频率:");
    19. scanf_s("%f", &frequency);
    20. printf("请输入简谐振动的相位(以弧度为单位):");
    21. scanf_s("%f", &phase);

    源码获取

    欢迎大家点赞、收藏、关注、评论、批评啦 、查看👇🏻👇🏻获取联系方式👇🏻👇🏻

  • 相关阅读:
    linux并发服务器 —— 项目实战(九)
    会务转化如何取得“数字化”突破?会务营销数字化功能推荐
    Linux内核netLink套接字
    java---多线程编程一
    Python程序打包指南:手把手教你一步步完成
    微信小程序 | 小程序开发
    Linux——几个重要的指令man、cp、mv、 cat、more、 less、find
    js-事件
    02-Vue按键修饰符,自定义指令
    Ascend C保姆级教程:我的第一份Ascend C代码
  • 原文地址:https://blog.csdn.net/Elephantpretty/article/details/133991639