1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
| #include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <SDL/SDL.h>//librairie graphique SDL
#include <SDL/SDL_ttf.h>//librairie graphique SDL_ttf permettant d'ecrire du texte
#include <gtk/gtk.h>// librairie graphique GTK toolkit
float x1,c;
int n1,n2,n3,n4;
const char *pointeur;
int continuer = 1;//booleen pour le boucle
SDL_Event event;// variable permettant de gerer les evenements
SDL_Color couleurRouge = {255, 0, 0};
const char calcul1_x1()
{
int num_carre;
int num;
int den;
num_carre = n1-n3 ;
num = sqrt(num_carre);//fonction racine carre
den = n1*(sqrt(n3));
x1 = num/den ;
c = x1/(2*3.14116*n2);
pointeur = &c;
*pointeur = c;
return (*pointeur);
}
int main(int argc, char *argv[])
{
TTF_Font *police = NULL;
SDL_Surface *ecran_a1 = NULL,*texte_result = NULL;
SDL_Rect position;
//initSDL();
SDL_Init(SDL_INIT_VIDEO); // Initialisation de la SDL
//initCouleurs() ;//initialise le tableau de couleurs
TTF_Init(); // Initialisation (peut être avant ou après SDL_Init)
gtk_init(&argc, &argv);// Initialisation de GTK+
SDL_WM_SetIcon(SDL_LoadBMP("sdl_icone.bmp"), NULL);// Chargement de l'icône AVANT SDL_SetVideoMode
ecran_a1=SDL_SetVideoMode(800, 600, 32, SDL_HWSURFACE); // Ouverture de la fenêtre
//Chargement de la police
police = TTF_OpenFont("PIXEARG_.ttf",18);
//Ecriture du texte dans la SDL_Surface "texte" en mode Blended (optimal)
//printf("the values of your components are C=%f",c);
texte_result = TTF_RenderText_Blended(police, pointeur, couleurRouge);
position.x = 60;
position.y = 370;
SDL_BlitSurface(texte_result, NULL, ecran_a1, &position); /* Blit du texte par-dessus */
SDL_Flip(ecran_a1);
while (continuer != 0)
{
SDL_WaitEvent(&event);//recuperation de l'evenement dans event
switch(event.type)//test du type d'evenement
{
case SDL_QUIT:
continuer = 0;
break;
case SDL_KEYDOWN: switch (event.key.keysym.sym)
{
case SDLK_r: // Appui sur la touche r,retour menu
continuer = 0;
break;
case SDLK_ESCAPE://appui sur la touche escape ,quitte le programme
continuer = 0;
break;
}
break;
}
}
TTF_Quit();//fermeture de la bibliotheque
SDL_Quit(); // Arrêt de la SDL
return(0);
} |
Partager