int pigaleWindow::save(bool manual) {TopologicalGraph G(GC); /* check overwite is already done if(manual) // check overwrite {QFileInfo fi = QFileInfo(OutputFileName); if(!(IO_Capabilities(OutputDriver)&TAXI_FILE_RECORD_ADD) && fi.exists() ) {if(QMessageBox::warning(this,"Pigale Editor" ,tr("This file already exixts.<br> Overwrite ?") ,QMessageBox::Ok ,QMessageBox::Cancel) == QMessageBox::Cancel)return 0; } } */ if(manual)// ask for a title {Prop1<tstring> title(G.Set(),PROP_TITRE); QString titre(~title()); bool ok = true; titre = QInputDialog::getText(this, "Pigale","Enter the graph name", QLineEdit::Normal,titre, &ok); if(ok && !titre.isEmpty()) title() = (const char *)titre.toLatin1(); else if(!ok) return -1; } if(IO_Save(OutputDriver,G,(const char *)OutputFileName.toLatin1()) == 1) {setPigaleError(-1,QString("Cannot open file:%1").arg(OutputFileName).toLatin1()); return -1; } GraphIndex2 = IO_GetNumRecords(OutputDriver,(const char *)OutputFileName.toLatin1()); banner(); return 0; }
void demanderMetierNouveauPersonnage(void) { static const Metier baseTypeMetier[NB_METIER] = { {"Paysan", 4, 0, 0}, {"Assassin", 0, 4, 0}, {"Forgeron", 0, 0, 4}, {"Laboureur", 3, 1, 0}, {"Charpentier", 3, 0, 1}, {"Marchand", 1, 3, 0}, {"Macon", 0, 3, 1}, {"Bourreau", 1, 0, 3}, {"Marechal", 0, 1, 3}, {"Mineur", 2, 2, 0}, {"Chevalier", 0, 2, 2}, {"Alchimiste", 2, 0, 2}, {"Meunier", 2, 1, 1}, {"Boulanger", 1, 2, 1}, {"Boucher", 1, 1, 2} }; unsigned int choixJoueur; effacer(); titre("Nouvelle Partie", VERT); printf("Quel metier voulez-vous choisir ?\n\n"); afficherDifferentMetier(); choixJoueur = choisirMenuSansOperationPossible(NB_METIER); strcpy(personnage.metier, baseTypeMetier[choixJoueur - 1].nomMetier); personnage.sante += baseTypeMetier[choixJoueur - 1].sante; personnage.protection += baseTypeMetier[choixJoueur - 1].protection; personnage.degatParTour += baseTypeMetier[choixJoueur - 1].degatParTour; }
int main(void) { int i; titre("TEST DE LA BIBLIOTHEQUE CSTACK"); CS_raz(&mapile); info("Empilement de 10 20 30 40 50 60 70 80"); for(i = 10; i < 90; i+=10) CS_push(&mapile, &i); info("Quelques tests"); info("Pile vide\?:\t%d",CS_empty(&mapile)); info("Pile pleine\?:\t%d",CS_full(&mapile)); info("Quelques dépilements"); info("Dépile [%d]",CS_pop(&mapile)); info("Encore [%d]",CS_pop(&mapile)); info("Encore [%d]",CS_pop(&mapile)); info("Etat actuel de la pile"); CS_print_stack(&mapile, print_int); info("5 dépilements de plus"); for(i = 1; i < 6; i++) (void) CS_pop(&mapile); info("Pile vide\?:\t%d\n\n", CS_empty(&mapile)); return EXIT_SUCCESS; }
/* Boutique */ void boutique(void) { Menu menu; effacer(); titre("Boutique", VERT); /* On affiche l'ASCII Art du marchand de la boutique */ lireEtAfficher("ASCII_Art/ASCII_Art_Marchand_Boutique.txt"); printf("\n\n"); /* On affiche le texte de presentation du marchant de la boutique */ lireEtAfficher("Boutique/Texte_Presentation_Marchand.txt"); /* On affiche le nombre de tek du joueur */ printf("Vous avez %d tek ;)\n", inventaire.tek.nbTek); /* On cree un menu : - Acheter des potions - Vendre des tresors - Sortir de la boutique Puis on demande ce que le joueur veut faire */ menuNouveau(&menu); menuAjouter(&menu, acheterBoutique, "Acheter des potions"); menuAjouter(&menu, vendreBoutique, "Vendre des tresors"); menuAjouter(&menu, sortirBoutique, "Sortir de la boutique"); menuChoisirSansOperationPossible(&menu, "Que souhaitez-vous faire ?"); }
int main(void) { titre("TEST DU PARSER D\'EXPRESSIONS MATHEMATIQUES"); *expression = '\0'; menu(); return EXIT_SUCCESS; }
int main(void) { titre("INTERPOLATION PAR LA METHODE DE LAGRANGE"); menu(); //On ne devrait jamais arriver ici ... //A César ce qui est à César! return EXIT_SUCCESS; }
/* Affiche un texte lorsque le joueur se trouve sur la porte de la sortie */ void afficherTextePorteSortie(void) { effacer(); titre("Porte de sortie", VERT); /* Si le joueur possede la cle de fin de niveau */ if(inventaire.possedeCleFinNiveau) { unsigned int choixJoueur; /* On affiche un texte indiquant le passage du prochain niveau */ lireEtAfficher("Sortie/Texte_Porte_Sortie_Cle.txt"); /* On demande si le joueur veut faire un tour a la boutique avant de passer au prochain niveau */ choixJoueur = demanderConfirmation("Voulez-vous aller dans la boutique ? (0/1)", SEPARATION); /* S'il veut */ if(choixJoueur == OUI) /* On appelle la fonction boutique */ boutique(); appuyezEntree("\nAppuyez sur ENTREE pour acceder au prochain niveau"); /* On enleve la cle de fin de niveau de l'inventaire du joueur */ inventaire.possedeCleFinNiveau = 0; /* On incremente de 1 la variable niveauActuel du joueur pour indiquer le passage au prochain niveau */ ++(personnage.niveauActuel); /* On sauvegarde l'inventaire pour que le joueur conserve l'inventaire entre le passage de niveau */ sauvegarderInventaire(); /* On vide le dossier de sauvegarde sur le niveau (car on va changer de niveau) */ viderDossierNiveauSauvegarde(personnage.nom); /* On relance le jeu */ jeu(); } /* Sinon */ else { /* On affiche un texte indiquant qu'il faut une cle au joueur pour passer la porte */ lireEtAfficher("Sortie/Texte_Porte_Sortie.txt"); appuyezEntree("\nAppuyez sur ENTREE pour continuer"); } }
QString caStripPlot::legendText(int i) { char min[20], max[20]; QString MinMax; QString titre(savedTitres.at(i)); sprintf(min, "%.1f", thisYaxisLimitsMin[i]); sprintf(max, "%.1f", thisYaxisLimitsMax[i]); ReplaceTrailingZerosByBlancs(min); ReplaceTrailingZerosByBlancs(max); MinMax.sprintf("[%s,%s]", min, max); MinMax = MinMax.simplified(); MinMax.replace( " ", "" ); titre.append(" "); titre.append(MinMax); return titre; }
void sauvegarderEtQuitterNiveau(void) { unsigned int choixJoueur; effacer(); titre("Sauvegarder et Quitter", VERT); choixJoueur = demanderConfirmation("Voulez-vous vraiment sauvegarder et quitter le niveau ici ? (0/1)", PAS_SEPARATION); if(choixJoueur == OUI) { sauvegarderNiveauActuel(); coloration("\nSauvegarde terminee...\n", VERT); quitter(); } }
/* Categorie vente de la boutique */ void vendreBoutique(void) { unsigned int choixJoueur; int indexTresor; effacer(); titre("Boutique", VERT); /* Si le joueur a des tresors a vendre */ if(joueurPossedeTresor()) { /* On recupere l'index du tresor que le joueur souhaite vendre */ indexTresor = demanderObjetAvendre(); if(indexTresor != -1) { /* On demande la confirmation de la vente */ choixJoueur = demanderConfirmation("Etes vous sur de vouloir vendre cet objet ? (0/1)", SEPARATION); /* Si le joueur veut */ if(choixJoueur == OUI) { /* On vend le tresor */ vendreTresor(indexTresor); appuyezEntree("Appuyez sur ENTREE pour continuer vos ventes"); } /* Si le joueur ne veut pas vendre, on le redirige simplement dans la categorie vente de la boutique*/ /* On revient a la categorie vente de la boutique */ vendreBoutique(); } } /* Sinon le joueur n'a aucun tresor */ else { /* On affiche qu'il n'a rien a vendre et on le redirige vers la boutique */ printf("Vous n'avez rien a vendre ! :'(\n"); appuyezEntree("Appuyez sur ENTREE pour revenir a la boutique"); boutique(); } }
Note* DocumentFactory::chargerNote(const QString& id, const QString& chemin){ QFile fichier(chemin+"/"+id+".txt"); if(fichier.open(QIODevice::ReadOnly | QIODevice::Text)) { QTextStream flux(&fichier); QString titre(flux.readLine()); Note* n= buildNote(id, titre); n->setInTheFile(true); return n; } else { qDebug()<<"note pas charger"; return 0;} }
void sauvegarde(void) { int choixJoueur; char baseNomSauvegarde[NB_SAUVEGARDE][TAILLE_MAX]; titre("Sauvegarde", VERT); afficherMenuSauvegarde(baseNomSauvegarde); choixJoueur = choisirMenu(NB_SAUVEGARDE); if(choixJoueur == REVENIR_ARRIERE) menuPrincipal(); else if(choixJoueur == QUITTER) quitter(); else actionSauvegarde(baseNomSauvegarde, choixJoueur - 1); }
int main(void) { titre("RESOLUTION NUMERIQUE D\'EQUATION DIFFERENTIELLE"); info("On cherche à résoudre une équation différentielle\n\ de la forme y\' = f(x,y) sur l\'intervalle [a,b] avec n points"); info("Saisie des données:\n"); set_f(); set_abn(); debut = 0; info("y0 = y(x0) a été arbitrairement fixé à %d",y_zero); info("Choix de la méthode d'interpolation"); menu(); info("Bonne journée\n\n"); return EXIT_SUCCESS; }
/* Categorie achat de la boutique */ void acheterBoutique(void) { char commande[TAILLE_MAX]; effacer(); titre("Boutique", VERT); /* On affiche les explications pour la categorie achat de la boutique */ lireEtAfficher("Boutique/Texte_Explication_Potion.txt"); /* On affiche les prix */ afficherPrixPotionBoutique(); /* On lit la commande du joueur */ printf("Que souhaitez-vous faire ? (-1 pour revenir dans la boutique)\n\n"); printf("> "); lire(stdin, commande); /* On execute la commande du joueur */ executerCommandeAcheterBoutique(commande); }
/* Sauvegarde le niveau et quitte le jeu */ void sauvegarderEtQuitterNiveau(void) { unsigned int choixJoueur; effacer(); titre("Sauvegarder et Quitter", VERT); /* On demande la confirmation du joueur */ choixJoueur = demanderConfirmation("Voulez-vous vraiment sauvegarder et quitter le niveau ici ? (0/1)", PAS_SEPARATION); /* S'il veut bien sauvegarder et quitter le niveau */ if(choixJoueur == OUI) { /* On sauvegarde le niveau */ sauvegarderNiveauActuel(); /* On affiche un texte indiquant la fin de la sauvegarde */ coloration("\nSauvegarde terminee...\n", VERT); /* On quitte */ quitter(); } }
void main () { int position,choix=-1,choix1=-1,choix1_2=-1,N,i=1; /*Déclaration des variables*/ float Xi[MAX],Yi[MAX],result[10]; float ProduitXiYi[MAX]; float carre_ecart_a_moyenne_Xi[MAX]; float carre_ecart_a_moyenne_Yi[MAX]; int j = 0; while (j < 53) { Xi[j] = data[0].country_nb[j]; Yi[j] = data[8].country_nb[j]; j++; } /*Appel de la fonction d'affichage d'en-tête*/ entete(); /********/ /* MENU */ /********/ while(choix!=0) { titre("Menu Principale:"); printf("\nEntrez le num%cro de l\'op%cration d%csir%ce:\n",130,130,130,130); printf("\n(1) Entrer o%c modifier les donn%ces (Xi et Yi).",151,130); printf("\n(2) D%cterminer l\'%cquation de la droite",130,130); printf("\n(3) Afficher le tableau des valeurs interm%cdiaires.",130); printf("\n(4) Afficher les r%csultats.",130); printf("\n(5) Sauvegadrer les donn%ces dans un fichier.",130); printf("\n(0) Quitter le programme."); printf("\n\n Quel est votre choix? :"); scanf("%d",&choix); switch (choix) { case 1: { choix1=-1;choix1_2=-1; while(choix1!=0) { titre("Menu Donnees:"); printf("\nEntrez le num%cro de l\'op%cration d%csir%ce:\n",130,130,130,130); printf("\n(1) Entrer des nouvelles valeurs."); printf("\n(2) Modiffier les valeurs existantes."); printf("\n(3) Revenir au menu principale."); printf("\n(0) Quitter le programme."); printf("\n\n Quel est votre choix? :"); scanf("%d",&choix1); switch (choix1) { case 1: { titre("Donnees:");/*Fonction d'affichage de titre*/ /*Appel de la fonction d'entrée du nombre d'élement*/ N=nbrelement(); i=1; /*Entree des élements Xi*/ titre("Entree des valeurs de Xi:");/*Fonction d'affichage de titre*/ while (i<(N+1)) { printf("Entrez la valeur de X%d: ",i); scanf("%f",&Xi[i]);i++; }; i=1; /*Entree des élements Yi*/ titre("Entree des valeurs de Yi:");/*Fonction d'affichage de titre*/ while (i<(N+1)) { printf("Entrez la valeur de Y%d: ",i); scanf("%f",&Yi[i]);i++; } printf("\nTappez une touche pour revenir au menu pr%cc%cdant:",130,130); getchar(); getchar(); printf("\n\n"); };break; case 2: { choix1_2=-1; while(choix1_2!=0) { titre("Menu Modiffication Donnees"); printf("\nEntrez le num%cro de l\'op%cration d%csir%ce:\n",130,130,130,130); printf("\n(1) Modifier un %cl%cment des Xi.",130,130); printf("\n(2) Modifier un %cl%cment des Yi.",130,130); printf("\n(3) Revenir au menu pr%cc%cdant.",130,130); printf("\n(4) Revenir au menu principale."); printf("\n(0) Quitter le programme."); printf("\n\n Quel est votre choix? :"); scanf("%d",&choix1_2); switch (choix1_2) { case 1: { titre("Modiffication d'un element des Xi:"); printf("Entrez la position de l\'%cl%cment dans le tableau:",130,130); scanf("%d",&position); printf("\nEntrez la nouvelle valeur de X%d:",position); scanf("%lf",&Xi[position]); printf("\n Modification %cffectu%ce...\n",130,130); };break; case 2: { printf("\n\nEntrez la position de l\'%cl%cment dans le tableau:",130,130); scanf("%d",&position); printf("\nEntrez la nouvelle valeur de Y%d:",position); scanf("%lf",&Yi[position]); printf("\n Modification %cffectu%ce...\n",130,130); };break; case 3:choix1=-1;choix1_2=0;break; case 4:choix1_2=0;choix1=0;choix=-1;break; case 0:choix1=0;choix1_2=0;break; default:;break; } } };break; case 3:choix=-1;choix1=0;break; case 0:choix=0;choix1=0;break; default:printf("\n Entr%ce non valide!");break; } } };break; case 2: { /*Appel de la fonction de regression linéaire*/ regression(Xi,Yi,N,result,ProduitXiYi,carre_ecart_a_moyenne_Xi,carre_ecart_a_moyenne_Yi); printf("\nOp%Cration termin%ce...\n",130,130); /*Affichage de l'éqation et de la corrélation "r"*/ aff_equation(result); printf("\nCoefficient de corr%clation:=> r = %lf\n\n",130,result[9]); printf("Tappez une touche pour revenir au menu pr%cc%cdant:",130,130); getchar(); getchar(); printf("\n\n"); };break; case 3: { /*Affichage du tableau des resultats*/ affich_tab(result,Xi,Yi,ProduitXiYi,carre_ecart_a_moyenne_Xi,carre_ecart_a_moyenne_Yi,N); printf("\nTappez une touche pour revenir au menu pr%cc%cdant:",130,130); getchar(); getchar(); printf("\n\n"); };break; case 4: { /*Affichage des résultats*/ affichage(result); printf("\nTappez une touche pour revenir au menu pr%cc%cdant:",130,130); getchar(); };break; case 5: { fichier(result,Xi,Yi,ProduitXiYi,carre_ecart_a_moyenne_Xi,carre_ecart_a_moyenne_Yi,N); printf("\nTappez une touche pour revenir au menu pr%cc%cdant:",130,130); getchar(); } case 0:;break; default:printf("\nEntree non valide!\n");break; }; } getchar(); }
Unichar BoiteDialogue::afficher(Unichar const &texte, Unichar const &description, Unichar const &bouton1, Unichar const &bouton2, Unichar const &bouton3) { Unichar retour; AfficheurImage fond(Ecran::ecran(), *Ecran::apercu(), Couleur::noir, Couleur(Couleur::noir, 150)); TexteEtiquette titre(Unichar(), glm::vec2(20, 20), POLICE_NORMALE, 18, Couleur::blanc); titre.definirDimensions(glm::vec2(Ecran::largeur() * 4 / 5 - 40, 10)); titre.definirValeurTexte(texte); TexteEtiquette sousTitre(Unichar(), glm::vec2(20, titre.position().y + titre.dimensions().y + 20), POLICE_NORMALE, 15, Couleur::blanc); sousTitre.definirDimensions(glm::vec2(Ecran::largeur() * 4 / 5 - 40, 10)); sousTitre.definirValeurTexte(description); Bouton b1(glm::vec2(50, 0), bouton1); Bouton b2(glm::vec2(50, 0), bouton2); Bouton b3(glm::vec2(50, 0), bouton3); double largeur = b1.dimensions().x; if(!bouton2.empty()) largeur += 50 + b2.dimensions().x; if(!bouton3.empty()) largeur += 50 + b3.dimensions().x; b1.definirPosition(glm::vec2(Ecran::largeur() * 4 / 5 - 20 - b1.dimensions().x, titre.position().y + titre.dimensions().y + 50)); b1.definirAction(BoiteDialogue::bouton); b1.definirParametreAction(&retour); b1.definirRaccourci(Session::T_ENTREE); if(!bouton2.empty()) { b2.definirPosition(glm::vec2(b1.position().x - 20 - b2.dimensions().x, titre.position().y + titre.dimensions().y + 50)); b2.definirAction(BoiteDialogue::bouton); b2.definirParametreAction(&retour); b2.definirRaccourci(Session::T_ESC); } if(!bouton3.empty()) { if(!bouton2.empty()) b3.definirPosition(glm::vec2(b2.position().x - 50 - b3.dimensions().x, titre.position().y + titre.dimensions().y + 50)); else b3.definirPosition(glm::vec2(b1.position().x - 50 - b3.dimensions().x, titre.position().y + titre.dimensions().y + 50)); b3.definirAction(BoiteDialogue::bouton); b3.definirParametreAction(&retour); b3.definirRaccourci(Session::T_ESPACE); } AfficheurCouleur cadre(Rectangle(0, 0, Ecran::largeur() * 4 / 5, b1.cadre().haut + b1.cadre().hauteur + 20), Couleur(Couleur::noir, 120)); titre.definirPosition(glm::vec2(20, 20)); cadre.definirPosition(glm::vec2(std::max<coordonnee_t>(0.0, (Ecran::largeur() - cadre.dimensions().x)/ 2), 3 * Ecran::hauteur() / 7 - cadre.dimensions().y /2)); fond.ajouterEnfant(cadre); cadre.ajouterEnfant(b1); if(!bouton2.empty()) cadre.ajouterEnfant(b2); if(!bouton3.empty()) cadre.ajouterEnfant(b3); cadre.ajouterEnfant(titre); cadre.ajouterEnfant(sousTitre); Ecran::definirPointeurAffiche(true); Session::ajouterVueFenetre(&fond); if(Session::evenement(Session::QUITTER)) Session::reinitialiser(Session::QUITTER); return retour; }