Programmatin langage c dev c++
Fermé
vialhocima
Messages postés
28
Date d'inscription
dimanche 1 février 2009
Statut
Membre
Dernière intervention
15 août 2009
-
3 févr. 2009 à 20:18
vialhocima Messages postés 28 Date d'inscription dimanche 1 février 2009 Statut Membre Dernière intervention 15 août 2009 - 4 févr. 2009 à 21:23
vialhocima Messages postés 28 Date d'inscription dimanche 1 février 2009 Statut Membre Dernière intervention 15 août 2009 - 4 févr. 2009 à 21:23
A voir également:
- Programmatin langage c dev c++
- Telecharger dev c++ - Télécharger - Langages
- Langage ascii - Guide
- Massgrave dev - Accueil - Windows
- Dev home. - Télécharger - Développement
- Langage binaire - Guide
5 réponses
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
4 févr. 2009 à 17:10
4 févr. 2009 à 17:10
j'ai ça :
conio.c
Mais comme tu voi il manque des fonctions. a toi de trouver sur le net ce qu'il manque.
conio.c
/* A conio implementation for Mingw/Dev-C++. * * Written by: * Hongli Lai <hongli@telekabel.nl> * tkorrovi <tkorrovi@altavista.net> on 2002/02/26. * Andrew Westcott <ajwestco@users.sourceforge.net> * * Offered for use in the public domain without any warranty. */ #ifndef _CONIO_C_ #define _CONIO_C_ #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <windows.h> #include <string.h> #include "conio.h" #ifdef __cplusplus extern "C" { #endif static int __BACKGROUND = BLACK; static int __FOREGROUND = LIGHTGRAY; void clrscr () { DWORD written; FillConsoleOutputAttribute (GetStdHandle (STD_OUTPUT_HANDLE), __FOREGROUND + (__BACKGROUND << 4), 2000, (COORD) {0, 0}, &written); FillConsoleOutputCharacter (GetStdHandle (STD_OUTPUT_HANDLE), ' ', 2000, (COORD) {0, 0}, &written); gotoxy (1, 1); } void clreol () { COORD coord; DWORD written; CONSOLE_SCREEN_BUFFER_INFO info; GetConsoleScreenBufferInfo (GetStdHandle (STD_OUTPUT_HANDLE), &info); coord.X = info.dwCursorPosition.X; coord.Y = info.dwCursorPosition.Y; FillConsoleOutputCharacter (GetStdHandle (STD_OUTPUT_HANDLE), ' ', info.dwSize.X - info.dwCursorPosition.X, coord, &written); gotoxy (coord.X, coord.Y); } void delline() { COORD coord; DWORD written; CONSOLE_SCREEN_BUFFER_INFO info; GetConsoleScreenBufferInfo (GetStdHandle (STD_OUTPUT_HANDLE), &info); coord.X = info.dwCursorPosition.X; coord.Y = info.dwCursorPosition.Y; FillConsoleOutputCharacter (GetStdHandle (STD_OUTPUT_HANDLE), ' ', info.dwSize.X * info.dwCursorPosition.Y, coord, &written); gotoxy (info.dwCursorPosition.X + 1, info.dwCursorPosition.Y + 1); } int _conio_gettext (int left, int top, int right, int bottom, char *str) { int i, j, n; SMALL_RECT r; CHAR_INFO buffer[25][80]; r = (SMALL_RECT) {left - 1, top - 1, right - 1, bottom - 1}; ReadConsoleOutput (GetStdHandle (STD_OUTPUT_HANDLE), (PCHAR_INFO) buffer, (COORD) {80, 25}, (COORD) {0, 0}, &r); lstrcpy (str, ""); for (i = n = 0; i <= bottom - top; i++) for (j = 0; j <= right - left; j++) { str[n] = buffer[i][j].Char.AsciiChar; n++; } str[n] = 0; return 1; } void gotoxy(int x, int y) { COORD c; c.X = x - 1; c.Y = y - 1; SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c); } void puttext (int left, int top, int right, int bottom, char *str) { int i, j, n; SMALL_RECT r; CHAR_INFO buffer[25][80]; memset (buffer, 0, sizeof (buffer)); r = (SMALL_RECT) {left - 1, top - 1, right - 1, bottom - 1}; for (i = n = 0; i <= bottom - top; i++) for (j = 0; j <= right - left && str[n] != 0; j++) { buffer[i][j].Char.AsciiChar = str[n]; buffer[i][j].Attributes = FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED; n++; } WriteConsoleOutput (GetStdHandle (STD_OUTPUT_HANDLE), (CHAR_INFO *) buffer, (COORD) {80, 25}, (COORD) {0, 0}, &r); } void _setcursortype (int type) { CONSOLE_CURSOR_INFO Info; Info.dwSize = type; SetConsoleCursorInfo (GetStdHandle (STD_OUTPUT_HANDLE), &Info); } void textattr (int _attr) { SetConsoleTextAttribute (GetStdHandle(STD_OUTPUT_HANDLE), _attr); } void textbackground (int color) { __BACKGROUND = color; SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE), __FOREGROUND + (color << 4)); } void textcolor (int color) { __FOREGROUND = color; SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE), color + (__BACKGROUND << 4)); } int wherex () { CONSOLE_SCREEN_BUFFER_INFO info; GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &info); return info.dwCursorPosition.X + 1; } int wherey () { CONSOLE_SCREEN_BUFFER_INFO info; GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &info); return info.dwCursorPosition.Y + 1; } #ifdef __cplusplus } #endif #endif /* _CONIO_C_ */et ça : conio.h
/* A conio implementation for Mingw/Dev-C++. * * Written by: * Hongli Lai <hongli@telekabel.nl> * tkorrovi <tkorrovi@altavista.net> on 2002/02/26. * Andrew Westcott <ajwestco@users.sourceforge.net> * * Offered for use in the public domain without any warranty. */ #ifndef _CONIO_H_ #define _CONIO_H_ #include <stdio.h> #ifdef __cplusplus extern "C" { #endif #define BLINK 0 typedef enum { BLACK, BLUE, GREEN, CYAN, RED, MAGENTA, BROWN, LIGHTGRAY, DARKGRAY, LIGHTBLUE, LIGHTGREEN, LIGHTCYAN, LIGHTRED, LIGHTMAGENTA, YELLOW, WHITE } COLORS; #define cgets _cgets #define cprintf _cprintf #define cputs _cputs #define cscanf _cscanf #define ScreenClear clrscr /* blinkvideo */ void clreol (void); void clrscr (void); int _conio_gettext (int left, int top, int right, int bottom, char *str); /* _conio_kbhit */ void delline (void); /* gettextinfo */ void gotoxy(int x, int y); /* highvideo insline intensevideo lowvideo movetext normvideo */ void gotoxy(int x, int y); void puttext (int left, int top, int right, int bottom, char *str); // Screen Variables /* ScreenCols ScreenGetChar ScreenGetCursor ScreenMode ScreenPutChar ScreenPutString ScreenRetrieve ScreenRows ScreenSetCursor ScreenUpdate ScreenUpdateLine ScreenVisualBell _set_screen_lines */ void _setcursortype (int type); void textattr (int _attr); void textbackground (int color); void textcolor (int color); /* textmode */ int wherex (void); int wherey (void); /* window */ /* The code below was part of Mingw's conio.h */ /* * conio.h * * Low level console I/O functions. Pretty please try to use the ANSI * standard ones if you are writing new code. * * This file is part of the Mingw32 package. * * Contributors: * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp> * * THIS SOFTWARE IS NOT COPYRIGHTED * * This source code is offered for use in the public domain. You may * use, modify or distribute it freely. * * This code is distributed in the hope that it will be useful but * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY * DISCLAMED. This includes but is not limited to warranties of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * * $Revision: 1.4 $ * $Author: hongli $ * $Date: 2002/04/26 19:31:25 $ * */ char* _cgets (char*); int _cprintf (const char*, ...); int _cputs (const char*); int _cscanf (char*, ...); int _getch (void); int _getche (void); int _kbhit (void); int _putch (int); int _ungetch (int); int getch (void); int getche (void); int kbhit (void); int putch (int); int ungetch (int); #ifdef __cplusplus } #endif #endif /* _CONIO_H_ */
Mais comme tu voi il manque des fonctions. a toi de trouver sur le net ce qu'il manque.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
3 févr. 2009 à 21:48
3 févr. 2009 à 21:48
Salut,
Ce n'est pas l'environnement de développements qui détermine les bibliothèques du C mais le C lui-même.
Donc que tu programmes avec DevC++, Turbo C, code::blocks etc, tu as les mêmes fonctions C. Après, il se peut que l'IDE donne d'autres fonctions, mais elles ne sont pas standards et ne doivent pas être utilisées.
Un petit tuto : https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c
Sinon, si tu veux savoir toutes les fonctions, tu ouvres tes fichiers .h ;). Ils contiennent les prototypes.
Cdlt
Ce n'est pas l'environnement de développements qui détermine les bibliothèques du C mais le C lui-même.
Donc que tu programmes avec DevC++, Turbo C, code::blocks etc, tu as les mêmes fonctions C. Après, il se peut que l'IDE donne d'autres fonctions, mais elles ne sont pas standards et ne doivent pas être utilisées.
Un petit tuto : https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c
Sinon, si tu veux savoir toutes les fonctions, tu ouvres tes fichiers .h ;). Ils contiennent les prototypes.
Cdlt
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
4 févr. 2009 à 09:00
4 févr. 2009 à 09:00
Salut.
à fiddy : Turbo C++ de borland est assez vieux et était plutôt orienté console. Il y a dedans pas mal de fonctions C à la fois, très pratiques très utilisés et pas standard qui permettent de gérer la console (couleur, positionnement du curseur etc.). En général, ces fonctions viennent de conio.h et permettent de faire facilement un programme console convivial et jolie. Je pense qu'elle ne sont pas conservé pour des raison de compatibilité.
les fonctions standard en C pour l'aléatoire, c'est rand() et randomize(), mais il faut inclure le bon fichier pour les appeler (surement stdlib.h). Pour les couleurs, je n'ai pas de solution. Tu peux toujours essayé de récupérer les sources du turbo C, et de les compiler avec gcc (le compilateur de DevCpp). Je l'avais fait, mais ce n'est pas évident.
à fiddy : Turbo C++ de borland est assez vieux et était plutôt orienté console. Il y a dedans pas mal de fonctions C à la fois, très pratiques très utilisés et pas standard qui permettent de gérer la console (couleur, positionnement du curseur etc.). En général, ces fonctions viennent de conio.h et permettent de faire facilement un programme console convivial et jolie. Je pense qu'elle ne sont pas conservé pour des raison de compatibilité.
les fonctions standard en C pour l'aléatoire, c'est rand() et randomize(), mais il faut inclure le bon fichier pour les appeler (surement stdlib.h). Pour les couleurs, je n'ai pas de solution. Tu peux toujours essayé de récupérer les sources du turbo C, et de les compiler avec gcc (le compilateur de DevCpp). Je l'avais fait, mais ce n'est pas évident.
vialhocima
Messages postés
28
Date d'inscription
dimanche 1 février 2009
Statut
Membre
Dernière intervention
15 août 2009
2
4 févr. 2009 à 16:52
4 févr. 2009 à 16:52
je vous remercie tous les deux pour vos reponse, c'est tres gentil de votre part
a char sniper, tu viens de dire que pour les couleurs tu as pris les codes sorces de turbo c et les a compiller avec gcc
stp , veux tu bien expliquer davantage en detaillant et merci d'avance
a char sniper, tu viens de dire que pour les couleurs tu as pris les codes sorces de turbo c et les a compiller avec gcc
stp , veux tu bien expliquer davantage en detaillant et merci d'avance
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
4 févr. 2009 à 12:27
4 févr. 2009 à 12:27
@ Char Snipeur
Il y a dedans pas mal de fonctions C à la fois, très pratiques très utilisés et pas standard
Oui, je suis d'accord. Mais conio.h n'est pas propre à turboC++. Et puis ce n'est pas portable.
Sinon, les fonctions pour l'aléa : c'est srand pour initialiser la graine et rand() pour avoir une valeur pseudo-aléatoire.
Par exemple :
Cdlt
Il y a dedans pas mal de fonctions C à la fois, très pratiques très utilisés et pas standard
Oui, je suis d'accord. Mais conio.h n'est pas propre à turboC++. Et puis ce n'est pas portable.
Sinon, les fonctions pour l'aléa : c'est srand pour initialiser la graine et rand() pour avoir une valeur pseudo-aléatoire.
Par exemple :
#include <time.h> #include <stdlib.h> srand(time(NULL)); //permet d'initialiser la graine en se basant sur time dont la granularité est des secondes. rand(); //pour avoir la valeur pseudo-aléatoire entre 0 et RAND_MAX.
Cdlt
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
4 févr. 2009 à 14:22
4 févr. 2009 à 14:22
Oups, en effet, randomize c'était une réminiscence de turbo C et de turbo pascal...
srand en C standard.
conio n'est pas propre à Borland ? qui d'autre l'utilise, je ne l'ai vu que là.
srand en C standard.
conio n'est pas propre à Borland ? qui d'autre l'utilise, je ne l'ai vu que là.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
4 févr. 2009 à 17:55
4 févr. 2009 à 17:55
conio.h était utilisé par les compilateurs MS-DOS. A l'origine, c'était même implémenté par Visual C++ (je ne sais plus si c'est toujours le cas). En tout cas, conio.h est plutôt utilisé pour les applications DOS et ils se trouvent que les consoles windows ont un minimum de compatibilité. D'où l'utilisation par turbo C++ par exemple, mais ce n'est pas propre à eux.
4 févr. 2009 à 21:23
les programmes que tu viens de m'envoyer me seront un point de depart interessant.
@+