void afficheChaine(ListeC l) { if(l == '\0') { printf("La chaîne de caractère est vide"); } else printf("%c", l->val); afficheChaine(l->suiv); }
int main( int argc, char** argv) { ListeC l; char *t; remplitMot(argv, argc, &t, &l); afficheChaine(l); return 0; }
int main(int argc, char **argv) { ListeC chaine1 = malloc(sizeof(struct Element)); //char chaine2[200]; int i; for(i=1; i<argc; i++) { chaine1 = ajoutChaine(argv[i], chaine1); } afficheChaine(chaine1); return 0; }
void gestionEvenement(EvenementGfx evenement) { static Bouton *bouton; static bool pleinEcran = false; // Pour savoir si on est en mode plein ecran ou pas static DonneesImageRGB *image = NULL; // L'image a afficher au centre de l'ecran static int numBoutonClique=-1; static DonneesImageGris *donneesImage=NULL; static DonneesImageGris *resultat=NULL; int i; switch (evenement) { case Initialisation: // On initialise toutes les données bufferSaisie = (char*) malloc(ValeurLimite*sizeof(char)); for(i = 0; i < ValeurLimite; i++) bufferSaisie[i] = '\0'; image = lisBMPRGB(nom); bouton=declarationBouton(2); demandeAnimation_ips(1); break; case Affichage: effaceFenetre (255, 255, 255); epaisseurDeTrait(3); couleurCourante(40,140,40); afficheChaine(bufferSaisie, 25, 38, 134); donneesImage=lisBMPGris(nom); resultat=lisBMPGris(nom); donneesImage=filtreMedianRelache(donneesImage); //applicationContraste(donneesImage,donneesImage); applicationLaplacien(donneesImage,resultat); //sobelDirection(donneesImage,resultat); //negatif(resultat); if(GG) resultat=texteG(resultat); if(HH) resultat=texteH(resultat); if(JJ) resultat=texteJ(resultat); //resultat=rechercheZoneDeTexte (resultat); //resultat=RLSA_I(resultat, resultat->largeurImage*0.06, false); //resultat=filtreMedianRelache(resultat); if(ecrisBMPGris_Dans(resultat,"imageGris.bmp")) { image = lisBMPRGB("imageGris.bmp"); //ecrisImage(0,30,Lplateau,Hplateau+30, image->donneesRGB); ecrisImage((largeurFenetre()-image->largeurImage)/2,(hauteurFenetre()-image->hauteurImage)/2,image->largeurImage,image->hauteurImage, image->donneesRGB); BoutonAffichage( bouton,0,25,3); BoutonAffichage( bouton,1,25,3); libereDonneesImageGris(&donneesImage); libereDonneesImageRGB(&image); break; case Clavier: if(!saisie) switch (caractereClavier()) { case 'Q': /* Pour sortir quelque peu proprement du programme */ case 'q': libereDonneesImageRGB(&image); exit(0); break; case 'G': /* Pour sortir quelque peu proprement du programme */ case 'g': GG=true; rien=false; HH=false; JJ=false; break; case 'H': /* Pour sortir quelque peu proprement du programme */ case 'h': GG=false; rien=false; HH=true; JJ=false; break; case 'J': /* Pour sortir quelque peu proprement du programme */ case 'j': GG=false; rien=false; HH=false; JJ=true; break; case 'K': /* Pour sortir quelque peu proprement du programme */ case 'k': GG=false; rien=true; HH=false; JJ=false; break; case 'P': case 'p': pleinEcran = !pleinEcran; // Changement de mode plein ecran if (pleinEcran) modePleinEcran(); else redimensionneFenetre(LargeurFenetre, HauteurFenetre); break; } else { printf("ASCII %d\n", caractereClavier()); scanfgraph(caractereClavier()); rafraichisFenetre(); } break; case ClavierSpecial: printf("ASCII %d\n", toucheClavier()); break; case BoutonSouris: if (etatBoutonSouris() == GaucheAppuye) { } else if (etatBoutonSouris() == GaucheRelache) { // entreeCoordonneesSouris(clic(caseB,abscisseSouris(),ordonneeSouris(),NB_CASES),bouton); //TODO numBoutonClique=clic(bouton,abscisseSouris(),ordonneeSouris(),2); if(numBoutonClique==0){ saisie=true; } if(numBoutonClique==1){ saisie=false; if(bufferSaisie!=NULL) if(bufferSaisie[0]!='\0'){ i=0; do{ nom[i]=bufferSaisie[i]; printf("%c",nom[i]); i++; }while(bufferSaisie[i] != '\0'); nom[i]='\0'; for(i = 0; i < ValeurLimite; i++) bufferSaisie[i] = '\0'; } } } break; if (etatBoutonSouris() == DroiteAppuye) { } break; case Souris: // Si la souris est deplacee break; case Inactivite: // Quand aucun message n'est disponible break; case Redimensionnement: // La taille de la fenetre a ete modifie ou on est passe en plein ecran // Donc le systeme nous en informe break; } } }