void main(){ Listed L; L=NULL; ajout(&L,3); ajout(&L,7); //afficheListe(L); }
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; }
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(); }
/*! * \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())); }
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); } } }
//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); } }
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; }
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(); }
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(); }
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())); }
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(); }
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(); }
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; }
//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); }
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; }
//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 ; }