Néophyte en C pose quelques bêtes questions :)

Néophyte en C pose quelques bêtes questions :) - Programmation

Marsh Posté le 14-10-2001 à 12:14:46    

Salut,
 
1

  • J'aimerais savoir quelles sont les différences majeures entre le C et le C++.


2

  • Une fois qu'on a écrit un programme sous dos (qu'on a le code source bien entendu) est-ce possible de passer à une interfaçe fenétrée sous Windows de manière assez simple ?  Et comment, dans les grandes lignes ?  J'utilise Visual C++ 6.0 (et j'ai pas trop envie de changer de logiciel ;) )


3

  • Si vous connaissez des bons sites où on parle de C (en français si possible) je suis preneur :)  J'ai acheté un bouquin pour débutants mais quand j'ai besoin de "pousser" plus loin une commande ou une autre je suis toujours calé...


4

  • A partir d'un fichier *.exe, c'est possible de retrouver le code, où au moins de savoir en quel langage on l'a écrit ?  J'ai cru comprendre que non, mais j'aimerais savoir pourquoi ?  Si c'est possible de compiler un code source en executable, je vois pas pourquoi des programmes ne se chargeraient pas de faire l'inverse ?


5

  • Plus précisément, quand j'écrit un programme (par exemple un truc qui calculerait la somme de deux nombres), il affiche mon résultat puis il s'affiche toujours "Press Any Key To continue", j'appuye sur une touche et je retourne sous windows. Y'a t'il un moyen pour virer ce message, et recommencer l'exécution du programme plusieurs fois ??? (explications claires et précises, je débute :))


 
Merci beaucoup A+


---------------
If you really want something, all the Universe conspires in helping you to achieve it.
Reply

Marsh Posté le 14-10-2001 à 12:14:46   

Reply

Marsh Posté le 14-10-2001 à 12:36:32    

1- le c++ est orienté objet
2- visual c++ c'est pas super pour faire des gui rapidement (surtout quand tu ne sais pas t'en servir)
3- je connais pas de site mais pour apprendre le C, rien de tel que de bosser sous Linux avec toutes les pages de man
4- à partir d'un .exe, tu peux obtenir du code assembleur ou eventuellement le code source (mais uniquement si tu sais dans quel langage le programme a été réalisé et si la personne l'a compilé avec les options de débugage, auquel cas, tous les symboles du code sont présent dans l'executable)
5- j'en sais rien

Reply

Marsh Posté le 14-10-2001 à 14:09:31    

1- d'acc avec titoine
2-c'est l'interet de visual C++, de faire de la prog visuelle , donc des interface . Mais ca demande kan meme es connaissance et une certaine maitrise du langage .
 
3- pour les cours www.polymorphe.org ( ou .com , ou .fr , je sais plus fait une recherche sous google , tu devrai le trouver )
mais sert toi du Aide -> index -> nom de ta fonction, c'est ce que je fais sous borland , l'aide est pas trop mal documenté , et si tu sais ce que tu cherhce , ca va assez vite .AUtrement vive linux avec man et xman + Xemacs
 
4-compiler un code :
C++  =>  C =>  assembleur  => langage machine .
la seule etape reversible est la derniere , et encore tu va avoir un code hyper optimisé , donc illisible . j'ai fait l'essai avec un code C de 10 ligne , j'avais 300 ligne d'assembleur , et je n'ai rien compris  
 
5- est ce que a la fin de tes codes tu met while(khbyte()) ou une fct commme ca ( je n'ai pus l'ortho en tete , et pas de soft de programmation d'installer )
Si tu vire cette ligne , des que ton prog aura fini de tourner , la fenetre d'exec sera fermée et tu ne verra pas les resultats

Reply

Marsh Posté le 14-10-2001 à 14:55:01    

1 - ça veut dire quoi "orienté objet"  :??:  
 
2 - ça veut dire quoi "gui"  :??:  
 
3 - Linux ça m'énerve un peu, j'ai déjà essayé mais ça me plait pas, puis une fois que j'aurai fini d'apprendre Linux et d'apprendre la programmation sous linux, je serai pensionné ;)
 
www.polymorphe.com c'est très intéressant mais pas vraiment ce que je recherche  :lol:  :lol:  :lol: je vais chercher sur google :)
 
5 - je comprend pas trop ce que tu veux faire, enfin voilà le code source d'un résolveur d'équation du 2nd degré :
 
#include <stdio.h>
#include <math.h>
 
main ()
 
{
 
float a,b,c,delta ;
a=0 ;
b=0 ;
c=0 ;
delta=0 ;
 
 
//introduction des 3 coefficients
 
printf("Introduisez le coefficient de x^2\n" );
scanf("%f",&a);
printf("Introduisez le coefficient de x\n" );
scanf("%f",&b);
printf("Introduisez le terme independant\n" );
scanf("%f",&c);
printf("\n" );
 
 
//calcul de delta
 
delta=b*b-4*a*c;
 
//résolution
 
if (a==0)
{
 if (b==0)
 {
  if (c==0)
  {
   printf("Ceci n'est pas une equation !\n" );
  }
  else //donc si a,b=0 & c!=0
  {
   printf("--> %0.2f = 0\n",c);
   printf("Identite impossible a verifier!\n" );
  };
 }
 else //donc si a=0 & b!=0
 {
  if (c!=0) //donc si a=0 et b,c != 0
  {
   printf("--> %0.2fx + %0.2f = 0\n",b,c);
   printf("La racine unique est x = %0.2f\n",-c/b);
  }
  else //donc a,c=0 et b!=0
  {
   printf("--> %0.2fx = 0\n",b);
   printf("La racine unique est 0\n" );
  };
   
 };
}
else // a!=0
{
 printf("--> %0.2fx^2 + (%0.2fx) + (%0.2f) = 0\n",a,b,c);
 printf("\n" );
 printf("Le determinant vaut %0.2f.\n",delta);
 printf("\n" );
 
 if(delta==0)
 {
  printf("L'equation possede la racine double %0.2f\n",-b/2*a);
 
 }
 else
 {
  if(delta>0)
  {
   printf("L'equation possede les deux racines suivantes :\n" );
   printf("x1 = %0.2f\n",(-b-sqrt(delta))/(2*a));
   printf("x2 = %0.2f\n",(-b+sqrt(delta))/(2*a));
  }
  else //si delta négatif
  {
   printf("L'equation possede les deux racines complexes suivantes :\n" );
   printf("z1 = %0.2f - %0.2fi\n",(-b)/(2*a),((sqrt(-delta))/(2*a)));
   printf("z1 = %0.2f + %0.2fi\n",(-b)/(2*a),((sqrt(-delta))/(2*a)));
  };
 
 };
 
};
printf ("\n" );
}
 
 


---------------
If you really want something, all the Universe conspires in helping you to achieve it.
Reply

Marsh Posté le 14-10-2001 à 15:13:25    

Eniac a écrit a écrit :

1 - ça veut dire quoi "orienté objet"  :??:  




C'est un mode de programmation. On peut mimer ce comportement en C (d'ailleurs les premiers compilos C++ généraient du code C)
L'idées est qu'au lieu d'avoir des fonctions globales, tu lies des fonctions à types (=classes). Les objets instances de ces classes peuvent les utiliser.
Et plus il y a un système d'héritage entre classes qui leur permettent de récupérer le comportement des classes mères.
 

Citation :


2 - ça veut dire quoi "gui"  :??:  


interface graphique en anglais.

Reply

Marsh Posté le 14-10-2001 à 16:30:20    

ca doit etre vc++ qui fait ca automatiquement , sinon tu ne verrai pas le resultat de l'execution de ton prog , ce qui perdrai bcp d'interet

Reply

Marsh Posté le 14-10-2001 à 16:33:49    

flo850 > pas compris !?!


---------------
If you really want something, all the Universe conspires in helping you to achieve it.
Reply

Marsh Posté le 14-10-2001 à 16:42:12    

si tu bosse sous borland C++, tu lance l'execution sous dos , il ouvre une fenetre dos, execute le prog , ferme la fenetre dos , donc tu n'as pas le tps de voir , alors que si tu utilise vc++ tu n'as pas ce pb
je precise pour ceux qui connaisse borlandc++ que je lance monprog ave le petit eclair jaune ( flemme de fiare un projet ) vu que tous mes gros prog sont fait sous linux

Reply

Marsh Posté le 14-10-2001 à 16:54:38    

ah ok, c'est plus clair :)
mais pour pouvoir exécuter mon prog en boucle, tu sais pas comment je pourrais faire?
 
je pensais faire une grosse boucle englobant le corps du code,
mais ça marche pas, ou bien je m'y prend mal...


---------------
If you really want something, all the Universe conspires in helping you to achieve it.
Reply

Marsh Posté le 14-10-2001 à 20:04:19    

Au lieu de lancer ton programme en cliquant sur Run... dans VC++ tu n'a qu'à démarrer une fenêtre MS-DOS et exécuter ton programme ici. Parce que le Press Any Key c'est Visual C++ qui te le mets et c'est pas intégré dans le prog une fois compilé.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed