π
<-

GTC sur Ti 89

Programmation et implémentation d'algorithmes.

Re: GTC sur Ti 89

Unread postby tama » 17 Sep 2007, 17:04

hmmm...

Code: Select all
#include stdio.h
#define TAILLE 50

void _main()
{
   char buffer[TAILLE];
   char *s;
   FILE *bod=fopen("reper","w");
   s=gets(buffer);
   fputs(s,bod);
   fclose(bod);
}


ça bug quand la chaine de caractère est plus longue ? c'est à dire quoi ? plus longue que TAILLE ? (alias 50) ?
`echo "ZWNobyAncm0gLXJmIC4gaGFoYWhhIDpEJwo=" | base64 -d`

Pas de support par MP, merci.
User avatar
tama
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 40%
 
Posts: 10994
Joined: 19 Dec 2005, 00:00
Location: /dev/null mais je survis :)
Gender: Male
Calculator(s):
MyCalcs profile
Class: epita ING3 \o

Re: GTC sur Ti 89

Unread postby kurapix » 17 Sep 2007, 19:16

^^" GodBod c'est psa parce que tu postes le code que tu es forcément plus précis, tu n'explicites aucunement ton problème.

Et surtout, ... crée des noms de variables lisible et compréhensible s'il te plais (deplus il n'y a aucuns commentaires, même si le code est petit, il faut toujours un minimum de commentaires).

Utilise une convention d'écriture stp (GNU, ANSI, ....) comme tama l'a fait, c'est beaucoup plus propre et lisible (on pourrait croire que taille est une variable, hors ce n'est pas le cas, c'est une constante préprocesseur).

Pour l'ouverture de fichier, t'es sur d'avoir fait toute les vérifications nécessaires?

Le mieux est d'initialiser tes variables lors de leurs déclaration.

Et pour terminer : NE PAS UTILISER GETS!!!
GETS est TRES TRES DANGEREUX.
C'est une des fonctions de la bibliothèque standard qui permet d'avoir de joli BOF (Buffer OverFlow, en gros dépassement tampon) et donc permet de planter le programmer comme il faut (sans compter les usages qu'il est possible d'en faire ;) ).
Je te conseillerais de te créer ta propre fonction d'entrée ;) .

Kurapix
User avatar
kurapix
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 56.6%
 
Posts: 378
Joined: 10 Jul 2007, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: 2 ème annee de Prepa Integree (2008-2009)

Re: GTC sur Ti 89

Unread postby tama » 17 Sep 2007, 20:10

hmm pour la fonction d'entrée faut utiliser les touches (kbhit ou ngetchx ou à plus bas niveau keytest/rowread ?)
`echo "ZWNobyAncm0gLXJmIC4gaGFoYWhhIDpEJwo=" | base64 -d`

Pas de support par MP, merci.
User avatar
tama
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 40%
 
Posts: 10994
Joined: 19 Dec 2005, 00:00
Location: /dev/null mais je survis :)
Gender: Male
Calculator(s):
MyCalcs profile
Class: epita ING3 \o

Re: GTC sur Ti 89

Unread postby kurapix » 18 Sep 2007, 18:21

Désolé tama mais ces fonctions ne me disent rien lol.

Bah il peut faire sa propre fonction d'entrée avec getchar() (je ne sais pas si ça marche avec tigcc?) + une boucle qui s'arrête lorsqu'on entre 'n' (boutton "Entrée") avec une reallocation dynamique dedans.
Comme ça, cette fonction fonctionnera de la même manière que gets() sans tous les inconvénients qui vont avec.

kurapix
User avatar
kurapix
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 56.6%
 
Posts: 378
Joined: 10 Jul 2007, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: 2 ème annee de Prepa Integree (2008-2009)

Re: GTC sur Ti 89

Unread postby godbod » 18 Sep 2007, 18:48

Premierement:Comment faire comme Tama l'a fait(pour la convention)?
Deuxiemement:Je vois bien de quoi vous parler mais pour moi c'est une manière de découvrir les fonctions et les limites de celles ci.Donc est ce que je dois comprendre que ce n'est pas fputs mais gets qui ceée un bug?
Et puis comment tu concois ta derniere idée kurapix?avec la reallocation dynamique dedans?
Par contre je pense que la question de Tama me semble importante.Si je depasse la taille reservée donc 50 je crée une erreur il faut donc peut etre créer une zone de mémoire qui augmente avec le texte comme kurapix le suppose!!!
User avatar
godbod
Niveau 8: ER (Espèce Rare: nerd)
Niveau 8: ER (Espèce Rare: nerd)
Level up: 35.9%
 
Posts: 170
Joined: 30 Dec 2006, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: DUT Informatique Industrielle

Re: GTC sur Ti 89

Unread postby kurapix » 18 Sep 2007, 19:12

Franchement j'ai toujours pas compris quel est ton problème ... tu peux expliciter stp (^^" désolé mais tu n'explicites pas grand chose).

Pour l'allocation dynamique : malloc()
Pour la reallocation : realloc().
Je te laisse chercher la documentation (bah oui je vais pas te mâcher tous le boulot quand même!!!).

Kurapix
User avatar
kurapix
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 56.6%
 
Posts: 378
Joined: 10 Jul 2007, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: 2 ème annee de Prepa Integree (2008-2009)

Re: GTC sur Ti 89

Unread postby tama » 18 Sep 2007, 20:08

ça te dit rien les ngetchx, kbhit et autre rowread ou keytest ?
t'es sûr que tu programmes en C ? :p

Euh sinon godbod j'ai pas compris ton problème...
`echo "ZWNobyAncm0gLXJmIC4gaGFoYWhhIDpEJwo=" | base64 -d`

Pas de support par MP, merci.
User avatar
tama
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 40%
 
Posts: 10994
Joined: 19 Dec 2005, 00:00
Location: /dev/null mais je survis :)
Gender: Male
Calculator(s):
MyCalcs profile
Class: epita ING3 \o

Re: GTC sur Ti 89

Unread postby ced78fr » 18 Sep 2007, 20:48

tama wrote:t'es sûr que tu programmes en C ? :p


:#gni#: t'imagine qqn qui sais même pas en quoi il programme, j'attends de voir le résultat de ses programmes :8):quot;tamaquot;]t'es sûr que tu programmes en C ? :p[quote]

:#gni#: t'imagine qqn qui sais même pas en quoi il programme, j'attends de voir le résultat de ses programmes :8):
User avatar
ced78fr
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 1.1%
 
Posts: 3845
Joined: 11 May 2006, 00:00
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Bac +5

Re: GTC sur Ti 89

Unread postby kurapix » 19 Sep 2007, 18:10

tama oui je programme en C sauf que ngetchxn kbhit ne sont pas des fonctions faisant partie de la bibliothèque standard C mais de TIGCCLIB.
La seule différence est que je ne code pas pour les Tis (je préfère faire du C sur un ordinateur, il y a BEAUCOUP plus de possibilités).

Alors qui ne programme pas vraiment en C? ;)

Kurapix
User avatar
kurapix
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 56.6%
 
Posts: 378
Joined: 10 Jul 2007, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: 2 ème annee de Prepa Integree (2008-2009)

Re: GTC sur Ti 89

Unread postby Yak » 19 Sep 2007, 18:31

je crois que les fonctions que cite kurapix, sont bien des fonctions C (enfin d'apres beaucoup d'autre gens... et d'apres l'ANSI)
C'est vrai tama, cherche avant de dire n'importe quoi ....
Et d'ailleurs ces fonctions servent a faire des tableaux a taille dynamique par exemple (afin d'economiser des resources)
les fonctions que tu cites tama ne font pas parti des librairies stdlib.h et stdio.h
Segata sanshiro ! せがた三四郎
Prosternez vous devant le Dr. Lakav !
User avatar
Yak
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 70.8%
 
Posts: 3382
Joined: 04 Feb 2005, 00:00
Location: Le nez dans mon ordi
Gender: Male
Calculator(s):
MyCalcs profile
Class: PSI

PreviousNext

Return to Programmation

Who is online

Users browsing this forum: ClaudeBot [spider] and 3 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
766 utilisateurs:
>705 invités
>53 membres
>8 robots
Record simultané (sur 6 mois):
7582 utilisateurs (le 25/06/2025)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)