用C語言做出你自己的七夕表白程序!

C語言是面向過程的,而C++是面向對象的

C和C++的區別:

C是一個結構化語言,它的重點在于算法和數據結構。C程序的設計首要考慮的是如何通過一個過程,對輸入(或環境條件)進行運算處理得到輸出(或實現過程(事務)控制)。

C++,首要考慮的是如何構造一個對象模型,讓這個模型能夠契合與之對應的問題域,這樣就可以通過獲取對象的狀態信息得到輸出或實現過程(事務)控制。 所以C與C++的最大區別在于它們的用于解決問題的思想方法不一樣。之所以說C++比C更先進,是因為“ 設計這個概念已經被融入到C++之中 ”。

C與C++的最大區別:在于它們的用于解決問題的思想方法不一樣。之所以說C++比C更先進,是因為“ 設計這個概念已經被融入到C++之中 ”,而就語言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,錯!算法是程序設計的基礎,好的設計如果沒有好的算法,一樣不行。而且,“C加上好的設計”也能寫出非常好的東西。

新的一年又開始了,假期臨近尾聲,不管是上學的上班的,都要開始忙碌起來了。然而,一年一度的情人節也快要來臨了,大家有沒有準備好送什么禮物呢?(單身汪請無視(━┳━ _ ━┳━))

不管是否單身,準備一份禮物總是錯不了的,就算沒有女朋友,也可以找人一起過,說不定成了呢!按照慣例,情人節了,鮮花玫瑰是肯定不能少的啦。既然如此,是時候展現真正的技術了!

今天給大家帶來的就是一多緩慢綻放的玫瑰花!

話不多說,先看圖:

小編推薦一個學C語言/C++的學習裙【 815393895 】,無論你是大牛還是小白,是想轉行還是想入行都可以來了解一起進步一起學習!裙內有開發工具,很多干貨和技術資料分享!

玫瑰綻放

若隱若現的玫瑰

玫瑰綻放

初具雛形的玫瑰

玫瑰綻放

綻放的玫瑰,送給可愛的XXX(單身的也可以送人表白哦)

看起來是不是聽不錯的呢!

大家是不是覺得就結束了呢? “當!然!不!是!”

如果只有一朵花怎么能襯托出這中氛圍呢?來首音樂才有情調嘛!

然后我們再添加一首音樂!(由于圖片看不到,就不上傳了,)

一邊聽著音樂,一邊看著一朵玫瑰的綻放,是不是特有情調?

也許你就能從此告白成功,脫離單身,走向幸福的兩人世界哦!

(沒成功當我沒說(━┳━ _ ━┳━))

好了下面來看下源碼:

/**********************************************************************************

項目名稱:一朵鮮花

編譯環境:vs2015 和easyx

修改時間:2018年01月29日

***********************************************************************************/

#include

#include

#include

#include

#include

#pragma comment(lib,"winmm.lib")

//定義全局變量

int rosesize = 500;

int h = -250;

//定義結構體

struct DOT

{

double x;

double y;

double z;

double r;

double g;

};

bool calc(double a,double b,double c,DOT &d)

{

double j, n, o, w, z;

//花柄

if (c > 60)

{

d.x = sin(a * 7)*(13 + 5 / (0.2 + pow(b * 4, 4))) - sin(b) * 50;

d.y = b*rosesize + 50;

d.z = 625 + cos(a * 7)*(13 + 5 / (0.2 + pow(b * 4, 4))) + b * 400;

d.r = a * 1 - b / 2;

d.g = a;

return true;

}

double A = a * 2 - 1;

double B = b * 2 - 1;

if (A*A + B*B < 1)

{

//綠葉

if (c > 37)

{

j = (int(c) & 1);

n = j ? 6 : 4;

o = 0.5 / (a + 0.01) + cos(b * 125) * 3 - a * 300;

w = b * h;

d.x = o * cos(n) + w * sin(n) + j * 610 - 390;

d.y = o * sin(n) - w * cos(n) + 550 - j * 350;

d.z = 1180 + cos(B + A) * 99 - j * 300;

d.r = 0.4 - a * 0.1 + pow(1 - B * B, -h * 6) * 0.15 - a * b * 0.4 + cos(a + b) / 5 +

pow(cos((o * (a + 1) + (B > 0 ? w : -w)) / 25), 30) * 0.1 * (1 - B * B);

d.g = o / 1000 + 0.7 - o * w * 0.000003;

return true;

}

小編推薦一個學C語言/C++的學習裙【 815393895 】,無論你是大牛還是小白,是想轉行還是想入行都可以來了解一起進步一起學習!裙內有開發工具,很多干貨和技術資料分享!

//花萼

if (c > 32)

{

c = c*1.16 - 0.15;

o = a * 45 - 20;

w = b * b * h;

z = o * sin(c) + w * cos(c) + 620;

d.x = o * cos(c) - w * sin(c);

d.y = 28 + cos(B * 0.5) * 99 - b * b * b * 60 - z / 2 - h;

d.z = z;

d.r = (b * b * 0.3 + pow((1 - (A * A)), 7)*0.15 + 0.3)*b;

d.g = b * 0.7;

return true;

}

//花朵

o = A*(2 - b)*(80 - c * 2);

w = 99 - cos(A) * 120 - cos(b)*(-h - c * 4.9) + cos(pow(1 - b, 7)) * 50 + c * 2;

z = o * sin(c) + w * cos(c) + 700;

d.x = o * cos(c) - w * sin(c);

d.y = B * 99 - cos(pow(b, 7)) * 50 - c / 3 - z / 1.35 + 450;

d.z = z;

d.r = (1 - b / 1.2) * 0.9 + a * 0.1;

d.g = pow((1 - b), 20) / 4 + 0.05;

return true;

}

return false;

}

int main()

{

short *zBuffer;

intx, y, z, zBufferIndex;

DOTdot;

initgraph(640,480);//創建繪圖窗口

mciSendString(L"open ./素材/音樂.mp3 alias BGM",0,0,0);//打開音樂 L 多字節字符串

mciSendString(L"play BGM repeat",0,0,0);

setbkcolor(YELLOW);

cleardevice();

zBuffer = new short[rosesize * rosesize];

memset(zBuffer, 0, sizeof(short) * rosesize * rosesize);

for (int j = 0; j < 2000 && !_kbhit(); j++)

{

for (int i = 0; i < 10000; i++)

if (calc(double(rand()) / RAND_MAX, double(rand()) / RAND_MAX, rand() % 46 / 0.74, dot))

{

z = int(dot.z + 0.5);

x = int(dot.x*rosesize / z - h + 0.5);

y = int(dot.y*rosesize / z - h + 0.5);

if (y > rosesize) continue;

zBufferIndex = y*rosesize + x;

if (!zBuffer[zBufferIndex] || zBuffer[zBufferIndex] > z)

{

zBuffer[zBufferIndex] = z;

//畫點

int r = ~int((dot.r*h));if (r < 0)r = 0;if (r > 255)r = 255;

int g = ~int((dot.g*h));if (g < 0)g = 0;if (g > 255)g = 255;

int b = ~int((dot.r*dot.r*-80));if (b < 0)b = 0;if (b > 255)b = 255;

putpixel(x + 50, y - 20, RGB(r, g, b));

}

}

Sleep(10);

}

delete[]zBuffer;

_getch();

closegraph();

return 0;

}

小編推薦一個學C語言/C++的學習裙【815393895 】,無論你是大牛還是小白,是想轉行還是想入行都可以來了解一起進步一起學習!裙內有開發工具,很多干貨和技術資料分享!

這就是程序的全部代碼啦!如果想更換音樂只要改下你想要替換的音樂名字該為"音樂"就好了,當然了格式必須是MP3格式的。

注:如果沒有安裝easyx圖形庫是不能運行代碼的!大家只要安裝完就好了!

這些是C/C++能做的

服務器開發工程師、人工智能、云計算工程師、信息安全(黑客反黑客)、大數據 、數據平臺、嵌入式工程師、流媒體服務器、數據控解、圖像處理、音頻視頻開發工程師、游戲服務器、分布式系統、游戲輔助等

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/531152.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/531152.shtml
英文地址,請注明出處:http://en.pswp.cn/news/531152.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C語言/C++編程的起源與能力學習

C語言是面向過程的&#xff0c;而C&#xff0b;&#xff0b;是面向對象的 C和C的區別&#xff1a; C是一個結構化語言&#xff0c;它的重點在于算法和數據結構。C程序的設計首要考慮的是如何通過一個過程&#xff0c;對輸入&#xff08;或環境條件&#xff09;進行運算處理得…

Windows下設置自動關機的命令指示符

&#xff08;請先看置頂博文&#xff09;https://blog.csdn.net/GenuineMonster/article/details/104495419 Windows定時操作命令&#xff1a;superR&#xff0c;輸入&#xff1a;&#xff1f;&#xff1f;&#xff1a;&#xff1f;&#xff1f;shutdown -s ”??“代表時間…

Win7系統轉到Win10系統的裝機方法

Windows 10的版本最好是家庭版。 1.進入PC的BIOS。進入方法與PC品牌有關&#xff0c;可根據對應的品牌查尋進入方法。 2.將Boot List Option 選為UEFI。有些電腦在切換UEFI后即可顯示列表&#xff0c;因此可跳過第三步&#xff0c;反之則繼續第三步的操作。 3.重啟PC&#x…

Ubuntu16.04amp;amp;Windows 10雙系統安裝教程(UEFI模式)

相信來這里的各位&#xff0c;都是想在Windows 10的PC上安裝Linux Ubuntu16.04&#xff0c;來達到雙系統并用的目的。 那么接下來&#xff0c;我就在默認已安裝Windows 10的基礎上介紹如何以UEFI的方式安裝Ubuntu16.04&#xff01;我的PC是聯想小新潮7000—13。在裝雙系統之前…

利用軟碟通軟件制作Ubuntu16.04系統啟動盤

以下操作均在Windows系統下進行&#xff01;Windows系統的啟動盤和Linux的啟動盤要分開&#xff0c;即需要兩個U盤來制作和存儲。&#xff08;似乎無法共存于一個U盤里&#xff09; &#xff08;系統盤制作軟件會U盤格式化&#xff0c;所以U盤提前做好備份工作&#xff09; 1…

Linux Ubuntu16.04界面美化

&#xff08;請先看置頂博文&#xff09;本博打開方式&#xff0c;請詳讀_liO_Oil的博客-CSDN博客_怎么把androidstudio卸載干凈 很多人在安裝系統之后可能對其外觀、主題或是桌面壁紙不滿意&#xff0c;本文給大家介紹幾種美化方法和插件&#xff01; 1.可以將左側的“熱區”…

Linux16.04和Windows 10雙系統下,解決時間不一致問題

裝完雙系統&#xff0c;你可能會發現某一個系統的時間與現在時間不一致&#xff08;中國相差八個小 時&#xff09;&#xff0c;那么如何解決這個問題呢&#xff1f; 1.將某一個系統的設置時間更新方式設置為“手動”&#xff0c;而不是“從互聯網自動獲取”。 2.進入PC的BIO…

Linux Ubuntu 16.04系統下可用的Windows應用

眾所周知&#xff0c;Linux系統下的生態環境不是很好&#xff0c;很多可以在Windows 10系統下運行的 軟件都不能在Linux下運行&#xff0c;那么接下來為大家推薦部分可以應用的軟件&#xff1a; A.Google-Chrome. 最簡單的方法是到https://www.google.cn/chrome/下載對應的Lin…

基于Vitual Box建立虛擬機,虛擬機系統為Linux Ubuntu16.04

相比于為PC機安裝雙系統&#xff0c;安裝虛擬機在達到相同目的的時候顯得更為方便。 那本文就詳細的為大家介紹如何在Windows 10的系統下&#xff0c;安裝Vitual Box&#xff0c;進而安裝虛擬機。 一、下載Vitual Box虛擬機制作軟件及鏡像文件 Vitual Box網址為&#xff1a;…

ROS安裝過程和配置過程(可能出現的問題及解決方法)

&#xff08;請先看置頂博文&#xff09;本博打開方式&#xff0c;請詳讀_liO_Oil的博客-CSDN博客_怎么把androidstudio卸載干凈 準備學習ROS&#xff0c;所以在Linux Ubuntu16.04 的系統下安裝ROS &#xff08;建議初學者&#xff0c;先在虛擬機里進行學習和實踐&#xff0c…

閑暇所學“表白對話框”

&#xff08;請先看置頂博文&#xff09;本博打開方式&#xff0c;請詳讀_liO_Oil的博客-CSDN博客_怎么把androidstudio卸載干凈 相信大家都在某音上看過一段表白的視頻&#xff1a;打開某個文件后&#xff0c;彈出一個個對話框&#xff0c;表達對心里人的情愫&#xff0c;請求…

C語言(CED)編寫一個程序,求兩個字符之間的加減運算。

&#xff08;請先看置頂博文&#xff09;本博打開方式&#xff0c;請詳讀_liO_Oil的博客-CSDN博客_怎么把androidstudio卸載干凈 復習C語言&#xff0c;不同的心境遇到了不同的問題&#xff1a; 問題&#xff1a; 編寫一個程序&#xff0c;求兩個字符之間的加減運算。連續輸…

C語言(CED)輸入一個任意長度的正整數,將該數逆序輸出。

&#xff08;請先看置頂博文&#xff09;本博打開方式&#xff0c;請詳讀_liO_Oil的博客-CSDN博客_怎么把androidstudio卸載干凈 題目內容&#xff1a; 輸入一個任意長度的正整數&#xff0c;將該數逆序輸出。如&#xff0c;輸入正數237&#xff0c;則逆序顯示的結果為732。如…

C語言(CED)統計行數

題目&#xff1a; 編寫一個程序&#xff0c;要求統計輸入文本的行數。Input 每行輸入任意長度的字符串&#xff08;每一行的字符串的長度小于等于1000&#xff09;&#xff0c;以輸入僅由符號構成的行作為結束&#xff0c; 所在的行不計入行數。Output 輸出文本的行數。Sample…

ROS與Android的通信

通過ROS-Bridge&#xff0c;建立起ROS與Android的通信。 代碼為&#xff1a; sudo apt-get install ros-<rosdistro>-rosbridge-suite//下載ROS對應版本的ROSBridge-suite*上述命令中的“<rosdistro>”要替換成對應的ROS版本名稱&#xff01; 安裝完成后先打開對…

C語言(CED)排序算法總結。比較完整和詳細

排序算法可以分為內部排序和外部排序&#xff0c;內部排序是數據記錄在內存中進行排序&#xff0c;而外部排序是因排序的數據很大&#xff0c;一次不能容納全部的排序記錄&#xff0c;在排序過程中需要訪問外存 內部排序算法有&#xff1a;直接插入排序&#xff0c;折半插入排…

C語言:表白(多彩小心心)

&#xff08;請先看置頂博文&#xff09;本博打開方式&#xff0c;請詳讀_liO_Oil的博客-CSDN博客_怎么把androidstudio卸載干凈 #include <stdio.h> #include <math.h> #include <stdlib.h> #define I 20 #define R 340 #include <string.h> int ma…

Linux更換軟件源(國內)阿里云

&#xff08;請先看置頂博文&#xff09;https://blog.csdn.net/GenuineMonster/article/details/104495419 有很多在Windows系統下使用的軟件下雖然有Linux的版本&#xff0c;但是無法在終端用命令行下載使用&#xff0c;這也許是軟件源的問題。 所以修改軟件源&#xff0c;…

Linux系統下,下載谷歌瀏覽器

&#xff08;請先看置頂博文&#xff09;https://blog.csdn.net/GenuineMonster/article/details/104495419 一、Google chrome&#xff1a; 1.打開終端 2.在終端輸入以下命令: sudo wget http://www.linuxidc.com/files/repo/google-chrome.list -P /etc/apt/sources.lis…

Windows 10重裝系統時,提示Windows只能安裝到GPT磁盤的解決方法(更新于2021.4.28)

&#xff08;請先看置頂博文&#xff09;本博打開方式&#xff0c;請詳讀_liO_Oil的博客-CSDN博客_怎么把androidstudio卸載干凈 重要提示&#xff1a;一般情況下&#xff0c;筆記本電腦和臺式機所含硬盤數量不同&#xff0c;不同用戶對硬盤分區的數量也不同。為防止數據損失&…