J'ai du mal à faire mon TP en c++. L'énoncé se trouve ici: http://www.colvir.net/prof/georges.d.../TP1_H2010.htm
Et voici mon code (brouillon) que j'ai fait jusqu'a présent:
Le programme n'est pas terminer, car je suis un peu bloquer et je suis au courant qu'il y a quelques erreurs de compilation. Si quelqu'un pourrait m'aider a les corriger, ce serait sympa. Mais ce que je veux savoir, c'est comment on fait la fonction Enregistrer. Puis, je ne suis pas vraiment comment utiliser argv et argc dans mon programme. Je ne sais pas si je suis dans la bonne voix, ce serait super si quelqu'un peut m'aider a completer le TP ou donner des indications tres détaillées.Code:#include <iostream> #include <fstream> #include <cstring> #include <stdlib.h> #include <stdio.h> using namespace std; const int m=50,n=30; void saisicarte(string tab[m][n], string* valeur) { for(int i=0;i<m;i++) { for(int j=0;j<n;j++) { if(tab[m][n] = 0) { tab[m][n] = valeur; } } } } void Affichercarte(string* tab[m][n]) { cout << "Voici l'affichage de la carte:" << endl; for(int i=0;i<m;i++) { for(int j=0;j<n;j++) { cout << tab[i][j]; } cout << endl; } } int x,y; void Remplircarte(string* tab[m][n],string* fichier_x_y) { tab[x][y] = fichier_x_y; } void Inserer(string* tab[m][n],string* fichier_x_y) { if(tab[x][y] == 0) { tab[x][y] = fichier_x_y; } } void Recherche(string* tab[m][n],string* valeur) { string position[m*n]; int a = 0,b = 0; for(int i=0;i<m;i++) { for(int j=0;j<n;j++) { if(tab[x][y] == valeur) { position[a] = i;//position de l'element; position[b] = j; a = a + 1; b = b + 1; } } } //afficher le tableau des positions; for(int i=0;i<m;i++) { for(int j=0;j<n;j++) { cout <<position[i][j]; } cout << endl; } } void Supprimer(string* tab[m][n], string* valeur) { for(int i=0;i<m;i++) { for(int j=0;j<n;j++) { if(tab[i][j] == valeur) { string decision,O,N; cout << "Position: " << i <<"," << j<< endl; cout << "Voulez-vous supprimer? (O)ui ou (N)on" << endl; cin >> decision; if(decision == O) { tab[i][j] = 0; }else{ if(decision != N && decision != O) { cout<< "Commande invalide"<< endl; } } //lire si o faire t[i][j] = 0; //sinon rien } } } } /* void Enregistrer(tab[m][n]) { //ouvrir un fichier for(int i=0;i<m;i++) { for(int j=0;j<n;j++)//parcourir le tableau { //fonction enregistrer } cout << endl; } } */ void Quitter() { exit(0); } int main(int argc,char **argv) { int choix; cout << "Voici la liste des operations:" << endl << "1. Saisie le contenu d'une carte existante" << endl << "2. Afficher la carte" << endl << "3. Remplir la carte" << endl << "4. Rechercher un element" << endl << "5. Inserer un element" << endl << "6. Supprimer un element" << endl << "7. Enregistrer la carte courante" << endl << "8. Quitter" << endl << "Veuillez choisir une operation: "; cin >> choix; switch (choix) { case 1: saisicarte(); break; } //fin
J'ai mis en place la balise "Code" symbolisée par qui permet une lecture plus claire de ton code.
yoda1234.
-----