IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

TP DE PROGRAMMATION EN C


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2020
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2020
    Messages : 11
    Par défaut TP DE PROGRAMMATION EN C
    Salut a vous ! j'ai un TP sur la programmation en C. Mais tout au long de mon travail je rencontre beaucoup de problèmes , par exemple après la compilation le je n'obtiens pas vraiment le résultat attendu..... et plein d'autre petit problème. ma préoccupation est vous m'aidiez dans mon travail , pas de faire le travail et de m'envoyer non , je veux bien apprendre , et par conséquent J'ai besoin de quelqu'un avec qui travailler le plus rapidement possible . Dans le lien qui suit se trouve mon dossier de travail ou j'ai loge mes fichiers. j'ai vraiment besoin d'une aide les gars https://drive.google.com/drive/folde...S_?usp=sharing

  2. #2
    Membre expérimenté

    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2012
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2012
    Messages : 329
    Par défaut
    bon j'ai un peu regardé...

    Au niveau du nom des variables et des champs de structures c'est super c'est parlant ^^

    Dans fonction.c

    Ligne 21: je suis un peu dubitatif quant à l'utilisation des "labels" (étiquettes)... en programmation C il faut essayer d'éviter le plus possible les "goto" (programmation spaghetti).

    Conseil: faire une fonction qui valide les entrées (une boucle en gros)...

    C'est super il y a des commentaires ^^

    Ligne 55: fichier2 est bien un pointeur et pour être précis, c'est un pointeur sur une structure (un descripteur de fichier)

    J'ai du mal avec la manière de constituer les blocs façon Kernighan, il paraît que c'est mieux de mettre les accolades à la fin du if(), for(), while(), do()... moi je les ai toujours mises à dessous c'est mieux pour les éditeurs pour assurer les tabulations de manière correctes.
    Mais je pense que c'est une question de goûts et de couleurs.


    A partir de la ligne 110... il doit y avoir un meilleur moyen pour obtenir le même résultat.
    Encore une fois, c'est personnel, je ne trouve pas le "else if" pratique du tout, je ne l'utile jamais.

    Dans tes commentaires, je n'ai pas trouvé ceux qui indiquent les instructions qui ne font pas ce que tu attends d'elles, du coup, c'est un peu difficile pour moi de te conseiller sur une approche ou l'autre.
    De ce que j'ai vu, au niveau de l'écriture du code source, cela m'a l'air correct.

    Je vais compiler et essayer de débusquer les bugs.

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2020
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2020
    Messages : 11
    Par défaut
    Merci déjà pour tes remarques et conseils , je vais m'améliorer. Car cela ne tienne j'ai encore un soucis: j'aimerai savoir comment résoudre mon problème , après avoir compilé et exécuté au niveau des champs a remplir comme par exemple: NOM et PRENOM , après exécution le champ NOM ne demande rien a l'utilisateur et directement le curseur saute et va au niveau du champ PRENOM et stocke la valeur entrée par l'utilisateur ,comment résoudre ce problème???????????

    s'il vous plait je vous ai pas bien saisi au niveau où vous parliez de constituer les blocs de la façon Kernighan

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2020
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2020
    Messages : 11
    Par défaut
    Citation Envoyé par ramzy05 Voir le message
    Merci déjà pour tes remarques et conseils , je vais m'améliorer. Car cela ne tienne j'ai encore un soucis: j'aimerai savoir comment résoudre mon problème , après avoir compilé et exécuté au niveau des champs a remplir comme par exemple: NOM et PRENOM , après exécution le champ NOM ne demande rien a l'utilisateur et directement le curseur saute et va au niveau du champ PRENOM et stocke la valeur entrée par l'utilisateur ,comment résoudre ce problème???????????
    prière de me donner des réponses ici please.

  5. #5
    Membre expérimenté

    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2012
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2012
    Messages : 329
    Par défaut
    je pense que c'est lié à l'utilisation des scanf()... mais je verrais cela demain.

  6. #6
    Membre expérimenté

    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2012
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2012
    Messages : 329
    Par défaut
    Pas su m'en empêcher ^^

    J'ai retrouvé un programme de démonstration utilisé en classe pour démontrer que scanf() est à proscrire pour éviter ce genre d'effets non désirables: impossible de saisir les données avec le fgets() (gets() est à proscrire) qui suit le scanf().

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    	printf("scanf() puis fgets()...\n");
     
    	int 	saloperie;
    	char	strSaloperie[4];
    	char strPreuve[4];
     
    	scanf("%d",&saloperie);
    	fgets(strSaloperie,4,stdin);
     
    	printf("[1] [%d]\n",saloperie);
    	printf("[2] [%s]\n",strSaloperie);
     
    	printf("fgets() et conversion...\n");
    	fgets(strSaloperie,4,stdin);
    	fgets(strPreuve,4,stdin);
     
    	printf("[1] [%d]\n",atoi(strSaloperie));
    	printf("[2] [%s]\n",strPreuve);
    Quand nous devons saisir des données de types différents, moi je conseille à mes élèves de soit utiliser les fonctions développées pour notre laboratoire (qui ressemblent à getline() du C) ou fgets().
    Je conseille de ne JAMAIS mélanger les scanf() et les fgets().

    Alors ça demande de passer par des fonctions comme atoi(), atol(), atof() pour passer les chaînes de caractères saisies aux champs d'un type numérique mais entre cela et mettre des fgetc() pour "manger" le '\n'
    après chaque scanf(), je préfère une instruction atoi()...

    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    fgets(strSaisie,8,stdin);
    b.NOTEPHY=atof(strSaisie); // strtof() fonctionne aussi...
    ...on utilisera toujours la même chaine de saisie qui devra être suffisemment "large" pour contenir toutes les données à saisir.

  7. #7
    Expert confirmé
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 599
    Par défaut
    Citation Envoyé par ramzy05 Voir le message
    s'il vous plait je vous ai pas bien saisi au niveau où vous parliez de constituer les blocs de la façon Kernighan
    C'est juste la manière que tu utilises pour placer tes accolades. Elle est très bien la manière Kernighan, j'ai mis longtemps avant de l'utiliser mais depuis 15 ans j'y suis passé et je pense que c'est une excellente manière de constituer les blocs.

  8. #8
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2020
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2020
    Messages : 11
    Par défaut
    Citation Envoyé par dalfab Voir le message
    C'est juste la manière que tu utilises pour placer tes accolades. Elle est très bien la manière Kernighan, j'ai mis longtemps avant de l'utiliser mais depuis 15 ans j'y suis passé et je pense que c'est une excellente manière de constituer les blocs.
    ah ok je voix. cool

Discussions similaires

  1. Programme de boot qui passe la main à Windows
    Par Bob dans le forum Assembleur
    Réponses: 7
    Dernier message: 25/11/2002, 03h08
  2. [Kylix] Probleme d'execution de programmes...
    Par yopziggy dans le forum EDI
    Réponses: 19
    Dernier message: 03/05/2002, 14h50
  3. communication entre programmes
    Par jérôme dans le forum C
    Réponses: 12
    Dernier message: 16/04/2002, 08h05
  4. Comment débuter en programmation ?
    Par Marc Lussac dans le forum Débuter
    Réponses: 0
    Dernier message: 08/04/2002, 11h29
  5. [Kylix] icone associée à un programme
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 22/03/2002, 09h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo