begin process at 2012 05 29 05:34:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Divers

 > 

Exporter tableau


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Exporter tableau

vendredi 17 juin 2011 à 10:34:43 | Exporter tableau

3463

Salut à tous !! J'ai vraiment vraiment besoin de votre aide

J'ai un problème sur mon programme que je me traîne depuis super longtemps et j'arrive pas à avancer... D'abord un énorme merci à Pop70 qui m'a vachement aidé, sans lui, mon prog serait encore à l'état d'ébauche
Je suis débutant en C et je souhaite que mon programme fasse des calculs entre les différentes valeurs de mon tableau. Ensuite, qu'il stocke ces calculs dans un nouveau tableau pour les exporter sous excel.

Merci pour vos réponses rapides !!!


vendredi 17 juin 2011 à 10:37:21 | Re : Exporter tableau

3463

# include <stdio.h>
# include <stdlib.h>
# include <iostream>
# include <fstream>
# include <string>
# include <math.h>
# include<conio.h>


using namespace std;
//int rechercheDicho(int [], int, int);
void afficheColonne(float [], int); // Fonction pour vérifier le contenu d'une colone
void EnregistrerUneColonne(float[], float[], float[], float[], int); // Fonction qui enregistre les 4 colonnes


int main()
{
// Déclaration des variables
int hauteur1=0; // hauteur anémomètre 1
int hauteur2=0; // hauteur anémomètre 2
int resultathauteur=0;
int site;
int duree=0; // duree de mesure
int nbredemesures=0;
int nbredemesures2,nbreanemo;


// Programme


printf("\n CHOIX DES ANEMOMETRES");
printf("\n Hauteur anemometre 1 en metres : ");
scanf("%d",&hauteur1);

printf("\n Hauteur anemometre 2 en metres : ");
scanf("%d",&hauteur2);


resultathauteur=abs(hauteur1-hauteur2);
printf("\n La difference de hauteur entre les 2 anemometres est de : %d m ",resultathauteur);


printf("\n \n Veuillez indiquer la duree de mesure en jours : ");
scanf("%d",&duree);
printf("\n \n La duree de mesure selectionnee est de %d jour(s).\n",duree);



nbredemesures=144*duree;
printf("\n \n Il y a %d mesures prises en compte.\n",nbredemesures);




printf("\n \n Combien d'anemometres voulez vous prendre en compte ? ");
scanf("%d",&nbreanemo);
nbredemesures2=nbredemesures*nbreanemo;


printf("\n \n \n \n CALCUL DU COEFFICIENT DE CISAILLEMENT");


double param1, param2, result;
param1=5;
param2=hauteur1/hauteur2;
result=log (param1)/log (param2);
printf("\n \n Alpha = ln(%lf) / ln(%lf) = %lf\n", param1, param2, result );

/*Récupération et lecture du tableau*/

float *INPUT = new float[nbredemesures2];
int nbElementsColonne = (int)(nbredemesures2 / 4);

FILE*ReadInput;

ReadInput=fopen("c:\\Mâts de mesures\\12.txt","r" ) ;

if(ReadInput==0)
{
fprintf(stderr,("\a Erreur ouverture fichier\n "));
exit(-1);
}


for (int i=0 ; i < nbredemesures2; i++)
{
fscanf(ReadInput,"%f", &INPUT[i]);
}


printf("\n\n");
float ligne[4] = {0};

fclose(ReadInput) ;
for (int i=0 ; (i+nbreanemo)<nbredemesures2 ; i+=nbreanemo)
{
for (int j=i; j<i+nbreanemo; j++)
{
printf("\t%f",INPUT[j]);
}
printf ("\n");
}

delete[] INPUT;

/* CALCULS DES COLONNES DU FICHIER TXT*/

?????

/*ENREGISTREMENT DANS UN FICHIER XLS*/

//Les 4 colonnes :
float *colonneA = new float[nbElementsColonne];
float *colonneB = new float[nbElementsColonne];
float *colonneC = new float[nbElementsColonne];
float *colonneD = new float[nbElementsColonne];
// Leurs initialisations
for (int i = 0; i < nbElementsColonne; i++)
{
colonneA[i] = 0;
colonneB[i] = 0;
colonneC[i] = 0;
colonneD[i] = 0;
}

fclose(ReadInput) ;
int index = 0; // Compte le nombre de lignes dans la colonne
for (int i=0 ; (i+nbreanemo)<nbredemesures2 ; i+=nbreanemo) // On prend ligne par ligne
{
for (int j = i; j < i+nbreanemo; j++)
{
printf("\t%f",INPUT[j]); // et on affiche élément par élément

if (j == i)
{
colonneA[index] = INPUT[j]; // Remplis la colonne A à la ligne index, tous les 4 i
}
else if ( j == (i+1))
{
colonneB[index] = INPUT[j]; // Idem pour B mais avec la valeur suivante
}
else if (j == (i+2))
{
colonneC[index] = INPUT[j]; // ...
}
else
{
colonneD[index] = INPUT[j]; //...
}
}
index ++;

printf ("\n");
}

// Affiche le contenu des colonnes pour vérification :
printf ("\nColonne A : \n");
afficheColonne(colonneA, nbElementsColonne);
printf ("\nColonne B : \n");
afficheColonne(colonneB, nbElementsColonne);
printf ("\nColonne C : \n");
afficheColonne(colonneC, nbElementsColonne);
printf ("\nColonne D : \n");
afficheColonne(colonneD, nbElementsColonne);

// Enregistre les colonne avec une fonction (pour pas surcharger le main)
EnregistrerUneColonne(colonneA, colonneB, colonneC, colonneD, nbElementsColonne);

// Supprime les tableaux du tas :
delete[] colonneA;
delete[] colonneB;
delete[] colonneC;
delete[] colonneD;
delete[] INPUT;
}


// Fonction d'affichage :
void afficheColonne(float colonne[], int nombreElements)
{
for (int i=0; i < nombreElements; i++)
{
std::cout << colonne[i] << std::endl;
}
}

// Enregistement :
void EnregistrerUneColonne(float colonneA[], float colonneB[], float colonneC[], float colonneD[], int nbreLignes)
{
// ouvre le fichier en écriture, le crée s'il n'existe pas et remplace le fichier existant

std::ofstream fichier; // Ouvre un fichier façon fstream (ça fait pareil que FILE *)

fichier.open("c://Mâts de Mesures//Fichier_Excel.xls", std::ios::out); // Ouvre le fichier (ou crée) fichierExcel.xls à coté de l'éxecutable, et le vide (par défaut)

if (fichier) // Si y'a pas eu d'erreur au niveau du fichier on continu
{

std::cout << "\n**Enregistrement**\n"; // <- Si ça ne s'affiche dans la console, c'est que le fichier est pas ouvert
// En-tête :
fichier << "<?xml version=\"1.0\"?>\n<Root xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\">\n";
// Remplissage :
for (int i=0; i<nbreLignes; i++)
{
fichier << "\t<row>\n\t\t<ColonneA>";
fichier << colonneA[i];
fichier << "</ColonneA>\n\t\t";
fichier << "<ColonneB>";
fichier << colonneB[i];
fichier << "</ColonneB>\n\t\t";
fichier << "<ColonneC>";
fichier << colonneC[i];
fichier << "</ColonneC>\n\t\t";
fichier << "<ColonneD>";
fichier << colonneD[i];
fichier << "</ColonneD>\n";
fichier << "\t</row>\n";
}
fichier << "</Root>";// Pour finir le fichier en xml correctement

fichier.close(); // Et fermeture
}


printf("\n \n Appuyer sur une touche pour fermer le programme");

getch();
}


vendredi 17 juin 2011 à 11:23:59 | Re : Exporter tableau

buno

Administrateur CodeS-SourceS
Hello,

Merci pour vos réponses rapides !!!


Oui mais...quelle est la question? Sachant que:
- nous ne répondons qu'à des questions précises
- nous ne ferons pas le travail à ta place

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
vendredi 17 juin 2011 à 11:30:35 | Re : Exporter tableau

3463

Salut !

nous ne ferons pas le travail à ta place



Il ne me semble pas avoir demander que quelqu'un fasse le travail à ma place...
J'ai peut être mal formulé ma question mais je voulais savoir si quelqu'un a un début de piste pour m'aider faire des calculs entre les différentes colonnes de mon tableau que m'affiche le prog

nous ne répondons qu'à des questions précises



C'est assez précis ??

vendredi 17 juin 2011 à 11:52:10 | Re : Exporter tableau

buno

Administrateur CodeS-SourceS
Non.

J'ai peut être mal formulé ma question mais je voulais savoir si quelqu'un a un début de piste pour m'aider faire des calculs entre les différentes colonnes de mon tableau que m'affiche le prog


Je vois au moins 3 question là dedans...

[humour]
je vais donc répondre à la 1ère et te laisser les autres:
Question: m'aider faire des calculs[...]
Réponse: regarde du côté des opérateurs +, -, x, /,...
[/humour]

Tu vois ce que je veux dire par "être précis"? Où en es-tu? Où bloques-tu? Qu'est-ce que tu n'arrives pas à faire...
Est-ce que c'est:
- les calculs? -> cf. la partie humour
- la récupération des données des colonnes? -> ce sont des tableaux à ce que je vois: tu te déplaces dedans à coup d'index
- l'export en Excel? -> regarde le format csv, ce sera le plus simple


@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
vendredi 17 juin 2011 à 13:16:15 | Re : Exporter tableau

BruNews

Administrateur CodeS-SourceS
Son format d'export en colonnes séparées par des TAB est impec, c'est le pilote standard d'import pour Excel.

ciao...
BruNews, MVP VC++
vendredi 17 juin 2011 à 14:08:19 | Re : Exporter tableau

3463


Merci BruNews et Buno je pense avoir été très clair mais bon... si tu veux pas m'aider c'est pas grave mais je vais pas écrire des romans et raconter ma vie sur ce forum
Alors si t'as pas compris, ben jdois très mal m'exprimer alors...Je demande juste des pistes pour pouvoir faire des calculs entre des colonnes d'un tableau que le programme affiche

Je vois au moins 3 questionS là dedans...



Moi je vois qu'une seule question

vendredi 17 juin 2011 à 14:43:05 | Re : Exporter tableau

patatalo

Membre Club Administrateur CodeS-SourceS
salut,

Je comprends Buno, la question semble bizarre, tu sais afficher les valeures de ton tableau mais pas faire des opérations dessus ? Très étonnant.

Ton programme est un mélange de C et C++. Je ne pensais même pas que les opérateurs new et delete etaient accessibles en C. De même que std::cout.

Tab[x] = Tab1[y] + Tab2[z].

Bien sur, Tab doit avoir un type qui correspond au type le plus volumineux de l'opération mais j'ai du mal a croire que ton problème soit réellement cela. Ou alors, il faudrait effectivement commencer par lire quelques docs car c'est le B.A. BA de la programmation...

Il y a eut une question il n'y a pas longtemps sur le forum pour integrer des valeurs à Excel, je te laisse la retrouver.

@++
lundi 20 juin 2011 à 16:11:01 | Re : Exporter tableau

3463

Salut,

en fait je veux juste une ptite aide de rien du tout : j'ai fait le plus gros !!

Maintenant je veux que le prog fasse des opérations entre des valeurs des colonnes du tableau et c'est tout. Je suis absolument pas spécialiste de la programmation et je veux juste faire ce petit quelque chose pour me permetttre d'aller plus vite et faire des calculs intéressant. Je me suis dit qu'une personne l'avait déja fait et peut m'expliquer et/ou m'indiquer les 3 ou 4 lignes de codes à taper.


lundi 20 juin 2011 à 16:29:24 | Re : Exporter tableau

buno

Administrateur CodeS-SourceS
Bin c'est là qu'on ne comprends pas...
Voici un ligne qui additionne A0 avec B2:
Code C/C++ :
float resultat_add = colonneA[0] + colonneB[2]



@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...

1 2

Cette discussion est classée dans : programme, tableau, exporter, calculs, vraiment


Répondre à ce message

Sujets en rapport avec ce message

aidez moi svp! [ par wettanam ] salutje suis nouveau dans la programmation et je veux m'exercer vraiment mais des fois j'y arrive vraiment pasc un programme qui doit ouvrir un fichie Mémoire partagée et pointeur [ par darsh99 ] Bonjour,J'essai de faire passer un tableau dynamique, un pointeur donc, d'un programme à un autre, l'adresse est bien passée et les champs non dynamiq Tableau dynamique d'objets [ par ph4ntomas ] Bonjour,Voilà le problème...Supposons que mon programme ne soit composé que d'une classe et que ce programme crée un certain nombre d'instances de cet Comment exporter une classe avec sa boite de dialogue ? [ par marcel6566 ] Bonsoir,J'utilse VC++6 - MFC.J'ai réalisé un programme contenant plusieurs boites de dialogues avec leurs classes. Je souhaiterais récupérer une de ce Big problème pour faire ce programme [ par nulmaisveutcomprendre ] Salut tout le monde.Voilà j'aimerai bien comprendre comment programmer ce programme mais je ne sais pas le faire j'ai beau réfléchir mais je n'y compr Recuperer réponse d'un autre programme [ par Poischack ] Bonjour,je n'y connais pratiquemment rien en c/c++ mais je ne pense pas que ce soit bien dur:je dois lancer un programme et recuperer ce qu'il dit mai décomposition d'un nombre en un tableau de caractères en C [ par mcfly66 ] SalutJe souhaiterais réaliser un programme qui me transformerait un nombre en un tableau dans lequel chacune des cases seraient les décimales de ce no tableau de taille trop importante [ par samsagas01 ] J'ai besoin d'un peu d'aide, je souhaite faire un programme untilisant une matrice (contenant les valeurs des pixels d'une image 600*800) et je n'arri Vitesse de calculs [ par elflink ] Bonjour à tous,Je travaille en API, C++.Je m'exerce sur l'élaboration d'un outil de dessinage, et de la même manière que MSPAINT, mon programme dispos code machine [ par Kangourou_Nomade ] bonjour,j'ai un tableau char contenant du code machine,en gros, si on pointe du debut a la fin de mon tableau, on voit une image de programme.comment


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,170 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales