couturierclaire | Bonjour, j'ai un mini-projet à réaliser, mon enseignant m'a donné le début du corrigé, il faut sans doute ensuite faire une fonction d'affichage que je n'arrive pas à créer,quelqu'un pourrait-t-il m'aider pour la suite?
Merci d'avance
Enoncé: Projet: polynomes
On souhaite réaliser un programme permetttant de manipuler des polynômes sur une variable x età coefficients flottants (double).
Plus précisément, le programme doit pouvoir :
–initialiser un polynôme au polynôme nul
–lire un polynôme dans un fichier, par défaut sur l'entrée standard, puis l'écrire dans un fichier, par
défaut sur la sortie standard
–lire un polynôme, calculer sa dérivée par rapport à x et écrire le résultat
Une programmation multi-fichiers avec des fichiers d'entête est requise.
Le début du corrigé donné par enseignant:
Code :
- #include <stdio.h>
- #include <stdlib.h>
- #define MAX 1025
- typedef struct Monome
- {
- double coefficient;
- long degre;
- struct Monome * next;
- } Monome;
- typedef Monome List;
- typedef struct
- {
- List * monomes;
- long degre;
- } Polynome;
- /******************DECLARATION DES FONCTIONS****************/
- /********************DEFINITION DES FONCTIONS***************/
- //insertion eb tête
- void lecture_polynome(Polynome * polynome, char * filename)
- {
- double coefficient;
- long degre;
- int n;
- Monome * nouveau = NULL;
- Monome * debut = polynome->monomes;
- FILE * source = NULL;
- source = fopen(filename,"r" );
- if (source == NULL)
- {
- fprintf(stderr, "ERREUR ouverture de %s t \n", filename);
- return 1;
- }
- while ((n = fscanf(source,"%lf %ld ", &coefficient, °re)) == 2)
- {
- nouveau = (Monome*) malloc(sizeof(Monome));
- if (nouveau != NULL)
- {
- //insertion eb tête
- nouveau->next = debut;
- nouveau->coefficient = coefficient;
- nouveau->degre = degre;
- debut = nouveau;
- }
- printf("Coefficient = %lf\tDegre = %ld\n", nouveau->coefficient, nouveau->degre);
- }
- polynome->degre = debut->degre;
- fclose(source);
- }
- int main()
- {
- Polynome polynome;
- lecture_polynome(&polynome, "bis.txt" );
- return 0;
- }
|
|