Vous n'êtes pas identifié.
Je n'ai pas vraiment cherché... en fait je suis censé étudier là (exam demain matin )
Je vais qd meme prendre le temps de faire 2-3 remarques
Les fonctions scanf, printf, sprintf et compagnie servent à faire des entrées ou sorties formatées... par exemple si tu écris
printf(" %d,%f ", un_entier,un_reel);
Ca affichera un espace, puis la valeur de un_entier, puis une virgule, la valeur de un_reel et enfin un autre espace, et tout ca en une seule instruction...
Donc le plus simple pour écrire une date c'est encore de créer une chaine de caracteres deja formatée et puis de l'afficher avec print3
Donc tu peux directement écrire
char chaine[50]; sprintf(chaine, "%d/%d/%d", get_date(0,0), get_date(1,0), get_date(2,0)); print3(60,59,chaine); // affichage de la date sprintf(chaine, "%dh%dmin", get_time(1), get_time(2) ); print3(100,59,chaine); // affichage de l'heure
Ou même, tu peux tout rassembler en un seul morceau:
char chaine[50]; sprintf(chaine, "%d/%d/%d %dh%dmin", get_date(0,0), get_date(1,0), get_date(2,0), get_time(1), get_time(2)); print3(60,59,chaine); // affichage de la date et de l'heure
Et voilà
Hors ligne
j'ai créé une fonction pour remplacer scanf
si ca intéresse quelqu'un ...
Hors ligne
si je me rapelle bien de ce prog, l'adaptation en exe sera difficile car ca va prendre de la place. Fo pas oublier que l'on est limité à 64Ko (voir un peu moins)
Déjà un conseil ne pas utiliser printf de C/C++ (trop gourmand en place pour l'exe), je vois que tu utilises le KTRAscii mais cette version est en pix/pix donc le tableau prend plus de place qu'un simple byte/byte.
Tu px trjs utiliser le systeme de GComm est chargeant la police depuis un fichier memzone. (plus économe en place pour l'exe)
Si tu ne vx pas te faire ch***, je px tjrs t'envoyer les sources de mon codage ascii. (sources codées pour VC++ 1.5 qui cré de plus petits exe que TC3)
Hors ligne
Bonne chance pour ton exam Julien.
par contre g ossi une remarque a faire (john_lenfr) quand tu met du code .. ne le met pas en citation.. c pas très joli!
pi pour les tableaux t'inquiet pas !
i ta tout expliqué en plus! (julien)
et si ta besoin de tableaux a plus que 2 dimensions c le même principe après (pour 2 ta un exemple)
Hors ligne
Qu'est-ce qui peut bien prendre autant de place comme calculs pour "simplement" calculer des points?
En attendant, inspire toi des exemples qu'on t'a donnés, et regarde comment une "grosse fonction" peut être réduite en quelques lignes lorsqu'on y observe bcp de redondances... A chaque fois qu'on a l'impression de voir un copier-coller sur plusieurs lignes, c que c mauvais signe
Hors ligne
oui mais sa il a dit qu'il allait les enlever!
c pas la peine de recommencer avec sa!
Hors ligne
Qu'est-ce qui peut bien prendre autant de place comme calculs pour "simplement" calculer des points?
![]()
En attendant, inspire toi des exemples qu'on t'a donnés, et regarde comment une "grosse fonction" peut être réduite en quelques lignes lorsqu'on y observe bcp de redondances... A chaque fois qu'on a l'impression de voir un copier-coller sur plusieurs lignes, c que c mauvais signe
Le truc en fait c'est que mio je commence tout juste à programmer et que la programmation c'est pas vraiment au programme de mes cours. Moi aussi je fait ça en plus, mais comme ça me passionne je m'accroche.
Désolé pour les répétitions style 'copy/paste' mais j'ai pas l'habitude de programmer alors c'est très difficile pour moi de voir quelles fonctions pourai etre remplacées par dautres.
Et vous savez depuis cobien de temps vous programmer? Moi j'en sui qu'à mes débuts alors soyer plus indulgent quand meme!
En tout cas merci beaucou de consacrer du temp pour mes petites questions ch****** mes qui me sont necessaires.
@ Julien: bonne chance pour tes exams et merci pour tes conseils!
@ X-thunder28: lit bien mes posts avant de dire quoi que ce soit!
@ [neo]f4kill: merci pour tes conseils!
@ Bija: tu peux me donner ta fonction qui remlace scanf: ça me serai très utile parce que j'ai pa assez de bases pour l'instant pour en crer une moi meme.
Et merci à tous les autres pour leur petits conseils.
Ce qui me manque pour continuer donc:
-savoir gérer les tableaux: fo que je my mette.
-trouver une routine pour remplacer 'scanf'
Pour répondre à Julien (les menus):
print3(1,1,"ESC>QUIT PAGE 1 ");
print3(1,15,"F1 INFORMATIONS");
print3(1,21,"F2 AUTRES SYSTEMES");
print3(1,27,"F3 VOIR FICHIERS WJKLMN");
print3(1,33,"F4 SAUVER CHARGER FICHIERS");
print3(1,39,"F5 EFFACER UN FICHIER");
print3(1,45,"F6 RESOLUTION DE TRIANGLES");
print3(1,1,"ESC>QUIT PAGE 2 ");
print3(1,15,"F1 ENTRER DES COORDONNEES");
print3(1,21,"F2 VOIR COORD OU NO D'UN POINT ");
print3(1,27,"F3 LISTE COORDONNEES OU NO");
print3(1,33,"F4 SUPPRIMER UN POINT");
print3(1,39,"F5 CHANGEMENT NUMERO");
/*print3(1,45,"F6 ");*/
print3(1,1,"ESC>QUIT PAGE 3 ");
print3(1,15,"F1 XY RAYONNES");
print3(1,21,"F2 XY CUMULES");
print3(1,27,"F3 CHANGEMENT DE BASE");
print3(1,33,"F4 GIS DIST RAYONNES");
print3(1,39,"F5 GIS DIST CUMULES + SURFACE");
print3(1,45,"F6 DISTANCE POINT DROITE");
print3(1,1,"ESC>QUIT PAGE 4 ");
print3(1,15,"F1 V0 MOYEN");
print3(1,21,"F2 LEVER RAYONNES XY");
print3(1,27,"F3 LEVER RAYONNES XYZ");
print3(1,33,"F4 CHEMMINEMENT PLANI. ENCADRE");
print3(1,39,"F5 CHEMMINEMENT PLANI. FERME");
print3(1,45,"F6 CHEMMINEMENT PLANI. ANTENNE");
print3(1,1,"ESC>QUIT PAGE 5 ");
print3(1,15,"F1 INTERSECTION DROITE DROITE");
print3(1,21,"F2 INTERSECTION CERCLE CERCLE");
print3(1,27,"F3 INTERSECTION CERCLE DROITE");
print3(1,33,"F4 ARC CAPABLE");
print3(1,39,"F5 RELEVEMENT SUR 3 POINTS");
print3(1,45,"F6 POINTS ALIGNES");
print3(1,1,"ESC>QUIT PAGE 6 ");
print3(1,15,"F1 A.R.T.D.B.");
print3(1,21,"F2 SURFACE DEVELOPPEMENT SECTEUR");
print3(1,27,"F3 DIVISION SEGT EN NB PARTIES =");
print3(1,33,"F4 POINT SUR BISSECTRICE");
print3(1,39,"F5 MOYENNE PROPORTIONNELLE");
print3(1,45,"F6 CERCLE PAR 3 POINTS");
print3(1,1,"ESC>QUIT PAGE 7 ");
print3(1,15,"F1 DIVISION SURFACE PT+TRIANGLE");
print3(1,21,"F2 DIVISION QUADRILATER PARALLEL");
print3(1,27,"F3 TOLERANCE CADASTRALE");
print3(1,33,"F4 ADAPTATION D'HELMERT");
print3(1,1,"ESC>QUIT PAGE 8 ");
print3(1,15,"F1 GRAPHIQUE INTERSECTIONS");
print3(1,21,"F2 GRAPHIQUE MULTILATERATION");
print3(1,27,"F3 GRAPHIQUE RELEVEMENT");
print3(1,1,"ESC>QUIT PAGE 9 ");
print3(1,15,"F1 CLOTHOIDES");
print3(1,21,"F2 NIVELLEMENT DIRECT");
print3(1,27,"F3 MISE EN PAGE");
print3(1,33,"F4 NOMMER DOSSIERS");
:jump2:
Hors ligne
oui effectivement ya l'air d'y avoir pas mal de choses l dedans!
mais la prochaine foi utilise la bonne balise quand tu met du code! c pas une citation!
sinon tu programmait pas en basic avant?
passque pour l'histoire du copier/coller c la même chose en basic!
Hors ligne
Mais on est indulgents lol, sinon on prendrait pas la peine de t'aider
Effectivement c'est pas mal! Mais de là à penser que ton exe sera trop gros... Si tu veilles à ne pas mettre trop de redondances dans ton code ca devrait aller sans trop de problemes.
PS: ca va chuis en vacances mnt (j'ai raté celui de ce matin mais m'en fous :P )
Hors ligne
Si je faisai du basic, sur la caltos et pui sur l'ordi avec QBasic. Mais c'est pas très rapide. D'ailleur après le programme je ne compte pa m'arrèter la. Je vais surrement réaliser des jeux et puis quelques utilitaires(style répertoir car j'en ai pa vu et c'est très pratique)
J'espère aussi que Bija poura me donner sa fonction 'scanf' pour casio.
Domage Julien, j'espère que c'est pas à cause de moi pour ton exam.
C'est vrai que le code C que je vai faire va ressembler beaucou à du basic au début parce que je" connai rien en C.
a+
Hors ligne
répertoir?
c quoi?
Hors ligne
ben ca ressemble un peu à un répertoire, tu t'en sert a peu près comme un répertoire, ca a à peu près l'utilité d'un répertoire....
je te laisse deviner ce que c'est !! :ptdr:
Hors ligne
é alors???
ia des explo pour sa non?
Hors ligne
ben un répertoire c'est pour mettre des noms et des numéros de téléphones, des adresses....
(kel boulet sur ce coup la)
Hors ligne
aaa
oula
moi je pensai répertoire genre windobe ...
Scuzé moi sui pas réveillé!
pa la peine de me traiter de boulet :evil:
Hors ligne
(ATTENTION les 'goto' disparaitront dans la version finale, remplacés par la fonction en elle meme):
En tout cas y'a un autre gros boulet qui se promène :mrgreen:
Hors ligne
Oui c'est clair
Hors ligne
y' a quand meme un code avec du goto. faut vraiment pas se baser sur les gotos, surtout pour les bases d' un programme. point barre.
(Conclusion: newbie powa d' après julien)
Hors ligne
Rooh comment qu'il essaie de m'enfoncer pour pas couler tout seul :mrgreen:
Hors ligne
ba tu la cherché en mem tps ...
Hors ligne
ben en tout cas dans ce post c'est boulet powaaaaaaa !!
:ptdr:
mais bon faut bien dire des conneries des fois, sinon on rigolerait pas autant :mrd:
Hors ligne
//bscan par Bija //e-mail : stephane.bijakowski@wanadoo.fr //visitez www.madjar.fr.st //ne pas oublier de mettre stdio.h, conio.h ,casio2.h et prgnuls.h en //include //pour uiliser cette lib : effacer l'écran //vous pouvez afficher une phrase sur la 1ere ligne //appeler bscan avec en parametre une chaine de caracteres et la //longueur maximale // merci a madjar pour ses tests void bscan (char nom[150], int longueur) { int i,x,y,test; int mode =2; int a=0; x=1; y=2; gotoxy(1,8); printf("MODE :"); do { gotoxy(x,y); printf("_"); test=0; i=getkb(); if (i==30 && mode==1) {nom[a]='a'; gotoxy(x,y); printf("a");test++;} if (i==30 && mode==2) {nom[a]='A'; gotoxy(x,y); printf("A");test++;} if (i==48 && mode==1) {nom[a]='b'; gotoxy(x,y); printf("b");test++;} if (i==48 && mode==2) {nom[a]='B'; gotoxy(x,y); printf("B");test++;} if (i==46 && mode==1) {nom[a]='c'; gotoxy(x,y); printf("c");test++;} if (i==46 && mode==2) {nom[a]='C'; gotoxy(x,y); printf("C");test++;} if (i==32 && mode==1) {nom[a]='d'; gotoxy(x,y); printf("d");test++;} if (i==32 && mode==2) {nom[a]='D'; gotoxy(x,y); printf("D");test++;} if (i==18 && mode==1) {nom[a]='e'; gotoxy(x,y); printf("e");test++;} if (i==18 && mode==2) {nom[a]='E'; gotoxy(x,y); printf("E");test++;} if (i==33 && mode==1) {nom[a]='f'; gotoxy(x,y); printf("f");test++;} if (i==33 && mode==2) {nom[a]='F'; gotoxy(x,y); printf("F");test++;} if (i==34 && mode==1) {nom[a]='g'; gotoxy(x,y); printf("g");test++;} if (i==34 && mode==2) {nom[a]='G'; gotoxy(x,y); printf("G");test++;} if (i==35 && mode==1) {nom[a]='h'; gotoxy(x,y); printf("h");test++;} if (i==35 && mode==2) {nom[a]='H'; gotoxy(x,y); printf("H");test++;} if (i==23 && mode==1) {nom[a]='i'; gotoxy(x,y); printf("i");test++;} if (i==23 && mode==2) {nom[a]='I'; gotoxy(x,y); printf("I");test++;} if (i==36 && mode==1) {nom[a]='j'; gotoxy(x,y); printf("j");test++;} if (i==36 && mode==2) {nom[a]='J'; gotoxy(x,y); printf("J");test++;} if (i==37 && mode==1) {nom[a]='k'; gotoxy(x,y); printf("k");test++;} if (i==37 && mode==2) {nom[a]='K'; gotoxy(x,y); printf("K");test++;} if (i==38 && mode==1) {nom[a]='l'; gotoxy(x,y); printf("l");test++;} if (i==38 && mode==2) {nom[a]='L'; gotoxy(x,y); printf("L");test++;} if (i==8 && mode==1) {nom[a]='m'; gotoxy(x,y); printf("m");test++;} if (i==8 && mode==2) {nom[a]='M'; gotoxy(x,y); printf("M");test++;} if (i==9 && mode==1) {nom[a]='n'; gotoxy(x,y); printf("n");test++;} if (i==9 && mode==2) {nom[a]='N'; gotoxy(x,y); printf("N");test++;} if (i==10 && mode==1) {nom[a]='o'; gotoxy(x,y); printf("o");test++;} if (i==10 && mode==2) {nom[a]='O'; gotoxy(x,y); printf("O");test++;} if (i==5 && mode==1) {nom[a]='p'; gotoxy(x,y); printf("p");test++;} if (i==5 && mode==2) {nom[a]='P'; gotoxy(x,y); printf("P");test++;} if (i==6 && mode==1) {nom[a]='q'; gotoxy(x,y); printf("q");test++;} if (i==6 && mode==2) {nom[a]='Q'; gotoxy(x,y); printf("Q");test++;} if (i==7 && mode==1) {nom[a]='r'; gotoxy(x,y); printf("r");test++;} if (i==7 && mode==2) {nom[a]='R'; gotoxy(x,y); printf("R");test++;} if (i==31 && mode==1) {nom[a]='s'; gotoxy(x,y); printf("s");test++;} if (i==31 && mode==2) {nom[a]='S'; gotoxy(x,y); printf("S");test++;} if (i==20 && mode==1) {nom[a]='t'; gotoxy(x,y); printf("t");test++;} if (i==20 && mode==2) {nom[a]='T'; gotoxy(x,y); printf("T");test++;} if (i==2 && mode==1) {nom[a]='u'; gotoxy(x,y); printf("u");test++;} if (i==2 && mode==2) {nom[a]='U'; gotoxy(x,y); printf("U");test++;} if (i==3 && mode==1) {nom[a]='v'; gotoxy(x,y); printf("v");test++;} if (i==3 && mode==2) {nom[a]='V'; gotoxy(x,y); printf("V");test++;} if (i==4 && mode==1) {nom[a]='w'; gotoxy(x,y); printf("w");test++;} if (i==4 && mode==2) {nom[a]='W'; gotoxy(x,y); printf("W");test++;} if (i==45 && mode==1) {nom[a]='x'; gotoxy(x,y); printf("x");test++;} if (i==45&& mode==2) {nom[a]='X'; gotoxy(x,y); printf("X");test++;} if (i==21 && mode==1) {nom[a]='y'; gotoxy(x,y); printf("y");test++;} if (i==21 && mode==2) {nom[a]='Y'; gotoxy(x,y); printf("Y");test++;} if (i==11 && mode==1) {nom[a]='z'; gotoxy(x,y); printf("z");test++;} if (i==11 && mode==2) {nom[a]='Z'; gotoxy(x,y); printf("Z");test++;} if (i==11 && mode==0) {nom[a]='0'; gotoxy(x,y); printf("0");test++;} if (i==2 && mode==0) {nom[a]='1'; gotoxy(x,y); printf("1");test++;} if (i==3 && mode==0) {nom[a]='2'; gotoxy(x,y); printf("2");test++;} if (i==4 && mode==0) {nom[a]='3'; gotoxy(x,y); printf("3");test++;} if (i==5 && mode==0) {nom[a]='4'; gotoxy(x,y); printf("4");test++;} if (i==6 && mode==0) {nom[a]='5'; gotoxy(x,y); printf("5");test++;} if (i==7 && mode==0) {nom[a]='6'; gotoxy(x,y); printf("6");test++;} if (i==8 && mode==0) {nom[a]='7'; gotoxy(x,y); printf("7");test++;} if (i==9 && mode==0) {nom[a]='8'; gotoxy(x,y); printf("8");test++;} if (i==10 && mode==0) {nom[a]='9'; gotoxy(x,y); printf("9");test++;} if (i==52 && mode==0) {nom[a]='.'; gotoxy(x,y); printf(".");test++;} if (i==56) {if (mode==2) {mode=0;} else {mode++;}} gotoxy(8,8); printf(" "); if (mode==1) {gotoxy(8,8); printf("a");} if (mode==2) {gotoxy(8,8); printf("A");} if ((i==83 || i==75) && (x-1 || y-2)) {a--; nom[a]=0; gotoxy(x,y); printf(" "); if (x==1) {x=21; y--;} else x--; gotoxy(x,y); printf(" ");} if (test==1 && a!=longueur) { a++; if (x==21) {x=1; y++;} else x++; } if (i) while (getkb()) {} } while (i!=28); nom[a]=0; }
Bija m'a donné ce code pour la saisie. Merci Bija!
J'aimerai le coupler à l'enregistrement des caractères saisi dans un tableau, caractères que je veu rappeller après si j'en ai besoin (il faut donc les mettre dans une zone mémoire qui ne s'efface pas quand on sort du programme).Vous savez comment je peu faire?
Comment on gère les zones mémoires?
Il faut déclarer le tableau avant mais comment faire pour y stoker les valeurs saisies?
Hors ligne