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 :

problème sur un exercice de langage C


Sujet :

C

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2021
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2021
    Messages : 1
    Points : 1
    Points
    1
    Par défaut problème sur un exercice de langage C
    Bonjour,

    J'ai un exercice à faire sur les pointeurs il y a juste une seule question mais je n'ai jamais fait de programmation quelqu'un pourrait m'aider ?

    Exercice 1 : Pointeurs
    Soit le programme suivant :
    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
    19
    20
    21
    #include<stdio.h>
    #include<stdlib.h>
    typedef char *P_CHAR; /* type "pointeur sur char" */
    typedef int *P_INT; /* type "pointeur sur int" */
    void main()
    {
    P_CHAR p_char, q_char;
    P_INT p_int, q_int;
    char car;
    p_char = malloc(sizeof(char));
    p_int = malloc(sizeof(int));
    printf("Saisissez une lettre de l’alphabet a-z en minuscule : ");
    scanf("%c", &car);
    *p_char = car;
    // instructions manquantes
    ...
    printf("La lettre saisie est %c\n", *p_char);
    printf("Son code ASCII est %d\n", *p_int);
    printf("Sa majuscule est %c\n", *q_char);
    printf("Le code ASCII de la majuscule équivalente est %d\n", *q_int);
    }
    Question 1. Complétez le programme ci-dessus avec les instructions manquantes pour qu’il s’exécute correctement, c’est-à-dire que les affichages réalisés soient corrects. Bien sur, il ne vous est pas demandé de recopier tout le programme, mais uniquement d’écrire sur votre copie les instructions manquantes.

  2. #2
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 291
    Points : 4 941
    Points
    4 941
    Billets dans le blog
    5
    Par défaut
    Bonjour.

    Sans répondre à la question je me permet un petit coup de gueule qui n’est pas dirigé vers toi mais vers ces chers professeurs.

    Vous apprendre le C en cachant systématiquement les pointeurs dans des typedef du genre typedef char* P_CHAR; est une horreur. Ça vous met le cerveau à l’envers et finit par vous dégoûter de ce langage. D’autant que dans l’exemple cité il finit par écrire ce genre de chose*p_char = car;.

    Voilà en ce dimanche matin j’avais besoin d’expurger un peu 😁. Je reprends maintenant le cours normal de la journée.

    Bon week-end

  3. #3
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 684
    Points : 30 973
    Points
    30 973
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Tout à fait d'acord avec gerald3d (d'autant plus que moi aussi je le dis assez souvent et d'ailleurs je l'ai redit il n'y a pas très longtemps). Et quand je vois écrit void main() je ne peux que surenchérir sur le fait que si ça a été écrit par un prof, alors ce prof est vraiment une tanche en C de ne même pas savoir que main() est de type int.

    Mais bon, malheureusement on ne peut pas en vouloir à ce marseillais du 14° (en plus en ce moment je suis à Cassis) d'avoir un prof incompétent. Donc ben je vais quand même l'aider...

    Citation Envoyé par zizou.13014 Voir le message
    il y a juste une seule question mais je n'ai jamais fait de programmation
    Bon déjà ça part mal. Comment peux-tu espérer travailler sur un programme alors que tu n'as jamais programmé? Irais-tu conduire un camion citerne sans avoir le permis?
    Enfin bon. Je ne vais pas te faire un cours de 2h en 2mn (surtout vu les bases qu'on t'a fournies) donc les instructions qui manquent sont
    Code c : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    *p_int=car;			// Parce qu'un char n'est qu'un nombre donc a tout à fait le droit d'être copié dans un int...
    q_char=malloc(sizeof(char));	// q_char c'est la même chose que p_char donc si on veut le remplir il faut d'abord lui donner de la mémoire
    *q_char=toupper(car);		// q_char c'est comme p_char donc comme on remplit p_char on remplit q_char pareillement
    q_int=malloc(sizeof(int));	// Même remarque sur q_int qui est comme p_int...
    *q_int=(*q_char);		// Pareil, comme on a remplit p_int on remplit q_int.

    Et en fin de programme (avant l'accolade finale)
    Code c : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    free(p_char);
    free(p_int);
    free(q_char);
    free(q_int);
    // Juste pour rrappeler à ce con de prof qu'on libère la mémoire qui a été allouée quand on a fini de l'utiliser...
    Mais si tu ne te décides pas à apprendre la prog en général et le C en particulier, tu ne t'en sortiras pas. Surtout avec ce type de prof...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. Problèmes sur les exercices de Bts
    Par Steve74 dans le forum Débuter
    Réponses: 2
    Dernier message: 01/11/2014, 20h42
  2. Réponses: 1
    Dernier message: 24/10/2011, 10h49
  3. API Windows langage C problème sur mmioCreateChunk
    Par azimut2 dans le forum Windows
    Réponses: 2
    Dernier message: 24/09/2009, 17h53
  4. [POO] Problème dans un exercice sur l'héritage
    Par FabaCoeur dans le forum C++
    Réponses: 2
    Dernier message: 05/05/2007, 17h09
  5. Problème sur exercice de manip de tableaux
    Par jurio2005 dans le forum Assembleur
    Réponses: 8
    Dernier message: 05/12/2005, 20h53

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