Ejemplo n.º 1
0
void main(){
 
  Listed L;
  L=NULL;
  ajout(&L,3);
  ajout(&L,7);
  //afficheListe(L);
}
Ejemplo n.º 2
0
Archivo: tp71.c Proyecto: vlnk/isima
int main(int argc, char ** argv)
{
    /*VARIABLES LOCALES*/
    cellule_t *         ptete;
    cellule_t *         ftete;

    /*Allocation de la liste*/
    ptete = (cellule_t *) malloc(sizeof(cellule_t));
    (*ptete).suiv = NULL;

    if (ptete == NULL)
    {
        printf("Allocation impossible");
    }
    else
    {
        /*initialisation du pointeur de fin de liste*/
        ftete = ptete;

        while(!feof(stdin))
        {
            saisie(&ftete);
            ajout(&ftete);
        }

        affiche(ptete);
    }
    liberation(&ptete);

    return 0;
}
Ejemplo n.º 3
0
void MainWindow::on_pushButtonAjoutMedicament_clicked()
{
    //on récup les données
    //combo
    QString nomFam = ui->comboBoxFamilleMedicament->currentText();
    QSqlQuery recupFam("select id FROM famille WHERE libelle='"+nomFam+"';");
    recupFam.first();
    QString famId = recupFam.value(0).toString();

    //le reste
    QString compo = ui->lineEditCompositionMedicament->text();
    QString depLeg = ui->lineEditDepLegalMedicament->text();
    QString nomCom = ui->lineEditNomCommercialMedicament->text();
    QString prixEch= ui->lineEditPrixEchMed->text();
    QString contreIndic = ui->textEditContreIndicMedicament->toPlainText();
    QString effets = ui->textEditEffetsMedicament->toPlainText();

    //on ajoute
    QSqlQuery ajout("insert into medicament VALUES('"+depLeg+"','"+nomCom+"','"+famId+"','"+compo+"','"+effets+"','"+contreIndic+"',"+prixEch+");");
    ajout.exec();

    //on rafraichit
    chargerMed();
    viderChampMed();
  }
Ejemplo n.º 4
0
/*!
 * \brief Constructeur du menu initial de gestion des UVs.
 */
Debut::Debut() {
    this->setWindowTitle(QString("Operation choisie sur les UVs ?"));
    liste=new QComboBox;
    update();
    ajouter=new QPushButton("Ajouter une UV", this);
    consulter=new QPushButton("Consulter les informations sur cette UV", this);
    modifier=new QPushButton("Modifier des informations sur cette UV", this);
    sup=new QPushButton("Supprimer cette UV", this);
    terminer=new QPushButton("Opérations sur les UVs terminées", this);

    coucheH1=new QHBoxLayout;
    coucheH1->addWidget(liste);

    coucheH2=new QHBoxLayout;
    coucheH2->addWidget(consulter);
    coucheH2->addWidget(sup);
    coucheH2->addWidget(ajouter);
    coucheH2->addWidget(modifier);
    coucheH2->addWidget(terminer);

    coucheV=new QVBoxLayout;
    coucheV->addLayout(coucheH1);
    coucheV->addLayout(coucheH2);
    setLayout(coucheV);

    QObject::connect(ajouter, SIGNAL(clicked()), this, SLOT(ajout()));
    QObject::connect(sup, SIGNAL(clicked()), this, SLOT(suppression()));
    QObject::connect(modifier, SIGNAL(clicked()), this, SLOT(modif()));
    QObject::connect(consulter, SIGNAL(clicked()), this, SLOT(afficher()));
    QObject::connect(terminer, SIGNAL(clicked()), this, SLOT(fin()));
}
Ejemplo n.º 5
0
int main()
{
     Arbre *a1 = initialisation(1);
     Arbre *a2 = initialisation(2);
     Arbre *a3 = initialisation(3);
     Arbre *a4 = initialisation(4);
     Arbre *a5 = initialisation(5);
     Arbre *a6 = initialisation(6);
     Arbre *a7 = initialisation(7);
     Arbre *a8 = initialisation(8);
     Arbre *a9 = initialisation(9);
     Arbre *a10 = initialisation(10);
     Arbre *a11 = initialisation(11);
     Arbre *a12 = initialisation(12);
     Arbre *a13 = initialisation(13);
     Arbre *a14 = initialisation(14);
     afficher_prefixe(a1);
     printf("\n");
     ajout(a1,a2,a9);
     ajout(a2,a3,a6);
     ajout(a9,a10,a12);
     ajout(a3,a4,a5);
     ajout(a6,a7,a8);
     ajout(a10,NULL,a11);
     ajout(a12,a13,a14);
     afficher_prefixe(a1);
     printf("Hello world!\n");
     return 0;
}
//Permet de remplir une liste chainée de type ListeCouple avec les occurences différentes de '0' du tableau tab.
void remplitListeTree(ListeCouple **ptrLC,unsigned char *tab){
	int i;
	for (i=0;i<TAILLE;i++){
		if (tab[i]!=0){
			ajout(newArbre(i,tab[i]),ptrLC);
		}
	
	}
}
Ejemplo n.º 7
0
//regroupement est une variente de remplace :
//prend les 2 min de tete1 pour placer la réunion dans tete2
void regroupement(ListeCouple **tete1,ListeCouple **tete2){
	Arbre *arb1 = recupMin(tete1);
	Arbre *arb2 = recupMin(tete1);
        if(arb1 != NULL && arb2 != NULL){
//on ignore les regroupements d'une seule feuille
                Arbre *fusion = combineMerge(arb1, arb2);
                ajout(fusion, tete2);
        }
}
Ejemplo n.º 8
0
Arbre ajout(const Arbre arbre, int e) {
	Cell* newCell;
	newCell = (Cell*)malloc(sizeof(Cell));
	newCell->racine = e;
	newCell->gauche = NULL;
	newCell->gauche = NULL;
	if(estVide(arbre)) {
		arbre = newCell;	
	} else {
		if(e <= arbre->racine) {
			arbre->gauche = ajout(arbre->gauche, e);
		} else {
			arbre->droite = ajout(arbre->droite, e);
		}
	}

	return arbre;
}
Ejemplo n.º 9
0
void MainWindow::on_pushButtonAjoutVisiteur_clicked()
{
    QString matricule = ui->lineEditMatriculeVisisteur->text();
    QString nom = ui->lineEditNomVisiteur->text();
    QString prenom = ui->lineEditPrenomVisiteur->text();
    QString adresse = ui->lineEditAdresseVisiteur->text();
    QString CP = ui->lineEditCPVisiteur->text();
    QString ville = ui->lineEditVilleVisiteur->text();
    QString dateEmb = ui->lineEditDateEmbaucheVisiteur->text();

    //le secteur
    QString nomSec=ui->comboBoxSecteurVisiteur->currentText();
    QSqlQuery recupSec("select id FROM secteur WHERE libelle='"+nomSec+"';");
    recupSec.first();
    QString idSec=recupSec.value(0).toString();

    //le labo
    QString nomLab=ui->comboBoxLaboVisiteur->currentText();
    QSqlQuery recupLab("select id FROM labo WHERE nom='"+nomLab+"';");
    recupLab.first();
    QString idLab = recupLab.value(0).toString();

    //le dep
    QString nomDep = ui->comboBoxDepartementVisiteur->currentText();
    QSqlQuery recupDep("select id FROM departement WHERE nom='"+nomDep+"';");
    recupDep.first();
    QString idDep = recupDep.value(0).toString();

    //le delegue
    QString delegue;
    if(ui->radioButtonDelegueNON->isChecked())
    {
        delegue="0";
    }
    else
    {
        delegue="1";
    }

    //on ajoute
    QString chaineAjoute="insert into visiteur VALUES('"+matricule+"','"+nom+"','"+prenom+"','"+adresse+"','"+CP+"','"+ville+"','"+dateEmb+"','"+idSec+"','"+idLab+"','"+idDep+"',"+delegue+")";
    QSqlQuery ajout(chaineAjoute);
    ajout.exec();

    //on rafraichit
    chargerVis();
    viderChampVis();
}
Ejemplo n.º 10
0
void MainWindow::on_pushButtonAjoutDepartement_clicked()
{
    //on recup les données
    QString nom = ui->lineEditNomDepartement->text();
    QString code= ui->lineEditCodeDepartement->text();
    QString chef = ui->lineEditChefVenteDepartement->text();

    //on ajoute
    QString chaineAjout="insert into departement VALUES('"+code+"','"+nom+"','"+chef+"');";
    QSqlQuery ajout(chaineAjout);
    ajout.exec();

    //on rafraichit
    chargerDep();
    viderChampDep();
    //on met aussi a jour la combo de l'onglet visiteur
    chargerVis();
}
Ejemplo n.º 11
0
Debut::Debut() {

    this->setWindowTitle(QString("Choix de début"));

    ajouter=new QPushButton("Ajouter", this);
    modifier=new QPushButton("Modifier", this);
    sup=new QPushButton("Supprimer", this);

    coucheH=new QHBoxLayout;
    coucheH->addWidget(sup);
    coucheH->addWidget(ajouter);
    coucheH->addWidget(modifier);

    coucheV=new QVBoxLayout;
    coucheV->addLayout(coucheH);
    setLayout(coucheV);

    QObject::connect(ajouter, SIGNAL(clicked()), this, SLOT(ajout()));
    QObject::connect(sup, SIGNAL(clicked()), this, SLOT(suppression()));
    QObject::connect(modifier, SIGNAL(clicked()), this, SLOT(modif()));

}
Ejemplo n.º 12
0
menuFormation::menuFormation(cursusManager *man, UVManager* u)
{
    m=man;
    uvman=u;

    mainbox=new QVBoxLayout(this);
    hbox1=new QHBoxLayout(this);
    hbox2=new QHBoxLayout(this);
    titre=new QLabel("Choisissez une formation et sélectionnez l'opération:",this);
    select=new QComboBox(this);
    visualiser=new QPushButton("Voir les détails",this);
    ajouter=new QPushButton("Ajouter une formation",this);
    modifier=new QPushButton("Modifier",this);
    supprimer=new QPushButton("Supprimer",this);
    quit=new QPushButton("Quitter",this);
    sauver=new QPushButton("Sauver",this);

    select->setFixedWidth(300);
    mainbox->addLayout(hbox1);
    mainbox->addLayout(hbox2);
    hbox1->addWidget(titre);
    hbox1->addWidget(select);
    hbox2->addWidget(visualiser);
    hbox2->addWidget(ajouter);
    hbox2->addWidget(modifier);
    hbox2->addWidget(supprimer);
    hbox2->addWidget(sauver);
    hbox2->addWidget(quit);

    QObject::connect(visualiser,SIGNAL(clicked()),this,SLOT(voir()));
    QObject::connect(ajouter,SIGNAL(clicked()),this, SLOT(ajout()));
    QObject::connect(modifier,SIGNAL(clicked()),this, SLOT(modif()));
    QObject::connect(supprimer,SIGNAL(clicked()),this, SLOT(suppr()));
    QObject::connect(quit,SIGNAL(clicked()),this,SLOT(close()));
    QObject::connect(sauver, SIGNAL(clicked()),this,SLOT(save()));

    update();
}
Ejemplo n.º 13
0
void MainWindow::on_pushButtonAjoutCabinet_clicked()
{
    //on récup les données
    //lineEdit
    QString nom=ui->lineEditLocalCabinet->text();
    QString tel = ui->lineEditTelCabinet->text();
    QString ville = ui->lineEditVilleCabinet->text();

    //id
    QSqlQuery recupId("select max(id)+1 from cabinet;");
    recupId.first();
    QString id=recupId.value(0).toString();

    //on ajoute
    QSqlQuery ajout("insert into cabinet VALUES ("+id+", '"+nom+"', '"+tel+"', '"+ville+"');");
    ajout.exec();

    //on actualise
    chargerCab();
    viderChampsCab();
    //on met aussi a jour la combo de l'onglet praticien
    chargerPrat();
}
Ejemplo n.º 14
0
int main_opt(PROTOC *allprot,POPROT *pop,char *nomout,int nprot)
{	int nit = 0,ifin = 0,nstop,ntest;
	double cri;

	cri = lik(pop);
/*	fprintf(stderr,"Critère au point initial = %lf \n",cri);
*/	ecritprot(nomout,pop,(-1));
	for(nit = 0;nit<100;nit++)
	{
/* A priori, il n'y a aucune chance d'avoir un alpha trop petit a ce stade donc
je mets l'appel a tassement a la fin
*/		nstop = 0;
		do 
		{
			ifin = ajout(allprot,pop,nprot);
			nstop++;
		} while ((cri<(-1e10))& (nstop<100));
		if((nstop>99)& (cri<(-1e10))) 
		{
			fprintf(stderr,"Unable to find a new protocol to add \n");
			return -10;
		}
		if(ifin==1) break; /* Si ifin=1, on sort de la boucle sur nit */
		ntest = doptimal(pop,allprot);
		if(ntest<0)
			return -100;
		tassement(pop);
		ecritprot(nomout,pop,nit);
		if(pop->np>(pop->ndim*(pop->ndim+1)/2)) 
		{
			index_limit(pop);
			return -1;
		}
		cri = lik(pop); /* Updates matrices */
	}
	return nit;
}
Ejemplo n.º 15
0
//remplace les 2 noeuds a enlever de la liste par un noeud dont la ponderation est la somme des 2 remplaces, necessite que les noeuds soient present dans la liste
void remplace(ListeCouple **tete){
	Arbre *arb1 = recupMin(tete);
	Arbre *arb2 = recupMin(tete);
	Arbre *fusion = combine(arb1, arb2);
	ajout(fusion, tete);
}
Ejemplo n.º 16
0
int main(int argc, const char * argv[]) {

    struct maillon *p;
    struct maillon *tmp;
    bool continuer;
    int choix;
    int nbr;
    int numero;
    
    continuer = true;
    init(&p);
    
    while (continuer) {
        cout << "1. Afficher la liste" << endl;
        cout << "2. Ajouter un élément" << endl;
        cout << "3. Compter le nombre de maillon" << endl;
        cout << "4. Faire une rotation" << endl;
        cout << "5. Désinitialiser la liste" << endl;
        cout << "6. QUITTER" << endl;
        
        cout << "Saisir choix : ";
        cin >> choix;
        
        switch (choix) {
            case 1:
                affiche(p);
                break;
                
            case 2:
                cout << "Numéro de l'élément : ";
                cin >> numero;
				tmp = new struct maillon;
                (*tmp).numero = numero;
                ajout(&p, tmp);
				break;
            
            case 3:
                nbr = nbMaillon(p);
				cout << "Il y a " << nbr << " éléments dans la liste" << endl;
				break;

		    case 4:
				if (nbMaillon(p) > 0) {
					rotation(&p);
					cout << "Rotation effectuée." << endl;
				}
				else
					cout << "La liste est vide, impossible de faire une rotation." << endl;
			    break;

		    case 5:
			    desinit(&p);
			    cout << "Liste désinitialisée." << endl;
			    break;

		    case 6:
				continuer = false;
				break;
				
            default:
                break;
        }
    }
    
    return 0;
}
Ejemplo n.º 17
0
//cree une table de longueur pachageMerge a partir d'une liste chainee
unsigned char *creeTableLongueurMerge(ListeCouple *tete,int longMax){
        ListeCouple *Ajouts = NULL ;
//liste des symboles + regroupements
        ListeCouple *Liste ;
        ListeCouple *Copie ;//copie de la Liste pour pouvoir supprimer des elts
        
        int nombreSymboles = taille(tete) ;
        int iteration = 2 ;

//variable pour la recherche dans Ajouts
        ListeCouple *Symbolecourant = tete ; 
        ListeCouple *AjoutCourant ;
        unsigned char *tableLongueur = initialiserTableauChar(TAILLE) ;
        unsigned char charCourant ;
        //int inferieurNMoins2 ;


        while(/*taille(Ajouts)*/ iteration <= longMax){
//tant qu'il que l'on a pas fait N-2 regroupements

                Liste = copie(tete) ;

                //Ajout des regroupements dans la liste et supprimer ceux ci de Ajouts
                while(Ajouts!=NULL) {
                        ajout(Ajouts->noeud,&Liste) ;
                        supprimeTete(&Ajouts) ;
                }
                                
                Copie = copie(Liste) ;
//calcul de tous le Ajouts possibles
                while(Copie != NULL) {
                        //au moins 2 elts dans dans Copie -> on ne groupe pas quand 1 seul elt
                        regroupement(&Copie,&Ajouts);
                }
                iteration++ ;
        }   


//on a suffisament de regroupement il faut donc compter pour chaque caracteres,
//le nombre d'apparission dans Ajouts
        AjoutCourant = Ajouts ;
       // printf("nb symbole = %d\nnb elt dans Ajouts = %d\n",taille(tete),taille(Ajouts)) ;
        
        //inferieurNMoins2 = 1 ;
	while(/*inferieurNMoins2 <= nombreSymboles &&*/ Symbolecourant != NULL) {
//courant contient toujours des feuilles
//on ne prend que les N-2 premiers elts de Ajouts

                charCourant = Symbolecourant->noeud->value ; 
                tableLongueur[(int)charCourant] = 
                        1 + nbOccurences(charCourant,
                                         Ajouts,
                                         nombreSymboles-2) ; 

             //   printf("long(%c) = %d\n",charCourant,tableLongueur[(int)charCourant]) ;

                Symbolecourant = Symbolecourant->suivant ;
                //inferieurNMoins2++ ;
        }
        return tableLongueur ;
}