2012-07-25 4 views
3

Je suis novice en programmation et j'ai choisi le langage C comme premier langage informatique. Je faisais un programme de conversion d'échantillon et quand j'ai compilé le code, j'obtiens l'erreur suivante.Erreur de compilation du programme C

Qu'est-ce que cela signifie et comment puis-je le réparer?

Merci!

1>------ Build started: Project: ConversionProgram, Configuration: Debug Win32 ------ 
1>Build started 24-07-2012 20:58:37. 

1>InitializeBuildStatus: 

1> Touching "Debug\ExcerciseProgram1.unsuccessfulbuild". 
1>ClCompile: 
1> conversion.cpp 
1>c:\my documents\visual studio 2010\projects\excerciseprogram1\excerciseprogram1\question2.cpp(12): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 
1> c:\program files\microsoft visual studio 10.0\vc\include\stdio.h(304) : see declaration of 'scanf' 
1>c:\my documents\visual studio 2010\projects\excerciseprogram1\excerciseprogram1\question2.cpp(18): warning C4244: '=' : conversion from 'double' to 'float', possible loss of data 
1>c:\my documents\visual studio 2010\projects\excerciseprogram1\excerciseprogram1\question2.cpp(32): error C2857: '#include' statement specified with the /YcStdAfx.h command-line option was not found in the source file 
1> 
1>Build FAILED. 
1> 
1>Time Elapsed 00:00:00.1 

J'utilise VB 2010 comme mon IDE

+1

Vous avez des erreurs sur les lignes 12, 18, 32 de votre fichier 'question2.cpp' (un fichier source C++, pas un fichier C!). Sans ce fichier, nous ne pouvons pas vous aider davantage. –

+1

Pouvez-vous poster votre code C? –

+1

Je crois que vous ne devriez pas choisir * C * (ou * C++ *) comme votre * premier * langage de programmation. Choisir * Ocaml *, * Scheme *, * Python * ou * Common Lisp * vous en apprend plus. Une fois que vous avez appris à programmer un peu dans un langage de haut niveau, apprendre * C * est moins difficile. –

Répondre

8

La raison pour laquelle vous rencontrez une erreur de compilation est mentionné ici:

erreur

C2857: déclaration « #include » spécifié avec l'option de ligne de commande /YcStdAfx.h n'a pas été trouvé dans la source

Cela signifie que le compilateur rend obligatoire l'inclusion de StdAfx.h. Vous pouvez y remédier en ajoutant #include <StdAfx.h> à votre code source.

+0

merci! J'ai inclus le fichier et maintenant cela fonctionne comme un charme! –

6

Il semble que votre fichier source n'inclut pas le fichier d'en-tête précompilé. Tous les fichiers source doivent, en tant que premier non-commentaire, inclure "stdafx.h" si vous utilisez des en-têtes précompilés.

+0

merci! J'ai inclus le fichier et maintenant cela fonctionne comme un charme! –