CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Le ToPiC Du C/C++ ²°°³

Le_sims01
Le_sims01
Niveau 10
01 mai 2004 à 19:33:37
  1. include < stdio.h>

char blabla[50];

  1. define score 5

void main()
{
FILE *fichier;
fichier = fopen("NomDuFichier.txt","w");
fprintf(fichier,"score : %d", score);
blabla==("NomDuFichier.txt");
fclose(fichier);
printf ( "%c", blabla);
}

voila j´ai essayé ça, la chaine de caractere stock ce qu´il y a dans le fichier, pour pouvoir l´afficher dans le programme.
mais je galere avec les chaines de caracteres et ça ne fonctionne pas. Pouriez pas m´aidez svp.

lag-it
lag-it
Niveau 10
01 mai 2004 à 20:58:07

Oula :)

Je crois que tu n´as pas encore assez d´expérience dans le domaine du C pour te lancer dans la manipulation de fichiers.
blabla==("NomDuFichier.txt"); c´est n´importe quoi et la routine que je t´ai donné écrit dans un fichier, mains ne sert pas à lire dedans.
Relis les bases du langage avant de fiare difficile :)

Le_sims01
Le_sims01
Niveau 10
01 mai 2004 à 21:22:52

oui je connais les bases j´ai essayé ça sans trop y croire car je ne sais pas encore manipuler les fichiers.
C´est en essayant qu´on apprend :sarcastic:

Le_sims01
Le_sims01
Niveau 10
01 mai 2004 à 21:26:14

Au fait tu connait pas des sites d´aide en programmation en C. Parcequ´a chaque foi que j´ai un prob je tombe sur des trucs hyper complexes alors que la commande que je chercher est toute bete.

Le_sims01
Le_sims01
Niveau 10
01 mai 2004 à 21:47:05

je croit avoir trouver! il faut utiliser fgetc()

regarde j´ai trouver un site qui explique toute ( je croit) les commandes.
http://www.lri.fr/~aze/page_c/aide_c/

Le_sims01
Le_sims01
Niveau 10
01 mai 2004 à 22:22:01

j´ai trouver!!!!!!

  1. include < stdio.h>
  2. define score 5

char msg[20];
void main()
{
FILE *fichier;
fichier= fopen ( "NomDuFichier.dat","w+");
fprintf ( fichier,"score:%d", score);
fseek( fichier, 0, SEEK_SET);
fgets ( msg, sizeof(msg), fichier);
printf ( "%s", msg);
fclose ( fichier);
}

voila c´etait pas si complexe :) merci lag-it j´y aurai pas reussit sans ton aide. Dommage que ce forum est tres peu fréquenté.

Le_sims01
Le_sims01
Niveau 10
01 mai 2004 à 22:24:32

bizarrement ça fonctionne uniquement avec un fichier dat.

j´adore les monologues :lol:

lol007-L_Tolier
lol007-L_Tolier
Niveau 10
12 mai 2004 à 16:30:32

:up:

tip
tip
Niveau 6
13 mai 2004 à 18:19:05

salut, on aprend c++ a l´ecole et a la maison jmamuse a faire des petit jeux en c++ ( genre: pong,pacman et snake :p) ) .

alors je me demandais si ya pas moyin de jouer un mp3 ?
et c´est qoui la commande est dans quele bib sa se trouve?

merci :)

lol007
lol007
Niveau 10
05 juin 2004 à 15:49:37

:up:

omegasf3
omegasf3
Niveau 8
05 juin 2004 à 20:04:31

Salut moi et un pote on a creer un programme en C quant on le compile ca nous met aucune erreur mais quant on l´execute ça nous met bush error et on ne voit pas pourquoi est ce que qu´elqu´un pourrait nous aider
merci d´avance

dnob700
dnob700
Niveau 10
05 juin 2004 à 20:32:10

mets ton code ici.

omegasf3
omegasf3
Niveau 8
05 juin 2004 à 21:05:08

ok voila

  1. include < stdio.h>
  2. include < stdlib.h>
  3. include < assert.h>
  4. define N 10
  5. define M 11

int T=2;

void inittab(int *** tab)
{
int i,j;
*tab = malloc(N * sizeof ( *tab)[0]);
assert(*tab);
for(i=0;i < N;i++)
{
( *tab)[i] = malloc(N * sizeof ( *tab)[0][0]);
assert((*tab)[i]);
for(j=0;j < M;j++)
(*tab)[i][j] = N*i+j;
}
}

void printtab(int ** tab)
{
int i,j;
printf("********************** Init Affichage ********************\n\n");
printf("F :Foret C :Chateau M :Montagne $ :Personnage O :Objet\n\n\n");
for(i=0;i < N;i++)
{
for(j=0;j < M;j++)
{
if((i == 0) || ( i == 1))
printf("%5c",70);
else
if((j == 0) || ( j == 1))
printf("%5c",77);
else
if((j == 9) || ( j == 10))
printf("%5c",67);
else
if((tab[i][j] == 22) || ( tab[i][j] == 88))
printf("%5c",79);
else
if(tab[i][j] == 65)
printf("%5c",36);
else
printf("%5c",35);
}
printf("\n");
}
}

/ * void freetab(int ** tab)
{
int i,j;
for(i = ( N - 1);i > 0;i--)
{
for(j = ( M - 1);j > 0;j--)
free(tab[i][j]);
}
free(tab);
}

  • /

void swapH(int ** tab)
{
int i,j,tmp;
printf("***** Action : Monter *****\n\n\n");
for(i = 0;i < N;i++)
for(j = 0;j < M;j++)
{
if(tab[i][j] == 65)
{
if((i - 1) < 2)
printf("Vous ne pouvez monter puisqu´il y a la Foret\n");
else
if((tab[i - 1][j] == 22) || ( tab[i - 1][j] == 88))
printf("Vous ne pouvez monter puisqu´il ya un objet qui vous gene\n");
else
{
tmp = tab[i][j];
tab[i][j] = tab[i - 1][j];
tab[i - 1][j] = tmp;
}
}
}
}

void swapB(int ** tab)
{
int i,j,tmp;
printf("***** Action : Descendre *****\n\n\n");
for(i = ( N - 1);i > 0;i--)
for(j = ( M - 1);j > 0;j--)
{
if(tab[i][j] == 65)
{
if((i + 1) > ( N - 1))
printf("Vous ne pouvez descendre sinon vous sortez de la MAP\n");
else
if((tab[i + 1][j] == 22) || ( tab[i + 1][j] == 88))
printf("Vous ne pouvez descendre puisqu´il y a un objet qui vous gene\n");
else
{
tmp = tab[i][j];
tab[i][j] = tab[i + 1][j];
tab[i + 1][j] = tmp;
}
}
}
}

void swapG(int ** tab)
{
int i,j,tmp;
printf("***** Action : Gauche *****\n\n\n");
for(i = 0;i < N;i++)
for(j = 0;j < M;j++)
{
if(tab[i][j] == 65)
{
if((j - 1) < 2)
printf("Vous ne pouvez aller vers la gauche puisqu´il y a la Montagne\n");
else
if((tab[i][j - 1] == 22) || ( tab[i][j - 1] == 88))
printf("Vous ne pouvez aller vers la gauche puisqu´il y a un objet qui vous gene\n");
else
{
tmp = tab[i][j];
tab[i][j] = tab[i][j - 1];
tab[i][j - 1] = tmp;
}
}
}
}

void swapD(int ** tab)
{
int i,j,tmp;
printf("***** Action : Droite *****\n\n\n");
for(i = ( N - 1);i > 0;i--)
for(j = ( M - 1);j > 0;j--)
{
if(tab[i][j] == 65)
{
if((j + 1) > 8)
printf("Vous ne pouvez aller vers la droite puisqu´il y a le Chateau\n");
else
if((tab[i][j + 1] == 22) || ( tab[i][j + 1] == 88))
printf("Vous ne pouvez aller vers la droite puisqu´il y a un objet qui vous gene\n");
else
{
tmp = tab[i][j];
tab[i][j] = tab[i][j + 1];
tab[i][j + 1] = tmp;
}
}
}
}

void take(int ** tab)
{
int i,j;
printf("***** Action : Prendre un Objet\n\n\n");
for(i = 0;i < N;i++)
for(j = 0;j < M;j++)
{
if(tab[i][j] == 65)
{
if((tab[i - 1][j] == 22) || ( tab[i - 1][j] == 88))
{
tab[i - 1][j]=-1;
T=T - 1;
}
else
if
((tab[i + 1][j] == 22) || ( tab[i + 1][j] == 88))
{
tab[i + 1][j]=-1;
T=T - 1;
}
else
if((tab[i][j - 1] == 22) || ( tab[i][j - 1] == 88))
{
tab[i][j - 1]=-1;
T=T - 1;
}
else
if((tab[i][j + 1] == 22) || ( tab[i][j + 1] == 88))
{
tab[i][j + 1]=-1;
T=T - 1;
}
else
printf("Vous ne pouvez prendre d´objet puisqu´il y en a pas a proximite de vous\n");
}
}
}

void poser(int ** tab)
{
int i,j;
char c,reste;
printf("***** Action : Deposer un Objet\n\n\n");
for(i = 0;i < N;i++)
for(j = 0;j < M;j++)
{
if(tab[i][j] == 65)
{
if(T == 2)
{
printf("Vous ne pouvez pas deposer un Objet puisque vous n´en avez pas pris\n");
}
else
{
printf("cmd : " );
reste = c = getchar();
while(reste == ´\n´)
{
switch(c)
{
case ´h´:
tab[i -1][j] = 88;
T=T + 1;
break;
case ´b´:
tab[i + 1][j] = 88;
T=T + 1;
break;
case ´g´:
tab[i][j - 1] = 88;
T=T + 1;
break;
case ´d´:
tab[i][j - 1] = 88;
T=T + 1;
break;
default:
printf("h : au-dessus -- b : en-dessous -- g: a gauche -- d : a droite\n");
break;
}
printf("cmd : " );
reste = getchar();
}
}
}
}
}

int main(void)
{
char c,reste;
int ** tab = NULL;
inittab(&);
while(1)
{
printtab(tab);
printf("cmd : " );
reste = c = getchar();
while(reste ! = ´\n´)
reste = getchar();
switch(c)
{
case ´h´:
swapH(tab);
break;
case ´b´:
swapB(tab);
break;
case ´g´:
swapG(tab);
break;
case ´d´:
swapD(tab);
break;
case ´t´ :
take(tab);
break;
case ´p´:
poser(tab);
break;
case ´m´:
printf("h : monter le curseur\n");
printf("b : descendre le curseur\n");
printf("g : deplacer le curseur vers la gauche\n");
printf("d : deplacer le curseur vers la droite\n");
printf("t : prendre -- p: poser un objet\n");
printf("m : afficher l´aide\n");
printf("q : quitter le programme\n\n");
break;
case ´q´:
/ *freetab(tab);*/
exit(0);
default:
printf("La commande ´m´ permet d´obtenir l´aide\n\n\n");
break;
}
}
return 0;
}

dnob700
dnob700
Niveau 10
05 juin 2004 à 23:46:10

tu aurais pas un problème de type sur la fonction malloc ? mon compilo me dit que malloc renvoie un void et non un int. Tu me dira que malloc est normallement typé sur son argument... peut-être qu´il y a trop de pointeur. Je sais pas, faudrait demander à quelqu´un qui est bon en C++, moi je fais semblant.

lag-it
lag-it
Niveau 10
06 juin 2004 à 00:08:56

Pour le type de retour de malloc, l´emploi d´un transtypage dépends de la norme supportée par ton compilateur.
Rajoute :

( int*)malloc(...);

Si tu recois un warning...

Mystereman
Mystereman
Niveau 10
17 juin 2004 à 13:58:24

Bonjour tlm !

Voila, je débute en C, j´ai déjà fait de petit programme sympa ( QCM, calendrier,...) et j´ai juste une petite question basique: j´aimerais pouvoir rentrer une phrase ( scanf), ou une suite de mot, pour la mémoriser et la resortir ( printf) plus tard, est-ce faisable ?

Mystereman
Mystereman
Niveau 10
17 juin 2004 à 14:30:10

:up:

Comment entrer une suite de caractères svp ?

Mystereman
Mystereman
Niveau 10
17 juin 2004 à 14:41:12

C´est trop dur ce que je demande ? :rire:

Kelios
Kelios
Niveau 8
17 juin 2004 à 19:10:17

Bordel relaxez bon sang...

C´est pas comme si on passait tout notre temps ici...
pfff l´impatience...
T´avais même pas attendu une heure!

Bon...

" j´aimerais pouvoir rentrer une phrase ( scanf), ou une suite de mot, pour la mémoriser et la resortir ( printf) plus tard, est-ce faisable ? "
Demon point de vue, la réponse semble évidente. Mais faut me placer au moment ou je détutais... mmmm... m´enfin oui, c´est une pas trop mauvaise question...

T´as qu´à scanf-er une phrase dans un tableau de caractères ( une chaine de caractères) puis de le passer à printf plus tard, tout simplement.

Exemple en C/C++:

  1. include < stdio.h>
  2. include < string.h>

/ /Directives, code et données quelconques...

int main()
{
char Phrase[256];
memset((void*)Phrase,0,256);

/ * code quelconque avant... */

printf("Entrez votre phrase ( 255 lettres maximum) :\n");
scanf("%s", Phrase);

/ * code quelconque après... */

printf("Votre phrase était: %s", Phrase);

return 0;
}

Voilà!

Kelios
---------

Mystereman
Mystereman
Niveau 10
17 juin 2004 à 21:56:12

Ok, merci Kelio :ok:

Dsl, j´étais pressé...

J´essaie et je te redis, merci !

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment