int main() {
    char str[MAX_LONG_NOM + 1];
    char p[MAX_LONG_POSTE + 1];
    int i = 0;
    employe y[30];
    lireFichier(EMP, y, &i);
    for ( ; i>0; i--) {
        getPoste(y[i-1].poste, p);
        printf("\nEmploye #%d - Nom:     %s", i, y[i-1].nom);
        printf("\nEmploye #%d - Poste:   %s", i, p);
        printf("\nEmploye #%d - Heures:  %4.1fh par semaine", i, y[i-1].heures);
        printf("\nEmploye #%d - Taux:    %5.2f$ de l'heure", i, y[i-1].taux);
        printf("\n");
    }
    return 0;
}
Exemple #2
0
/*! \brief Fonction principale: on peut choisir le nombre de points
* en utilisant l'option "-nX" où X est un entier strictement
* positif.
* \remark Mettre opterr a 0 equivaut a supprimer volontairement les messages d'erreur renvoyes par getopt 
* lors de la lecture d'options non prevus sur la ligne de commande. Dans ces cas, l'erreur est traitee grace au
* fait que getopt retourne la valeur '?', qui est donc traitee a part
* \remark "n:" signifie que l'option n s'accompagne de la lecture immediate d'une valeur. Il ne faut pas
* laisser d'espace entre -n et le nombre tape. Exemple: two -n1000.\par
* La lecture est effectuee par un sscanf (lecture d'une chaine supposee formattee) sur l'argument ad hoc, optarg,
* declare dans les routines de lecture de la ligne de commande.
*/
int main(int argc, char **argv)  
{  
	int c;
	
	opterr = 0;
	while ((c = getopt(argc, argv, "n:f:?h")) != EOF)
	{
		switch (c)
		{
			case 'n': 
				if ((sscanf(optarg, "%d", &nbPoints) != 1) || nbPoints <= 0)
					nbPoints = 50;
				break;
			case 'f': 
				if ((sscanf(optarg, "%d", &nbPoints) != 1) || nbPoints <= 0)
					nbPoints = 50;
				break;
			case 'h': 
			case '?': 
				printf("use option -nX or -fX (no space), with 0 < X.\n");
				return EXIT_SUCCESS;  
				break;
			default : printf("Shouldn't be here, really...\n");
				break;
		}
	}
	assert(nbPoints > 0);
	T = (vertex *) malloc(sizeof(vertex)*nbPoints);
	assert(T != NULL);

	glutInit(&argc, argv);  
	glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);  
	glutInitWindowPosition(5,5);  
	glutInitWindowSize(300,300);  
	glutCreateWindow("fenetre");  

	lireFichier("coord2.txt");
	winInit();
	selectPoints();
	positionPointsParRapportPolygone();


	glutDisplayFunc(display);
	glutMainLoop();  

	return EXIT_SUCCESS;  
}  
Exemple #3
0
//appelle les différentes fonctions du programme
void analyserLecture(char* lecture){
    if(!strncmp("creation_repertoire ", lecture, 20)){
        lecture = lecture + 20;
        if (verifierCheminAbsolu(lecture)
            && verifierExisteDeja(lecture)){
            creerRepertoire(lecture);
        }

    }else if(!strncmp("suppression_repertoire ", lecture, 23)){
        lecture = lecture + 23;
        supprimerRepertoire(lecture);

    }else if(!strncmp("creation_fichier ", lecture, 17)){
        lecture = lecture + 17;
        if (verifierFicLongueur(lecture)){
            char * contenu = strchr(lecture, ' ');
            char nom[1000] = {'\0'};
            int lenContenu = strlen(contenu);
            int len = strlen(lecture);
            int pos = len - lenContenu;
            strncpy(nom, lecture, pos);
            contenu++;
            if (verifierExisteDeja(nom) && verifierCheminAbsolu(nom)){
                creerFichier(nom, contenu);
            }
        }

    }else if(!strncmp("suppression_fichier ", lecture, 20)){
        lecture = lecture + 20;
        supprimerRepertoire(lecture);

    }else if(!strncmp("lire_fichier ", lecture, 13)){
        lecture = lecture + 13;
        lireFichier(lecture);

    }else{
        printf("Commande invalide\n");
    }
    return;
}
Exemple #4
0
int main(int argc, char **argv)  
{  

	int c;
	int pol,conv;
	int option1 = 0, option2 = 0, option3 = 0, option4 = 0;
	int nbPoints = 50;
	vertex *v;
	
	opterr = 0;
	while ((c = getopt(argc, argv, "1i:2o:34n:")) != EOF)
	{
		switch (c)
		{
			case '1': 
				option1 = 1;
				break;
			case '2': 
				option2 = 1;
				break;
			case '3': 
				option3 = 1;
				break;
			case '4': 
				option4 = 1;
				break;
			case 'n': 
				if ((sscanf(optarg, "%d", &nbPoints) != 1) || nbPoints <= 0)
					nbPoints = 50;
				break;
			case 'o': /*verifier non null*/
				out = optarg;
				break;
			case 'i': /*verifier non null*/
				in = optarg; 
				break;
			case 'h': 
			case '?': 
				printf("-1 partie 1 du tp\n");
				printf("-2 partie 2 du tp\n");
				printf("-3 partie 3 du tp\n");
				printf("-ichaine ouvre le fichier \"chaine\" en lecture \n");
				printf("-ochaine ouvre le fichier \"chaine\" en écriture \n");
				return EXIT_SUCCESS;  
				break;
			default : printf("Shouldn't be here, really...\n");
				break;
		}
	}

	glutInit(&argc, argv);  
	glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);  
	glutInitWindowPosition(5,5);  
	glutInitWindowSize(500,500);

	glutCreateWindow("fenetre"); 
	definitionFenetre(0, 500, 0, 500, 10);
	winInit();

	if(option1 && out != NULL)
	{
		glutDisplayFunc(display);	
		glutMouseFunc(coordonnesPoint);
		ecrireFichier(out, &P);
	}
	else if(option2 && in != NULL)
	{
		lireFichier(in, &P);
		assert(P.p != NULL);
		pol = controlePolygoneSimple();
		printf("controlePolygoneSimple : %d\n", pol);
		//glutDisplayFunc(displayPolygone);
	}
	else if(option3 && in != NULL)
	{
		lireFichier(in, &P);
		assert(P.p != NULL);
		if(controlePolygoneSimple())
			conv = estConvexe();
	}
	else if(option4 && in != NULL)
	{

		lireFichier(in, &P);
		assert(P.p != NULL);
		ALLOUER(v,nbPoints);
		selectPoints (v, nbPoints);
		if(controlePolygoneSimple() && estConvexe())
			positionPointsParRapportPolygone(v, nbPoints);
		free(v);
	}

	glutMainLoop(); 
	clearFenetre();
	return EXIT_SUCCESS;  
}