Array

Fermé
drogbut11 Messages postés 3 Date d'inscription samedi 4 mai 2013 Statut Membre Dernière intervention 4 mai 2013 - 4 mai 2013 à 10:08
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 - 4 mai 2013 à 12:35
salut a tous,
je suis un debutant sur C et quant je veux compiler un program array sur visual studio 2012 je recois ce message error 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.
et je ne sais pas se qu'il faut faire!
merci a l'avance pour tout aide

3 réponses

ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 228
4 mai 2013 à 11:51
Ajoute
#define _CRT_SECURE_NO_DEPRECATE
dans ton code (dans les headers).
Cela désactivera ces messages d'erreur, car VisualStudio force les gens, même mes débutants, à écrire du code soit-disant plus "safe" (sécurisé) mais pas standard (donc menant les gens sur des "fausses pistes", scanf_s() n'existe pas sur Linux par exemple, scanf() si).
Il n'y a que le compilateur de Microsoft qui se plaint de ça.

De toute façon en tant que débutant, il n'est pas nécessaire de s'embêter à écrire du code 100% sécurisé , et encore moins en version Micosoft.
Le standard C évolue encore et fournira de nouvelles alternatives à scanf() si besoin. Et ce n'est pas le cas.
0
drogbut11 Messages postés 3 Date d'inscription samedi 4 mai 2013 Statut Membre Dernière intervention 4 mai 2013
4 mai 2013 à 12:09
j'essaye avec mais j'ai toujour la meme erreur. voici le programm que je veux compiler
#include <stdio.h>
#define _CRT_SECURE_NO_DEPRECATE

int main( void )
{
float umsatz[7];
float summe, hoechsterWert, niedrigsterWert;
int i;
for( i = 0; i < 7; i++ )
{

printf( "Bitte die Umsaetze der letzten Woche eingeben: \n" );

scanf( "%f", &umsatz[i] );
}
summe = 0;
hoechsterWert = umsatz[0];
niedrigsterWert = umsatz[0];
for( i = 0; i < 7; i++ )
{
summe += umsatz[ i ];
if( hoechsterWert < umsatz[i] )
hoechsterWert = umsatz[i];
if( niedrigsterWert > umsatz[i] )
niedrigsterWert = umsatz[i];
}
printf( "Gesamter Wochengewinn: %f \n", summe );
printf( "Hoechster Umsatz: %f \n", hoechsterWert );
printf( "Niedrigster Umsatz: %f \n", niedrigsterWert );
return 0;
}
0
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 228
Modifié par gravgun le 4/05/2013 à 12:22
Alors ajoute aussi un #define _CRT_SECURE_NO_WARNINGS
0
drogbut11 Messages postés 3 Date d'inscription samedi 4 mai 2013 Statut Membre Dernière intervention 4 mai 2013
4 mai 2013 à 12:33
on me dit que de regarder la Deklaration de 'scanf'
je ne sais pas si je doit changer de compilateur
0
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 228
4 mai 2013 à 12:35
Changer de compilateur (surtout avec un outil de Micosoft, beuh) serait trop dur pour un débutant.
Les 2 #defines n'ont ils pas suffit? "on me dit que de regarder la Deklaration de 'scanf'", c'est-à-dire?
0