Beispiel #1
0
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;
  }
Beispiel #2
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;
}
Beispiel #3
0
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 ?");
}
Beispiel #5
0
int main(void)
{
    titre("TEST DU PARSER D\'EXPRESSIONS MATHEMATIQUES");

    *expression = '\0';
    menu();

    return EXIT_SUCCESS;
}
Beispiel #6
0
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;
}
Beispiel #7
0
/* 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");
	}
}
Beispiel #8
0
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;
}
Beispiel #9
0
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();
	}
}
Beispiel #10
0
/* 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();
	}
}
Beispiel #11
0
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;}

}
Beispiel #12
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);
}
Beispiel #13
0
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;	
}
Beispiel #14
0
/* 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();
}
Beispiel #17
0
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;
}