Ah ok j´ai compris ce que tu voulais dire, désolé, j´ai voulu séparer les étapes et j´ai fait cette bête erreur =_=
oui, c´est à mon goût l´un des plus gros problème de la syntaxe du C :
pour déclarer 3 int tu fait ;
int a,b,c;
Et pour déclarer 3 pointeur, il faut faire :
int *a,*b,*c;
d´où cette notation de :
int *donnee;
Mais le type de donnée c´est (int*) et pas (int). Il est donc plus logique de déclarer la variable :
int* donnee;
et là, l´affectation est clair :
int* donnee = &i;
comme :
int* donnee;
donne = &i;
Mais alors comment délarer plusieurs pointeurs d´un coup ? facile : ne pas le faire. Ça préserve la cohérence de la syntaxe et tout est plus clair.
Le conseil n´est d´ailleurs pas que de moi, il est de Stroustrup lui même :
http://www.research.att.com/~bs/bs_faq2.html#whitespace
d´ailleurs en lisant le tuto de sdz sur le sujet, ça ne fait que me conforter dans mon opinion que ce tuto est vraiment mauvais et que mateo ne maîtrise pas du tout suffisamment tout les sujets qu´il aborde, pour en faire une explication valable. Et rien n´est jamais suffisamment expliqué (ou pas assez correctement).
Le cours de C. Casteyde est nettement à préférer je dirais :
http://casteyde.christian.free.fr/cpp/cours/online/book1.html
puis celui de fvirtman en complément.
Le cours de Casteyde est certes très complet et instructif mais quand j´étais encore débutant je le trouvais encore trop formel et trop technique. Après, c´est sur que c´est un super cours, mais j´pense que c´est quelque chose que l´on doit lire et assimiler après seulement avoir eu un peu de pratique.
bonjour tout le monde!
alors voila, j´ai un problème avec le logiciel dev-C++; j´ai acheter un livre(le programmeur, le language C++) et lorsque j´essaye de faire le premier programme, il y a des erreurs(eux, ils utilisent visual C++6 mais il est payant!)
alors, voila ce que j´ai fais et le code que j´ai tapé :
1) je fais : fichier-->nouveau-->projet...-->empty project
2) fichier-->nouveau-->fichier source
3) je renomme le fichier source(ex : ex1)
4) je tape le code qui est :
int main()
{
std::cout << "Bonjour!\n";
return 0;
}
5)les 2 erreurs dites sont : ligne : make.exe, fichier : C:\Dev-Cpp\make.exe message : Circular ex1 <- ex1.o dependency dropped.
fichier : C:\Dev-Cpp\Makefile.win, message : [Build Error] [Projet1.exe] Error 1
voila, si vous pourriez m´aider, ce serait sympa!
salut tout le monde!
Salut, je ne connais pas Dev-cpp pour t´aider mais :
"(eux, ils utilisent visual C++6 mais il est payant!)"
Il existe Visual Studio Express qui est totalement gratuit et largement suffisant pour un débutant ![]()
merci keepsmile pour le logiciel! je l´ai telecharger, essayer mais... lorsque je tape mon code, il me dise que l´dentificateur cout n´est pas déclaré; comment on peut le déclaré?
Si tu peut rendre ton bouquin, je te conseilel de le faire. Le C++ de visual C++ 6 est très ancien et pas compatible avec les compilo moderne (y compris les version récentes de Visual C++).
Par contre, je ne vois pas pourquoi ça ne marche pas, le code que tu as tapé est correct (avec le std::cout, le compilo devrait le reconnaitre).
Pour dev c++, est-tu sous Vista ? si oui, il est "connu" que ça ne marche pas avec ces version de windows. Pour Visual studio express, parmis les logiciels, c´est bien visual c++ express que tu as téléchargé (question bête), si oui, décrit précisemment comment tu crée ton programme.
Comme l´a dit dnob700, le C++ de visual 6 est ancien et hors standart, les codes sources fourni qui ont été compilé avec celui ci utilise des fichiers header non standart (iostream.h) qui n´existe plus sur les versions récentes de VS et surtout n´a pas besoin du namespace std;.
Pour ton cas, tu dois vérifier les fichiers header et vérifier que tu écris bien: "std::cout" ou alors écrire en dessous des includes "using namespace std;".
merci de m´avoir, répondu, j´ai trouver comment faire avec visual studio express, j´ai utiliser le "using namespace std". Avez vous un livre a me recommander pour le C++? Car vous me dites que c´est vieux maintenant donc autant que je me mette a jour!
encore merci et merci d´avance!^^
Disons que pour tout débuter, tout livre sur le C++ est bien (enfin choisi un libre pour les débutants aussi ...), personnelement pour l´apprentissage je trouve ça bien les livres mais quand on dispose d´internet et toutes ses ressources (généralement à jour) autant en profiter après c´est sur que certaines fois on prefere avoir un livre et lire tranquillement dans un coin sans se trimballer son PC.
Donc pour le choix de ton livre, prends lui qui t´attire le plus, tu vas dans une librairie, tu regarde un peu le bouquin, sa structure, les exemples (rapidement) et prends celui qui t´attire le plus.
Quand tu auras acquis certaines bases je penses qui sera plus facile de te conseiller des libres plus poussés
sinon pour les sites, tu as celui du sdz, de fvirtman (cf: carte) que je recommande fortement, developpez, ...etc
Ok, donc ça marche bien maintenant
Normalement, soit tu mets using namespace std; soit tu mets std::cout
En gros, si tu dis "using namespace std", et que tu mets "cout", alors le compilo, s´il ne trouve pas cout, va regarder s´il trouver std::cout (ce qui est le cas)
Bref ! si ça marche, maintenant, tant mieux ![]()
Voila je débute en C/C++ et j´ai plusieurs questions à vous poser
:
_ Le C/C++ c´est pas un peu trop compliqué pour un débutant en programmation? Je veux dire que c´est mon premier language en fait.
_Le site du zéro, c´est bien pour apprendre?
_Voila j´ai écrit ça:
Et j´aimerais savoir si ma façon de présenter un programme est suffisamment bien aérée.
Voila. Merci beaucoup et @++.
Oups j´ai oublié le lien.
http://rafb.net/p/L73h9i42.html
Voila. J´ai "inventé" cette présentation et je sais pas si elle est bonne. Merci d´avance pour vos conseils. ![]()
_ Le C/C++ c´est pas un peu trop compliqué pour un débutant en programmation?
--> Bof, un débutant peut faire du C/C++ quand meme
_Le site du zéro, c´est bien pour apprendre?
--> Oui, ce site est tres bien fait je trouve
Pour ton programme, oui, c´est exotique comme méthode (avec des booleens), mais ça doit marcher ![]()
Certains auraient mis directement les expressions booléennes dans les if, sans les stocker auparavant, mais c´est un choix !
Ok merci.
C´est vrai qu´en y réfléchissant cette méthode est non plus d´une grande utilité, mais le but était pour moi de m´entrainer à justement stocker les booléens dans les variables plutôt que dans les if. Ca prend peut-être plus de temps mais je ne recherche pas l´efficacité. Quand on débute il vaut mieux maitriser tous les domaines, même si de prime abord il sont pas très utiles. ^^
Merci pour tes réponses. Je m´attaque aux switch dès maintenant. ![]()
D´acc ! en effet, ça te permet de stocker des booleens, c´est pas mauvais si c´est pour faire des essais !
Pour courage pour la suite !
Salut,
Je réssuscite ce topic enfouis (à tord à mon avis) pour poser une question de C.
J'ai fait un programme sur psp qui recupere le flux d'images qui sort de la camera usb et transforme chaque image en texte ascii. (utilisation des caractères pour reproduire le dégradé). Ca marche très bien mais j'ai un soucis de vitesse d'execution. je stagne a 2-3 fps et ça fait tres saccadé.
Apres quelque test pour trouver la partie de l'algo qui pose problème, je me suis rendu compte que cela venait de la partie qui affiche le texte à l'écran. Etrangement cela prend moins de temps de recuperer une image de 480*272 et de calculer la luminance de chaque pixel que d'afficher l'image sous forme de texte (33 lignes de 68 caractères).
Ma question est la suivante :
Y a t'il moyen de dire au programme de faire l'affichage en un seul bloc ? et pas a chaque fprintf.
un truc du genre:
//--------
retientToi(stdout)
for(i=1; i<33*68; i++) fprintf(stdout, "%c", tabchar[i]);
fflush(stdout);
//--------
punaise je suis un ane...
En relisant mon post je me rend compte que je stagne depuis deux jours sur un problème tout bete...
Je n'ai qu'a ecrire dans un buffer et ne faire qu'un seul printf suivi d'un flush...
la grosse loose ![]()
Tu peux pas supprimer ton post, dommage pour toi ![]()