Variable texte en langage C

Résolu
chris-asjeme Messages postés 780 Date d'inscription   Statut Membre Dernière intervention   -  
chris-asjeme Messages postés 780 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

Je suis débutant en langage C et j'ai un exercice à faire pour mon cours de DAIGL. Je dois écrire le programme permettant de faire le calcul de l'impôt sur le revenu d'un foyer en fonction d'informations saisies par l'utilisateur.
Mais le problème c'est que je ne sais pas comment déclarer mes variables de texte et ensuite permettre leur saisie par l'utilisateur.

J'ai fais l'algo correspondant :

Algorithme Impôt
Variable Rev_impos , montant , nb_parts , quotient_familial : Réel ;
Nom_Contrib , Etat_civil , Autre_foyer : Chaîne ;
nb_pers_charge , X : Entier ;
Début
  |  Répéter
  |    |  Afficher ( 'Nom du contribuable : ' ) ;
  |    |  Saisir ( 'Nom_Contrib' ) ;
  |    |  Afficher ( 'Revenu imposable : ' ) ;
  |    |  Saisir ( 'Rev_impos' ) ;
  |    |  Afficher ( 'Nombre de personnes à charge : ' ) ;
  |    |  Saisir ( 'nb_pers_charge' ) ;
  |    |  Afficher ( 'Etat civil ( M , V , C , D ) : ' ) ;
  |    |  Saisir ( 'Etat_civil' ) ;
  |    |  Si ( Etat_civil = "M" )
  |    |    |  nb_parts <- 2 ;
  |    |    |  Si ( nb_pers_charge > 1 )
  |    |    |    |  Pour X <- 1 à nb_pers_charge Faire
  |    |    |    |    |  nb_parts <- nb_parts + 1 ;
  |    |    |    |  FinPour
  |    |    |  Sinon
  |    |    |    |  nb_parts <- 2.5 ;
  |    |    |  FinSi
  |    |  Sinon
  |    |    |  nb_parts <- 1 ;
  |    |    |  Si ( nb_pers_charge > 1 )
  |    |    |    |  Pour X <- 1 à nb_pers_charge Faire
  |    |    |    |    |  nb_parts <- nb_parts + 1 ;
  |    |    |    |  FinPour
  |    |    |  Sinon
  |    |    |    |  nb_parts <- 2.5 ;
  |    |    |  FinSi
  |    |  FinSi
  |    |  quotient_familial <- Rev_impos / nb_parts ;
  |    |  Si ( quotient_familial <= 5832 )
  |    |    |  montant <- 0 ;
  |    |  Sinon
  |    |    |  Si ( quotient_familial <= 11673 )
  |    |    |    |  montant <- ( Rev_impos * 0.055 ) - ( 321.86 * nb_parts ) ;
  |    |    |  Sinon
  |    |    |    |  Si ( quotient_familial <= 25926 )
  |    |    |    |    |  montant <- ( Rev_impos * 0.14 ) - ( 1314.07 * nb_parts ) ;
  |    |    |    |  Sinon
  |    |    |    |    |  Si ( quotient_familial <= 69505 )
  |    |    |    |    |    |  montant <- ( Rev_impos * 0.30 ) - ( 5462.23 * nb_parts ) ;
  |    |    |    |    |  Sinon
  |    |    |    |    |    |  montant <- ( Rev_impos * 0.40 ) - ( 12412.73 * nb_parts ) ;
  |    |    |    |    |  FinSi
  |    |    |    |  FinSi
  |    |    |  FinSi
  |    |  FinSi
  |    |  Afficher ( Nom_contrib , ' doit payer ' , montant , ' € d'impôts.' ) ;
  |    |  Afficher ( 'Autre foyer ( O / N ) ? : ' ) ;
  |    |  Saisir ( 'Autre_foyer' ) ;
  |  Jusqu'à Autre_foyer = "N"
Fin


Dans mon programme en C j'ai déclaré mes variables int et float mais me manque le texte.
Pareil pour la saisie, j'ai mes scanf avec mes %d et mes %f mais pour le texte ?

Merci d'avance
Chris
A voir également:

4 réponses

Bryan251 Messages postés 31 Date d'inscription   Statut Membre Dernière intervention   9
 
petite question : cet Algorithme sert à quoi ?
0
chris-asjeme Messages postés 780 Date d'inscription   Statut Membre Dernière intervention   93
 
à montrer à quoi je veux arriver. Dans mon exo on me demande de faire l'algo avant le programme en C. Donc je l'ai fais mais je suis bloqué sur la déclaration des variables texte en C et leur saisie par l'utilisateur.
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Bonjour,

Pour déclarer une variable, c'est type nom;
Par exemple : int toto; pour déclarer un entier.
Pour un texte, c'est plus compliqué car il n'existe pas de type à proprement parler.
Il faut passer par un tableau de caractère. Par exemple char tab[50]; permettra à l'utilisateur de taper une phrase de 49 caractères.
Pour que l'utilisateur saisisse la variable : un simple fgets(tab, sizeof tab, stdin); fera l'affaire.
Il ne faut pas oublier que tab contiendra également le code de la touche entrée.

Cdlt,
0
chris-asjeme Messages postés 780 Date d'inscription   Statut Membre Dernière intervention   93
 
merci bien. Donc je pense que je vais apprendre ça Mercredi en cours. J'ai voulus avancer sur mon exercice mais c'est pas une bonne idée ^^

Enfin merci quand même et bonne fin de journée.
Chris
0