1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

lập trình căn bản điện tử thiết kế hiệu ứng quản cáo dev c

19 6 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Lập Trình Căn Bản Điện Tử Thiết Kế Hiệu Ứng Quảng Cáo
Tác giả Nhóm Sv Thực Hiện: N07
Người hướng dẫn Cán Bộ Hướng Dẫn
Trường học Trường Đại Học Cần Thơ
Chuyên ngành Kỹ Thuật Điện Tử
Thể loại Báo Cáo Đồ Án
Thành phố Cần Thơ
Định dạng
Số trang 19
Dung lượng 905,73 KB
File đính kèm đồ án lập trình căn bản điện tử.rar (844 KB)

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

đồ án môn học lập trình căn bản điện tử thiết kế hiệu ứng quảng cáo bằng Devc. Bao gồm chương trình lớn và 16 hiệu ứng quảng cáo chạy bằng Devc. Ngôn ngữ lập trình C. C là một ngôn ngữ lập trình được ưa chuộng và sử dụng rộng rãi, đặc biệt trong các lĩnh vực về khoa học kỹ thuật. Đây là ngôn ngữ phù hợp với người không có nhiều kinh nghiệm về lập trình. Ngoài điện tử, ngôn ngữ C còn được sử dụng trong các lĩnh vực như cơ khí, cơ học chất lỏng, truyền nhiệt, vật lý, hóa học,…

Trang 1

TRƯỜNG BÁCH KHOA

KHOA KỸ THUẬT ĐIỆN TỬ

- -

BÁO CÁO ĐỒ ÁN LẬP TRÌNH CĂN BẢN ĐIỆN TỬ

THIẾT KẾ HIỆU ỨNG QUẢNG CÁO

CÁN BỘ HƯỚNG DẪN NHÓM SV THỰC HIỆN: N07

Cần Thơ, Ngày Tháng Năm

MỤC LỤC

I Giới thiệu đề tài 1.Mục tiêu thiết kế 2.Yêu cầu thiết kế

Trang 2

3.Giới hạn thiết kế

4.Hướng giải quyết

II.Nội dung

1 Giải thuật

* Giải thuật bằng ngôn ngữ tự nhiên

* Giải thuật bằng lưu đồ

2 Chương trình chi tiết

3 Kết quả đạt được

* Kết quả

* Nhận xét

III.Tài Liệu Tham Khảo

IV.Phụ lục

1.Quá trình thực hiện đề tài

2.Bảng phân chia công việc

Trang 3

I Giới Thiệu Đề Tài

1 Mục tiêu thiết kế

- Viết chương trình mô phỏng hiệu ứng quảng cáo với 16 hiệu ứng trên chương trình Dev-C++ bằng ngôn ngữ C

2 Yêu cầu thiết kế

- Gồm 8 công việc:

+ In ra màn hình số lần thực hiện chương trình

+ Tạo menu điều khiển chương trình

+ Nhập từ bàn phím nội dung cần quảng cáo

+ Chọn hiệu ứng từ 1 đến 16 để thực hiện

+ Hiển thị thông báo khi chọn không đúng hiệu ứng từ 1 đến 16 và cho phép chọn lại

+ Nhấn Enter kết thúc hiệu ứng quảng cáo

+ Nhập từ bàn phím số 0 để sửa lại nội dung quảng cáo

+ Nhấn Esc để kết thúc chương trình

3 Giới hạn thiết kế

- Một tuần lên ý tưởng và thực hiện

- Số lượng thành viên thực hiện: 8 người

4 Hướng giải quyết

- Các thành viên ôn lại kiến thức đã học trên lớp

- Tham khảo tài liệu từ internet, giáo trình,

- Lên kế hoạch, phân công việc cụ thể

II Nội Dung

1 Giải thuật

* Giải thuật bằng ngôn ngữ tự nhiên

* Giải thuật bằng lưu đồ

2 Chương trình chi tiết

#include<stdio.h>

#include<stdlib.h>

#include<conio.h>

#include<Windows.h>

#include<string.h>

#include<time.h>

typedef struct {

int x, y;

Trang 4

}

toado;//truc tung y,truc hoanh x

typedef struct {

char s[99];

toado td;// ngang , doc

int tt, lan;

int solannhap;

}

chu;

// tao kieu cau truc cho chu s la noi dung cua chu

void TextColor(int x)

{

}

void gotoxy(int x,int y)

{

HANDLE hConsoleOutput;

COORD Cursor_an_Pos = { x,y};

hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);

SetConsoleCursorPosition(hConsoleOutput , Cursor_an_Pos);

}

void ff(chu * a) {

char m[20];

if (a -> tt != 0) strcpy(m, " ");

else strcpy(m, " ");

TextColor(7);

gotoxy(0, 0);

printf("1 so lan da nhap: %d lan\n",a->solannhap);

printf("2 noi dung quan cao: %s\n", a -> s);

printf("3 nhap hieu ung tu 1 den 16 \n%schon hieu ung: \n4 nhap 0 neu muon sua lai noi dung(quay lai 2)\n5 nhan Esc de thoat\n6 nhan Enter de chon lai (quay lai 3)", m,a->lan);

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

printf("\ntruong DHCT nhom7");

}

void f(chu*a){

system("cls");

if (kbhit()) // phat hien co phim nhap

{

Trang 5

char key = getch(); // luu phim vao key ma khong dung chuong trinh

if (key == 27) // 27 la ma ASCII

{

free(a);

exit(0);

} else if (key == 13) // 13 la ma ASCII

{

a -> lan = 0;

a -> tt = 0; // xoa hieu ung cu

}

}

}

void lan1(chu * a) { // hien thi chuoi xeo xuong

while (1) {

f(a);

if (a -> tt == 0) break;

else {

int n = strlen(a -> s);

int k = 0;

int t = 0;

ff(a); //an con tro

for (int u = 0; u < 2; u++) {

for (int i = 10; i < n + 10; i++) {

Sleep(50);// toc do hien ra

TextColor(5);

if (t == 0) {

printf("%c", a -> s[k]);

k++;

}

}

k = 0;

}// hien con tro

printf(" ");

}

}

}

void lan2(chu * a) { // hien thi chuoi xeo len

Trang 6

while (1) {

f(a);

if (a -> tt == 0) break;

else {

int n = strlen(a -> s);

int k = 0;

int t = 0;

ff(a);

//an con tro

for (int u = 0; u < 2; u++) {

for (int i = 10; i < n + 10; i++) {

Sleep(100);

if (t == 0) {

printf("%c",a->s[k]);

k++;

}

}

k = 0;

}// hien con tro

printf(" ");

}

}

}

void lan3(chu * a) { // chu xuat hien tu trai qua phai

while (1) {

f(a);

if (a -> tt == 0) break;

else {

int n = strlen(a -> s);

ff(a);

//an con tro

for (int i = 0; i < n; i++) {

gotoxy(60 + i,15);

printf("%c", a -> s[i]);

Sleep(50);//toc do

Trang 7

} // chu xuat hien tu trai qua phai

}// hien con tro

printf(" ");

}

}

void lan4(chu * a) {

while (1) {

f(a);

if (a -> tt == 0) break;

else {

ff(a);

int n = strlen(a -> s);

char bokytu[] = " ";

//an con tro

for (int i = 0; i < n; i++) {

Sleep(40);

srand(time(NULL));

for (int k = 0; k < n; k++);

gotoxy(50 + i, 20);

if (i == n - 1) {

ff(a);

ff(a);

gotoxy(50,20);

printf("%s", a -> s); // hien thi toan bo chuoi

Sleep(300);

}

}// hien con tro

printf(" ");

}

}

}

void lan5(chu * a) { //hieu ung xeo qua xeo lai

while (1) {

f(a);

if (a -> tt == 0) break; // tt=0 nghia la noi dung da bi loai bo hieu ung, quay ve buoc nhap hieu ung

else {

int n = strlen(a -> s);

ff(a);

char c[51];

Trang 8

int k = 0;

for (int i = 0; i <= n; i++) {

if (a -> s[i] == ' ' || a -> s[i] == 0) {

ff(a);

ff(a);

strncpy(c, a -> s + k, i - k);

c[i - k] = NULL;

k = i + 1;

gotoxy(50, 17);

printf("%s", c);

Sleep(300);

}

}

system("cls");

ff(a);

gotoxy(50 - (n / 2), 16);

printf("%s", a -> s); // hien thi toan bo chuoi Sleep(300);

}

}// hien con tro

printf(" ");

}

void lan6(chu * a) { // trai chay sang phai

while (1) {

f(a);

if (a -> tt == 0) break;

else {

char b[50];

int n = strlen(a -> s);

//an con tro

for (int k = 0; k <= n + 90; k++) {

system("cls");

ff(a);

gotoxy(1 + k, 16);

printf("%s", a -> s);

gotoxy(1 + k, 16);

printf("%s", b);

if (k % 2 == 0);

else{

printf("%c",' ');

Trang 9

}Sleep(5);

}

}// hien con tro

printf(" ");

}}

void lan7(chu * a) { // hieu ung ket hop

while (1) {

f(a);

if (a -> tt == 0) break;

else{

int n=strlen(a->s);

ff(a);

//an con tro

for (int i=0;i<=n;i++) {

gotoxy(50-(n/2)+i,14);printf("%< ",a->s[i]);

gotoxy(50-(n/2)+i,13);printf("% c",a->s[i]);

gotoxy(i + 50,i+2);printf("%c",a->s[i]); // xeo xuong gotoxy(50,i+8);printf("%c",a->s[i]); //thang

gotoxy(i+50,n+1-(i-9)); printf("%c",a->s[i]);//xeo xuong Sleep(100);

} }

} // hien con tro

printf(" ");

}

void lan8(chu * a) { // hieu ung x

while (1) {

f(a);

if (a -> tt == 0) break;

else {

int n=strlen(a->s);

ff(a);

//an con tro

for( int i=0;i<=n+4+r;i++) {

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

Trang 10

{

ff(a);

gotoxy(40+i-k,15);

if(k<=n) printf("%c",a->s[n-k]);

}Sleep(100);// tao tuong va di chuyen dong chu }char tam1[51], tam2[51];

strcpy(tam1, a->s);

strcpy(tam2, a->s);

for (int j = 0; j < n; j++) {

if (j % 2 == 0) tam1[j] = ' ';

else tam2[j]=' ';

}

for (int u = 0; u < 10; u++) {

gotoxy(40-u+3 , 15 - u);

printf("%s", tam1);

gotoxy(40-u-3 , 15 - u);

printf("%s", tam2);

gotoxy(40-u+3 , 15 + u);

printf("%s", tam1);

gotoxy(40-u-3 , 15 + u);

printf("%s", tam2);

gotoxy(40+u+3 , 15 - u);

printf("%s", tam1);

gotoxy(40+u+3 , 15 - u);

printf("%s", tam2);

gotoxy(40+u-3 , 15 + u);

printf("%s", tam1);

gotoxy(40+u-3 , 15 + u);

printf("%s", tam2);

Sleep(100);

}

}// hien con tro

printf(" ");

} }

void lan9(chu * a) {

while (1) {

f(a);

if (a -> tt == 0) break;

Trang 11

else {

ff(a);

int n = strlen(a -> s);

//an con tro

for (int i = 0; i <= n; i++) {

gotoxy(50 + i, 15);

printf("%c", a -> s[i]);

gotoxy(50 + n - i, 16);

printf("%c", a -> s[n - i]);

Sleep(100);

} // xuat hien doi xung

int c = ' ';

for (int j = 0; j <= n; j++) {

gotoxy(50 + j, 15);

printf("%c", c);

gotoxy(50 + j, 16);

printf("%c", c);

Sleep(100);

}

}

}

printf(" ");

}

void lan10(chu * a) { //tu tren xuong while (1) {

f(a);

if (a -> tt == 0) break;

else {

int n = strlen(a -> s);

//an con tro

char a1[60], a2[60];

strcpy(a1, a -> s);

strcpy(a2, a -> s);

for (int u = 0; u < 10; u++) {

ff(a);

gotoxy(50, 12+u);

printf("%s", a1);

gotoxy(50, 13+u);

Trang 12

printf("%s", a2);

Sleep(100);

}

}

}

printf("");

}

void lan11(chu * a) {

while (1) {

f(a);

if (a -> tt == 0) break;

else{

int n=strlen(a->s);

ff(a);

//an con tro

for (int i=0;i<=n;i++) {

gotoxy(54-(n/2)+i,14);printf("%c",a->s[i]); gotoxy(54-(n/2)+i,15);printf("%c",a->s[i]); gotoxy(54-(n/2)+i,16);printf("%c",a->s[i]); Sleep(100);

} char c[]=" ";

gotoxy(54-(n/2),14);printf("%s",c);

Sleep(400);

gotoxy(54-(n/2),15);printf("%s",c);

Sleep(500);

gotoxy(54-(n/2),16);printf("%s",c);

Sleep(600);

}

}

printf("\33[?25h");

}

void lan12(chu * a) { //hieu ung chu xuat hien lan luot while (1) {

f(a);

if (a -> tt == 0) break;

else {

int n = strlen(a -> s);

ff(a);

//an con tro

Trang 13

printf(" ");

for (int i = 0; i < n; i++) {

gotoxy(50 + i, 20);

printf("%c", a -> s[i]);

Sleep(100);

} // chu xuat hien tu trai qua phai char f1[50];

strcpy(f1, a -> s);

for (int k = 0; k < n; k++) { gotoxy(50 + k, 20);

printf("%s", f1);

Sleep(100);

system("cls"); // chu bien mat ff(a);

}

}

}

printf(" ");

}

void lan13(chu * a) {

while (1) {

f(a);

if (a -> tt == 0) break;

else {

ff(a);

int n = strlen(a -> s);

//an con tro

for (int i = 0; i <= n; i++) { gotoxy(50 + n - i, 17);

printf("%c", a -> s[n - i]); Sleep(100);

}

int c = ' ';

for (int j = 0; j <= n; j++) { gotoxy(50 + n - 1 - j, 17); printf("%c", c);

Sleep(100);

}

}

}

Trang 14

printf(" ");

}

void lan14(chu * a) {

while (1) {

f(a);

if (a -> tt == 0) break;

else {

int n = strlen(a -> s);

int k = 0;

int t = 0;

ff(a);

//an con tro

for (int u = 0; u < 2; u++) {

for (int i = 10; i < n + 10; i++) {

Sleep(200);

if (t == 0) {

printf("%c", a -> s[k]);// hien thi chuoi xeo xuong k++;

} else {

printf("%c",a->s[k]);// hien thi chuoi xeo len

k++;

}

}

k = 0;

t = 1;

}

}

}

// hien con tro

printf("");

}

void lan15(chu * a) {

while (1) {

f(a);

if (a -> tt == 0) break;

else {

int n = strlen(a -> s);

int k = 0;

Trang 15

int t = 0;

ff(a);

//an con tro

for (int u = 0; u < 2; u++) {

for (int i = 10; i < n + 10; i++) { Sleep(100);

if (t == 0) {

printf("%c", a -> s[k]);

gotoxy(55, i);

printf("%c", a -> s[k]);

k++;

} else {

gotoxy(51, i + 0);

printf("%c", a -> s[k]);

gotoxy(49,i + 1);

printf("%c", a -> s[k]);

gotoxy(47,i+1);

printf("%c", a -> s[k]);

gotoxy(45,i+1);

printf("%c", a -> s[k]);

gotoxy(57,i+0);

printf("%c", a -> s[k]);

gotoxy(59,i+1);

printf("%c", a -> s[k]);

gotoxy(61,i+1);

printf("%c", a -> s[k]);

gotoxy(63,i+1);

printf("%c", a -> s[k]);

k++; // hien thi chuoi hang doc }

}

k = 0;

t = 1;

}

}

}

printf("");//hien con tro

}

void lan16(chu * a) {

while (1) {

Trang 16

f(a);

if (a -> tt == 0) break;

else {

int n = strlen(a -> s);

int k = 0;

char c[] = " ";

int t = 0;

ff(a);

//an con tro

for (int u = 0; u < 2; u++) {

for (int i = 10; i < n + 10; i++) {

Sleep(200);

if (t == 0) {

printf("%c", a -> s[k]);// chuoi doc k++;

} else {

gotoxy(40,i);

printf("%c", c[0]);

Sleep(100); //xoa chuoi doc

gotoxy(40+i,10);

printf("%c", a -> s[k]);

gotoxy(63,i+1);

printf("%c", a -> s[k]);

k++; // chuoi hang ngang

}

}

k = 0;

t = 1;

}

}

}

// hien con tro

printf("\33[?25h");

}

int main(int argc,

const char * argv[]) {

FILE *dem;

chu * a = (chu * ) malloc(sizeof(chu));

fscanf(dem,"%d",&a->solannhap);

Trang 17

fclose(dem);

while(1){

system("cls");

a->s[0]=NULL;

a -> td.x = 12;

a -> td.y = 12;

a -> tt = 0;

a -> lan = 0;

ff(a);

gotoxy(22, 1);

fflush(stdin);

gets(a -> s); // Nhap noi dung

while (1) {

ff(a);

gotoxy(28, 3);

fflush(stdin);

scanf("%d", & a -> lan);// Nhap hieu ung

if (a->lan == 0) break;

else if (a -> lan < 1 || a -> lan > 16) {

a -> lan = 0;

system("cls");

ff(a);

gotoxy(35, 12);

printf("nhap trong khoang tu 1 den 16 !"); } // nhap sai khoang gia tri yeu cau nhap lai else {

a -> tt = 1;

switch (a -> lan) {

case 1:lan1(a);break;

case 2:lan2(a);break;

case 3:lan3(a);break;

case 4:lan4(a);break;

case 5:lan5(a);break;

case 6:lan6(a);break;

case 7:lan7(a);break;

case 8:lan8(a);break;

case 9:lan9(a);break;

case 10:lan10(a);break;

case 11:lan11(a);break;

Ngày đăng: 18/11/2023, 23:58

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w