> Tous les forums > Forum Autres langages
 Débutant en C
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
Hartek
  Posté le 03/06/2006 @ 09:20 
Aller en bas de la page 
Petit astucien
Bonjour à tous, je débute en langage C en suivant les cours du "Site du Zéro" qui nous demande de faire un jeu qui consiste à retrouver un nombre secret. Mais voila quand je rentre en mode deux joueur, le 1er indique un nombre et le deuxième doit le retrouver. C'est pas dur car le nombre est visible à l'écran. Donc je voulais savoir si il était possible de masquer ce nombre par des étoiles (style code secret comme pour la carte bleu) ? Merci
Publicité
breizhbugs
 Posté le 03/06/2006 à 10:13 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien
Salut, poste deja ton code, comme ca on verra ce que tu utilise comme fonction et on pourra mieux te conseiller.
Hartek
 Posté le 03/06/2006 à 10:16 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Voila le code : [code] #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { long nombreMystere1 = 0, nombreMystere2 = 0, nombreMystere3 = 0, nombreMystere4 = 0, nombreEntre = 0, nombreMystereDeuxiemeJoueur = 0, coups = 1; int niveau = 0, menuSecondaire = 0, rejouer = 0; long max1 = 100, max2 = 500, max3 = 1000, max4 = 10000, min = 1; // Génération du nombre aléatoire srand(time(NULL)); nombreMystere1 = (rand() % (max1 - min + 1)) + min; nombreMystere2 = (rand() % (max2 - min + 1)) + min; nombreMystere3 = (rand() % (max3 - min + 1)) + min; nombreMystere4 = (rand() % (max4 - min + 1)) + min; printf("\n\t\t PLUS OU MOINS"); printf("\n\n"); //Menu principal du jeu printf("\t (( MENU ))"); printf("\n\n"); printf("\t 1. Facile (0 a 100)\n"); printf("\t 2. Moyen (0 a 500)\n"); printf("\t 3. Dificile (0 a 1000)\n"); printf("\t 4. Tres dificile (0 a 10000)\n"); printf("\t 5. Quitter\n"); printf("\n"); printf("\t Niveau : "); scanf("%ld",&niveau); //NIVEAU 1 printf("\n\n\n"); if (niveau == 1) { printf("\t Jouer contre : \n\n"); printf("\t 1. L'ordinateur\n"); printf("\t 2. Un autre joueur\n"); printf("\n"); printf("\t Contre : "); scanf("%ld", &menuSecondaire); //Niveau 1 contre l'ordinateur if (menuSecondaire == 1) { while (rejouer != 2) { do { //On demande quel est le nombre mystere printf("\n\n"); printf("\t Quel est le nombre mystere ? "); scanf("%ld", &nombreEntre); if (nombreMystere1 > nombreEntre) printf("\t C'est plus !! %ld coup(s)", coups++); else if (nombreMystere1 < nombreEntre) printf("\t C'est moins !! %ld coup(s)", coups++); else printf("\t Bravo, vous avez trouve le nombre mystere en %ld coup(s) !!", coups++); }while (nombreMystere1 != nombreEntre); //On demande si le joueur veux rejouer ou quitter printf("\n\n\n"); printf("\t Nouvelle partie ? \n\n"); printf("\t\t 1. OUI\n"); printf("\t\t 2. NON (Quitter)\n"); printf("\n"); printf("\t\t Rejouer : "); scanf("%ld", &rejouer); } return 0; } //Niveau 1 contre un deuxième joueur else if (menuSecondaire == 2) { while (rejouer !=2) { //On demande de rentrer un nombre mystere au joueur 2 printf("\n\n"); printf("\t Entrer un nombre secret : "); scanf("%ld", &nombreMystereDeuxiemeJoueur); do { //On demande quel est le nombre mystere au joueur 1 printf("\n\n"); printf("\t Quel est le nombre mystere ? "); scanf("%ld", &nombreEntre); if (nombreMystereDeuxiemeJoueur > nombreEntre) printf("\t C'est plus !! %ld coup(s)", coups++); else if (nombreMystereDeuxiemeJoueur < nombreEntre) printf("\t C'est moins !! %ld coup(s)", coups++); else printf("\t Bravo, vous avez trouve le nombre mystere en %ld coup(s) !!", coups++); }while (nombreMystereDeuxiemeJoueur != nombreEntre); //On demande si le joueur veux rejouer ou quitter printf("\n\n\n"); printf("\t Nouvelle partie ? \n\n"); printf("\t\t 1. OUI\n"); printf("\t\t 2. NON (Quitter)\n"); printf("\n"); printf("\t\t Rejouer : "); scanf("%ld", &rejouer); } return 0; } } [/code]

Modifié par Hartek le 03/06/2006 23:36
koala01
 Posté le 03/06/2006 à 11:10 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien
Salut, Deux solutions sont possibles: une simple, et une plus compliquée, mais aussi plus "belle" à mon gout… La premiere, c'est d'effacer l'écran entre l'introduction du nombre par le joueur un et le début du jeu par le joueur 2… la fonction C pour y arriver est clrscr(); (CLeaR SCReen [clindoeil]) La deuxième solution consistera à récupérer l'insertion du nombre, non pas par l'introduction "bufferisée" de scanf, mais "touche par touche", grace à getchar(); dans une chaine temporaire et à faire afficher une étoile pour chaque caractère introduit (voire, meme à ne rien faire afficher du tout)… Tu peux récupérer la touche "backspace" en vérifiant si le caractère renvoyé est le caractère numéro 8 (08 hexadécimal), et donc programmer l'effacement caractère correspondant dans la chaine temporaire, et éventuellement de l'étoile (si tu l'a fait afficher) Une fois l'introduction terminée par appuis sur la touche <enter> qui est le caractère 13, il ne te restera plus qu'à transformer ta chaine de caractère en entier grace à la fonction atoi(); L'algorithme général pour ce genre de fonction ressemble à [img]http://koala01.free.fr/images/nassicontactacquis.png[/img] mais il n'est pas impossible qu'il te soit nécessaire de la modifier quelque peu pour l'adapter à tes propres souhaits (par exemple n'autoriser que les chiffres [clindoeil], et faire éventuellement afficher des étoiles à chaque chiffre introduit)

Modifié par koala01 le 03/06/2006 11:10
breizhbugs
 Posté le 03/06/2006 à 11:11 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien
Re, Sur un forum, on mets le code source entre balise [ code ] [ /code ] pour qu'il soit plus lisible. (sans les espace!) J'ai vaguement chercher mais je n'ai pas trouver de fonction qui lit au clavier sans faire echo des touches. Il y a néanmoins moyen de faire appel a l'instruction [code] system("cls"); // inclus dans process.h ou stdlib.h [/code] "cls" correspond ici a la commande pour effacer le texte dans la console sous windows (me semble que cela doit etre "clear" sous linux?) . EDIT: koala: -j'ai essayer getchar et la touche a un echo sur l'ecran. -clrscr ne se trouve pas sur mon compilo (msvc++.net2002). elle se trouverait pas dans conio.h par hasard?

Modifié par breizhbugs le 03/06/2006 11:15
koala01
 Posté le 03/06/2006 à 11:33 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien
breizhbugs==>De fait, clrscr() est une fonction de … conio.h… donc, à priori à éviter (comme je n'utilise plus vraiment C, je n'y avais jamais fait attention, et comme j'ai appris le C avec BC31 [langue][rougir]) On peut cependant très facilement supprimer l'affichage du nombre introduit: récupérer le numéro de la ligne aller en 0,ligne réafficher "introduisez un nombre" suivi de 10 espaces Qaund au fait que getchar() provoque l'affichage de la touche enfoncée, il est facile à contrecarrer: tu retourne à x+longueur,y (qui correspond à l'emplacement du caractere qui vient d'etre affiché)AVANT l'incrémentation de longueur et tu provoque l'affichage d'une étoile, sous la forme de gotoxy(x+long,y); printf('*'); L'affichage de l'étoile se fera suffisemment rapidement pour éviter que, meme en regardant au dessus de ton épaule, la personne n'aie l'occasion de voir quoi que ce soit (à part tes doigts sur le clavier…mais j'ai pas encore trouvé le moyen de les rendre invisibles [bigsmile])
koala01
 Posté le 03/06/2006 à 11:48 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien
breizhbugs==>Par contre, personnellement, j'aurais tendance à éviter les commande system("kkechose") pour les simples et bonnes raison que: -Ca ne fonctionne que sous windows (donc pas portable)…j'ai testé sous linux [clindoeil] -Cette fonction réclame, malgré tout, énormément de ressources, vu qu'il s'agit de retourner au système d'exploitation pour utiliser une commande qu'il connait, avant de revenir dans l'application… J'avouerai n'avoir pris cette position que très récemment, après lecture d'un article (en anglais, et dont je n'ai plus l'adresse) qui le jusifiait très clairement… et qui a réussit à me convaincre (en plus d'avoir essayé sous linux [langue]) [clindoeil] [rougir]
koala01
 Posté le 03/06/2006 à 11:55 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien
Hehe… J'ai retrouvé l'article… En plus, il est accompagné qu'une série d'autres "Things to Avoid …" Pour ceux que l'anglais ne rebute pas trop, voici le [url="http://www.gidnetwork.com/b-61.html"]lien concernant system("kkechose")[/url]
Hartek
 Posté le 03/06/2006 à 12:02 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Merci à vous deux mais j'ai l'impression que c'est un peut trop complexe pour moi en ce moment surtout avec ton tableau (j'ai rien compris [crazy]). J'ai vu un peut plus loin sur le site du Zéro la gestion du clavier (peut être que la ca sera bien plus clair pour moi [clindoeil]) Bonne journée [hello]
Publicité
koala01
 Posté le 03/06/2006 à 12:22 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien
Hartek a écrit :
Merci à vous deux mais j'ai l'impression que c'est un peut trop complexe pour moi en ce moment surtout avec ton tableau (j'ai rien compris [crazy]). J'ai vu un peut plus loin sur le site du Zéro la gestion du clavier (peut être que la ca sera bien plus clair pour moi [clindoeil]) Bonne journée [hello]
Mais non, ce n'est pas complexe… Et surtout pas mon "tableau" [clindoeil] Bon, je suis tout à fait d'accord avec le fait que ce genre de représentation n'est pas assez utilisé, mais il s'agit en fait d'une méthode d'algorithmie (étude de la logique à suivre) nommée "nassichneiderman" particulièrement adaptée aux langages de troisième génération… En effet, l'idéal, avant de commencer à écrire la première ligne de code, c'est de savoir précisément ce que l'on va demander de faire à l'application et à quel moment… Tu trouveras plein d'explications sur le sujet [url="http://koala01.free.fr/index.php?section=1&soussection=2"]==>dans la section "principes de programmation"<==[/url] de mon site … Si tu as déjà une idée précise de ce que sont des variables, pointeurs, opérateurs et autres termes "barabares" du meme acquabit, tu peux tout de suite passer aux pages "le nassichneiderman" et suivantes [clindoeil]
breizhbugs
 Posté le 03/06/2006 à 13:36 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien
koala01 a écrit : Mais non, ce n'est pas complexe… Et surtout pas mon "tableau"
Ben franchement il est loin d'etre lisible a mon avis. Avec conio.h sous VC, j'ai trouvé "_getch()" qui fera l'affaire, mais je sais pas si c'est compatible linux: [code] /* KBHIT.C: This program loops until the user * presses a key. If _kbhit returns nonzero, a * keystroke is waiting in the buffer. The program * can call _getch or _getche to get the keystroke. */ #include <conio.h> #include <stdio.h> void main( void ) { /* Display message until key is pressed. */ while( !_kbhit() ) _cputs( "Hit me!! " ); /* Use _getch to throw key away. */ printf( "\nKey struck was '%c'\n", _getch() ); _getch(); } [/code]
koala01
 Posté le 03/06/2006 à 16:48 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien
breizhbugs a écrit :
koala01 a écrit : Mais non, ce n'est pas complexe… Et surtout pas mon "tableau"
Ben franchement il est loin d'etre lisible a mon avis.
Ca dépend de la facon de voir les choses… A vrai dire, j'ai eu des cours d'algorithmie avant meme d'avoir ma première ligne de code à écrire [langue], ce qui, d'une certaine manière, est une optique qui se défend, du simple fait qu'un algorithme est indépendant du langage qui sera utilisé, et que cela permet de se rendre compte que le principal dans l'histoire, c'est d'arriver à se "faire aussi bête que l'ordinateur" [clindoeil] L'astuce, c'est que, trop souvent, quand on parle d'algorithmie, on pense immédiatement à l'UML, qui n'est finalement adapté que pour avoir une vision globale de ce qui nous attends, et au flowchart, qui, lui, n'est réellement adapté que tant que tu prévois de travailler en assembleur… A coté de cela, il y a deux méthodes qui ne sont que beaucoup trop rarement abordées: le jackson qui est particulièrement adapté à la préparation du travail lorsqu'il s'agit de gérer les ruptures, et le nassichneiderman qui est particulièrement adapté pour les langages de troisième générations, dés qu'il s'agit d'aborder la logique séquentielle (et pour rappel: meme en programmant en "orienté objet", tu terminera toujours par arriver à une programmation séquentielle à un moment ou un autre [clindoeil]) Je suis cependant d'accord sur le fait que, si on n'explique pas qu'il "suffit" de suivre les colones, et qu'à ce moment là l'écriture du code devient un "simple travail de traduction", le "tableau" que je fournis peut avoir de quoi en dérouter plus d'un… Maintenant, meme si je ne l'ai pas fais au moment où je fournissait l'algorithme ("mea maxima culpa", dit-il en se frappant le torse [langue]) j'ai malgré tout resctifié le tir en fournissant par la suite un lien qui explique comment l'interpréter [clindoeil] Evidemment, ces écrits ne réflètent que mon avis strictement personnel, et je laisse chacun seul juge de l'intéret qu'il décidera d'y porter [clindoeil] Cependant, je dois humblement avouer que toutes les personnes que j'ai "converties" à l'utilisation du nassichneiderman en sont très rapidement devenues accro [langue][chinois]
Avec conio.h sous VC, j'ai trouvé "_getch()" qui fera l'affaire, mais je sais pas si c'est compatible linux: [code] /* KBHIT.C: This program loops until the user * presses a key. If _kbhit returns nonzero, a * keystroke is waiting in the buffer. The program * can call _getch or _getche to get the keystroke. */ #include <conio.h> #include <stdio.h> void main( void ) { /* Display message until key is pressed. */ while( !_kbhit() ) _cputs( "Hit me!! " ); /* Use _getch to throw key away. */ printf( "\nKey struck was '%c'\n", _getch() ); _getch(); } [/code]
conio.h ne semble, effectivement, pas etre disponible sous linux… Sous linux, il *semble* que le fichier d'entete qui s'en rapproche le plus soit ncurses.h, mais quoi qu'il en soit, il *semblerait* que _getch() ne soit pas "ANSI compliant", ce qui laisse en suspend la question de la compatibilité… Je peux toujours me tromper, mais il *semblerait* que le plus portable de tout soit l'utilisation de caractere=getc(stdin); pour la récupération non bufferisée d'un caractère… Sauf erreur de ma part (car je n'ai pas testé) stdin est une constante, définie dans stdio.h, qui correspond au clavier et getc(flux) semble permettre la récupération non bufferisée (également définie dans stdio.h) Toute confirmation/infirmation serait la bienvenue [clindoeil]
breizhbugs
 Posté le 03/06/2006 à 19:21 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien
koala01 a écrit : Je peux toujours me tromper, mais il *semblerait* que le plus portable de tout soit l'utilisation de caractere=getc(stdin); pour la récupération non bufferisée d'un caractère…
La question ici n'est pas d'utiliser une fonction qui lit un buffer ou pas, mais une fonction qui ne fait pas d'echo sur l'ecran. D'ailleurs si tu lis bien le code ci dessous, tu verras que _getch() extrait un caractere du buffer [clindoeil] Pour linux, je peux pas te dire j'ai toujours detester programmer sous linux. Pour la methode d'ecriture d'un algo, eh ben j'ai juste appris a l'ecrire en LDA. On a aussi vu l'UML (et MERISE il parait!). Quoiqu'il en soit, on est toujours plus a l'aise avec ce que l'on a appris et reflechir sur une nouvelle methode est pas toujours evident. [bierre]
koala01
 Posté le 03/06/2006 à 20:37 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien
comme tu l'as déjà remarqué, j'essaie de rester le plus portable possible dans les solutions que je propose (ce qui justifie, entre autres, que dés qu'un probleme de librairie/fichier d'entete apparait, je tentes de faire de manière à s'en passer), mais encore une fois, je n'obligerai personne à suivre mon point de vue… De manière générale, en C, je me suis toujours très fort méfié de l'introduction bufferisée, simplement parce qu'elle est source d'énormément de comportements indéterminés dans le cas où l'utilisateur final d'une application viendrait à faire une bêtise … Il est, à mon sens, et on peut discuter de ce point de vue, plus facile de lutter contre un comportement, connu à l'avance, mais pas forcément souhaité dans le cas de l'écho du caractère, d'une fonction que d'empêcher l'utilisateur final de faire planter le programme suite à une introduction malheureuse… Quelle que soit le la fonction d'introduction bufferisée que tu aura choisie, tu sera toujours sans recours contre l'introduction de "123az" par l'utilisateur si tu n'attendais qu'un entier… ou s'il essaie, simplement, d'introduire plus de caractères que ce que tu as prévu… La décision d'avoir recours à une introduction non bufferisée te permettra, justement, de sécuriser l'ensemble des touches que l'utilisateur enfoncera, pourquoi pas de permettre l'utilisation de la virgule pour signaler la décimale, et, dans le cas qui nous intéresse, de supprimer le résultat de l'écho indésiré… L'un dans l'autre, nous sommes alors gagnants sur tous les tableau… D'autant plus que l'algorithme peut etre facilement modifié en fonction de ce que l'on attend que l'utilisateur introduise [clindoeil] Que tu n'aies jamais aimé programmer sous linux est typiquement le genre d'avis qui t'est strictement personnel, sans doute motivé, sur lequel je n'ai aucune envie de discuter… c'est ton choix et je le respecterai sans rien dire [clindoeil] Concernant le choix, ou la difficulté d'approche, des méthodes d'algorithmie, je comprend aisément que l'on n'aie pas forcément envie de "s'en taper une nouvelle" tous les quinze jours [langue]… Je n'impose d'ailleurs à personne de s'intéresser au nassichneiderman plus que nécessaire, "Oyez, Oyez, sachez que koala01 préfère utiliser le nassichneiderman" [clindoeil][bigsmile] Ce que je regrette le plus, c'est plutot que trop souvent, l'analyse en profondeur de la logique à suivre pour atteindre l'objectif d'une application est baclée, et je resterai ferme sur le sujet [clindoeil]. Si je me permet de présenter une méthode qui, selon moi, présente un bon compromis entre la représentativité de ce que l'on veut faire et la capacité de représenter des concepts aussi variés que les boucles ou les tests à choix multiples, c'est surtout dans le but de montrer qu'il y a parfaitement moyen de faire une analyse séquentielle poussée, sans forcément se retrouver face à un plat de spagetti, et donc *tenter* dans la mesure de mes modestes moyens, de présenter les bienfaits d'une analyse correctement menée [clindoeil]
koala01
 Posté le 03/06/2006 à 20:47 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien
Avant que l'on ne se méprennes sur les intentions que je poursuivais dans ma réponse précédente… Je suis parfaitement conscient du fait que de nombreuses personnes font, dans le cadre de la gestion d'un projet élaboré, une analyse très poussée de ce que devra faire l'application, que ce soit grâce à l'UML, à MERISSE ou à toute autre méthode d'analyse envisagée… Ce que je voulais dire, surtout, c'est qu'il est parfait de savoir ce qui doit être fait par l'application dans telle situation, mais que, malheureusement, le code source qui devra être mis en oeuvre pour obtenir le résultat escompté sera de toutes manières du code source purement et simplement basé sur une logique séquentielle… Et le malheur veut que les différentes méthodes utilisées pour gérer un projet s'arreteront le plus souvent… justement à la gestion séquentielle de la logique à suivre (ou proposeront, parfois, la gestion sous une forme qui n'est pas adaptée aux langages de troisième génération)… Cela revient presque à dire que l'on décide de bâtire une maison, que l'on décide avec précision de l'emplacement de toutes les pieces, et de leurs dépendances, mais qu'on ne fournit jamais le plan de la maison à la personne qui doit monter le murs… Il y a là quelque chose de pas tout à fait logique [clindoeil]
breizhbugs
 Posté le 03/06/2006 à 21:08 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien
En parlant de probleme de gestion de buffer, un type parle de strtok() sur un autre forum: http://forum.hardware.fr/hardwarefr/Programmation/Les-soucis-strtok-sujet-91484-1.htm [hello]
astragor1
 Posté le 03/06/2006 à 21:21 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
STOOOOOOOOOOOOOOOOOOOOOOOOP !!!!! Hartek est débutant. Son problème est simple et concerne un programme d'apprentissage. Cela mérite donc une réponse simple ! D'autant qu'une réponse simple à été donnée... Enfin pourquoi faire simple quand on peut faire compliqué ! [bigsmile]
Publicité
breizhbugs
 Posté le 03/06/2006 à 21:39 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien
astragor1 a écrit : Enfin pourquoi faire simple quand on peut faire compliqué ! [bigsmile]
Ben c'est au cas où il apprendrait vite [img]http://forum-images.hardware.fr/icones/redface.gif[/img] (mais je crois qu'on lui a fait peur depuis longtemps...)
koala01
 Posté le 03/06/2006 à 23:01 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien
breizhbugs a écrit :
En parlant de probleme de gestion de buffer, un type parle de strtok() sur un autre forum: http://forum.hardware.fr/hardwarefr/Programmation/Les-soucis-strtok-sujet-91484-1.htm [hello]
Ce que j'ai bien aimé, dans le sujet de ce forum externe, c'est [url="http://mapage.noos.fr/emdel/goret.htm"]l'échelle de goret[/url] … A méditer sérieusement[clindoeil]
Hartek
 Posté le 03/06/2006 à 23:32 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Non non non breizhbugs je n'ai pas peur mais pour le moment je pense que je vais attendre pour pour mes petites "étoiles", chaque chose en son temps. Bonne soirée à tous et merci [hello]
Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
-40%Mois du Blanc : jusqu'à -40% sur une sélection Linge de Maison
Valable jusqu'au 13 Février

Couettes, matelas, linge de lit et bien plus encore : c'est le mois du blanc sur Amazon avec jusqu'à -40% sur une sélection de produits.


> Voir l'offre
33,75 €Carte mémoire Samsung 256 Go MicroSDXC Evo Select U3 (100 Mo/s) à 33,75 € livrée
Valable jusqu'au 20 Janvier

Amazon Allemagne fait une promotion sur la toute nouvelle carte mémoire Samsung 256 Go MicroSDXC Evo Select U3 qui passe à 29,63 €. Comptez 4,52 € pour la livraison en France soit un total de 33,75 € livrée. Une bonne affaire pour cette carte que l'on trouve ailleurs à partir de 60 € et qui offre des vitesses de 100 Mo/s en lecture et 90 Mo/s en écriture.  Elle est idéale pour les téléphones, caméras et appareils photo 4K. Elle est étanche, anti-choc et résiste aux rayons X et aux champs magnétiques. Elle est garantie 10 ans.

Vous pouvez utiliser votre compte Amazon France sur Amazon Allemagne et il n'y a pas de frais de douane. Si vous êtes perdu en allemand, vous pouvez traduire le site en anglais.


> Voir l'offre
12,99 €McAfee Internet Security 2021 (3 appareils, 1 an) à 12,99 €
Valable jusqu'au 20 Janvier

Amazon fait une promotion sur la suite antivirus Internet Security 2021 qui passe à 12,99 €. Cette protection intégrale alliant antivirus, protection de l'identité et protection de la confidentialité des données pour tous vos PC, Mac, smartphones et tablettes est valide pour 3 appareils pendant 1 an. La clé d'activation ainsi que le lien de téléchargement vous seront envoyés par email une fois la commande passée. Une très bonne affaire.


> Voir l'offre

Sujets relatifs
[C] Pb utilisation de malloc (débutant)
quel SGBD apprendre pour debutant ?
PowerBatch:pour débutant
Questions de debutant
besoin d'applications en vb2008 pour debutant
débutant :problème d'exécution
gros débutant en C!
prob de débutant
débutant en langage C
debutant
explication ( debutant )
Plus de sujets relatifs à Débutant en C
 > Tous les forums > Forum Autres langages