int edit_fac() { int nlu,temwh,i,temet; width = 0; height=0; nbpol =0; temwh = 0; temet = 0; ydeb=0; dy=0; nuli=0; for ( i=0; i < CSFnco; ++i) parlf[i].y = 0; while ( (nlu=lect_fis()) > 0 ) { if ( strncmp(ze, "PAGSUIV",7) == 0) break; if ( ze[0] == '#') { nmot = isolmot(ze,nlu); memopol(); continue; } else if ( ze[0] == '$') { nmot = isolmot(ze,nlu); temet = entete(); continue; } // param lu active cairo if (temwh == 0 && width != 0 && height != 0) { surface = cairo_pdf_surface_create(nomfic, width,height); status = cairo_surface_status(surface); if (!surface || status!=CAIRO_STATUS_SUCCESS) { // printf("erreur cairo fic pdf\n"); message(25); return -1; } cr = cairo_create(surface); if ( temet == 1) { // active en tete cairo_save(cr); //cairo_scale(cr, 1./dpp, 1./dpp); pattern = cairo_pattern_create_for_surface(etsurf); cairo_translate(cr,0,0); cairo_pattern_set_filter(pattern, CAIRO_FILTER_BEST); cairo_set_source(cr,pattern); cairo_paint(cr); cairo_restore(cr); } cairo_set_source_rgb(cr, 0, 0, 0); temwh = 1; } if (temwh == 0) continue; // cr,surface non crees // ou erreur ligne avant creation cairo systematique 1er lig windows fic txt nmot = isolmot(ze,nlu); interp(); } // fin boucle lect fgets if (temwh == 0) return -1; // cr, surface non crees for ( i=0; i < CSFnco; ++i) { if (parlf[i].y == 1) { i=-1; break; } // y a-t-il des cde lignes ? } if ( i == -1) implf(); // imprim lignes details cairo_destroy(cr); cairo_surface_destroy(surface); return 0; }
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(); }