Aide compréhension programme
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

Aide compréhension programme



  1. #1
    invitecc83a076

    Aide compréhension programme


    ------

    Bonjour tout le monde,

    Je suis débutant en programmation et on m'a filé un programme en C que je n'arrive pas très bien à comprendre, notamment les "if" avec les arguments ainsi que la dernière ligne (%05.1lf\t| %010.6lf\t| %012.6lf\t| %012.6lf\). Merci de votre aide.

    Code:
    #include<stdio.h>
    #include<stdlib.h>
    
    int main(int argc, char * argv [])
    {
    	double laf, temp, st, ast;
    	char c;
    	FILE *in, *out;
    
    	if(argc>1)
    		in = fopen(argv[1], "r");
    	if(argc==1 || in == NULL)
    		in = fopen("in.xml", "r");
    
    	if (in == NULL) {
    		fprintf(stderr, "Erreur in\n");
    		exit(1);
    	}
    
    	if(argc>2)
    		out = fopen(argv[2], "w");
    	if(argc<=2 || in == NULL)
    		out = fopen("out.txt", "w");
    
    	if (out == NULL) {
    		fprintf(stderr, "Erreur out\n");
    		exit(1);
    	}
    	else
    	{
    		fprintf(out, "| LAF\t| Temperature\t| Stokes \t\t\t| Antistokes\t\t|\n|\t\t|\t\t\t\t|\t\t\t\t\t|\t\t\t\t|\n"); // structure tab
    		while ((c = fgetc(in)) != EOF)
    		{
    
    			if(fscanf(in, "<data id=\"1\">%lf,%lf,%lf,%lf</data>", &laf, &temp, &st, &ast) == 4)
    				fprintf(out, "| %05.1lf\t| %010.6lf\t| %012.6lf\t| %012.6lf\t|\n|\t\t|\t\t\t\t|\t\t\t\t\t|\t\t\t\t|\n", laf, temp, st, ast); 
    	}
    
    	return 0;
    }

    -----

  2. #2
    Jack
    Modérateur

    Re : Aide compréhension programme

    que je n'arrive pas très bien à comprendre, notamment les "if" avec les arguments
    Ce sont les if ou les arguments que tu ne comprends pas? Concernant les arguments, argc correspond au nombre d'arguments passés dans la ligne de commande lors de l'appel de ton programme.

    ainsi que la dernière ligne (%05.1lf\t| %010.6lf\t| %012.6lf\t| %012.6lf\)
    La il faut lire la doc ou la littérature que l'on trouve sur la toile, telle que celle ci: http://www.linux-france.org/prj/embe...matted_io.html

    par exemple, %05.1lf signifie que la variable correspondante (donc laf) sera affichée comme un double (lf = long float) sur une largeur de 5 caractères(5) y compris le point décimal, avec une décimale maxi (.1), le nombre étant justifié à droite et les espaces éventuels remplacés par 0 (0), donc par exemple, pi sera affiché 003.1

  3. #3
    invitecc83a076

    Re : Aide compréhension programme

    Ok merci beaucoup de ton aide !

Discussions similaires

  1. [Python] difficulté compréhension programme
    Par invite4fed8452 dans le forum Programmation et langages, Algorithmique
    Réponses: 13
    Dernier message: 25/08/2015, 14h40
  2. Aide compréhension programme C
    Par inviteaecb579f dans le forum Électronique
    Réponses: 10
    Dernier message: 25/08/2015, 09h45
  3. Compréhension programme de gestion d'anémomètre
    Par invitefb004b2c dans le forum Électronique
    Réponses: 2
    Dernier message: 13/04/2015, 20h02
  4. Compréhension d'un programme
    Par flyingrock dans le forum Électronique
    Réponses: 12
    Dernier message: 08/05/2012, 14h03
  5. compréhension d'un programme assembleur pour afficher un afficheur lcd.
    Par invite71a200f7 dans le forum Électronique
    Réponses: 1
    Dernier message: 09/03/2012, 11h43