找回密码
 注册

QQ登录

快捷登录

新浪微博登陆

搜索
CDD 法语助手
楼主: Noir.shu

这个#include <cini.h>的programme出了什*么问题啊?[解决了]

38
回复
3296
查看
[ 复制链接 ]

新浪微博达人勋

回复  Noir.shu

你为什*么不把你的头文件传上来看看呢?
还有你的输出什*么? ...
paitel 发表于 2010-3-9 22:30



大哥~话说我是菜鸟,不知道什*么是头文件,什*么是输出啊~
我就是在geany里面写了这个东西,然后compiler executer啊~
2010-3-9 22:41:13

使用道具 举报

新浪微博达人勋

回复 14# Noir.shu
晕。。那就是这个论坛设计人员怎么考虑的咯,我也不清楚哈。。

现在改成这样子语法是没什*么错,如果说lz的程序有问题,逻辑很是有问题。有2点不明却:
1.define N 是做什*么用? 直接改变TAILLE不就可以了?
2.if(i==N+1)和else{"depasser du table"}感觉没有什*么关联。

PS:如果这是lz自己写的,最好说下想要去做什*么;如果是道改错题,就另当别论了。。
2010-3-10 07:00:01

使用道具 举报

新浪微博达人勋

本帖最后由 Noir.shu 于 2010-3-10 20:56 编辑
回复  Noir.shu
晕。。那就是这个论坛设计人员怎么考虑的咯,我也不清楚哈。。

现在改成这样子语法是没什 ...
dellgcy 发表于 2010-3-10 07:00



这个programme是为了知道一个tableau里任何一个case的内容,而N就是这个case的序数
我知道这个程序的问题是,当N等于0,程序是错误的,但我试了N等于1 4 7等等,结果都有问题,所以才疑惑的
看来老师真说对了,写个程序,即使很简单,也要写commentaire,要不然别人看不懂,害得你们糊里糊涂的~呵呵
我明天就上这个课的TD了,我问老师吧
2010-3-10 20:51:09

使用道具 举报

新浪微博达人勋

while ((i <= N)&(i < TAILLE))
定义了N 为1,i为1时,程序运行一次就跳出了,i<taille就没有意义了吧。。。。
LZ最好简述一下程序
2010-3-10 22:08:41

使用道具 举报

新浪微博达人勋

while ((i
yuwangzhifan 发表于 2010-3-10 22:08



(i < TAILLE)是为了以防别人在换N的数字时换到比TAILLE大的数字
2010-3-10 22:56:34

使用道具 举报

新浪微博达人勋

唉~~~实在看不下去了,你这么写程序的问题是:数组tab[N+1]位置没有赋值,因为while到i==N+1的时候就已经跳出了,所以PI/(N+1)这个数并没有赋值到数组,所以你要打印tab[i]就只能把那块内存原有的数据打印出来,在你看起来应该就是乱码,而不是PI/(N+1).

下次到论坛问代码类的问题,不管是哪个论坛,最好都先把你要的功能说一下,正确结果大概是什*么,然后告诉大家你得到的错误结果是什*么,这样便于其他人帮你分析问题,也给别人节省时间.
2010-3-11 01:33:12

使用道具 举报

新浪微博达人勋

唉~~~实在看不下去了,你这么写程序的问题是:数组tab[N+1]位置没有赋值,因为while到i==N+1的时候就已经跳出 ...
iamwill 发表于 2010-3-11 01:33



我也觉得自己越说越语无伦次了,下次一定注意~多谢提醒~
2010-3-11 21:12:04

使用道具 举报

新浪微博达人勋

本帖最后由 Noir.shu 于 2010-3-12 19:48 编辑

我改好了,加了commentaire,结果也是我想要的了~还是多亏ls的提醒
/*Le programme ci-dessous nous permet de
*récupérer l'élément quelconque du tableau.
*Il va afficher un élément du tableau
*dont l'indice dépend de N(son indice = N-1).
*Donc,pour récupérer différents éléments du tableau,
*il suffit de varier la valeur de N.
*Par contre,nous avons quand même le risque de dépasser le tableau,
*donc il y a une surveillance dans le programme,
*c'est la partie "if - else"*/

#include <cini.h>
#define TAILLE 10
#define N 4
int main() {
  float tab[TAILLE];
  int i = 1;
  tab[0] = 0;
  while ((i <= N)&&(i < TAILLE)) {
    tab [ i ]  = 3.14159/i;
    i++;
  }
  if (i == N+1) {
    CINI_print_string("tab[");
    CINI_print_int(N);
    CINI_print_string("] = ");
    CINI_print_float(tab[i-1]);
  } else {
    CINI_print_string("vous avez depasse du tableau");
  }
  CINI_newline();
  return EXIT_SUCCESS;
}
2010-3-11 21:40:26

使用道具 举报

新浪微博达人勋

回复 23# Noir.shu


    Tout d'abord,il va créer un tableau de float
*dont tab[0]=0,tab[1] = 3.14159/1 ... tab[9] = 3.14159/9,

根据你所写的,首先第一个boucle(循环)就不对,因为你设定了N为4,你想循环的是0--9,从tab[0]到tab[9]这时,当i到4的时候,程序自动跳出,无法完成剩余的赋值操作
2010-3-12 12:57:46

使用道具 举报

新浪微博达人勋

闹不明白,程序写成这样,居然结贴了??
2010-3-12 12:58:43

使用道具 举报

新浪微博达人勋

不知道你用的什*么编译器,连tab=3.1415/i;这种严重的pointer arithmetic错误都没检查出来。
应该写成tab[i]=3.1415/i;
另外我不是很明白你的程序想要干啥,根据你写的comment应该是先给tab付好值,然后通过N来显示这个tab里面的某一个元素。如果是这样的话这是个很笨的方法。你把N定义成一个constant(#define N),这个N的值就没法在运行时改变了,想取得tab里面的某个值直接从键盘输入一个int,检查一下这个int在不在你的TAILLE之内,然后显示tab[这个int]就行了。
2010-3-12 15:36:00

使用道具 举报

新浪微博达人勋

本帖最后由 princehahaha 于 2010-3-12 16:03 编辑

不知道你那个cini.h是干啥用的,不过从你写的程序上看没啥用。这是一个用stdio.h写的程序,应该能实现你想实现的功能

#include <stdio.h>
#define TAILLE 10
int main() {
        float tab[TAILLE];
        int i = 0;
        while (++i < TAILLE) {
                tab [ i ]  = 3.14159/i;
        }
        int j;
        printf("Plase enter an index between 0 and %d:\n",TAILLE-1);
        scanf("%d",&j);
        printf("tab[%d]=%f\n",j,tab[j]);
        
        return 0;
}
2010-3-12 15:37:15

使用道具 举报

新浪微博达人勋

忘了加判断j是不是在0和TAILLE-1之间的东西了
哪个好心人补上
2010-3-12 15:51:34

使用道具 举报

新浪微博达人勋

回复 28# princehahaha


    人家都结贴了。。。。


      我感觉直接一个for循环,将tab从0到9赋值,然后最后用tab[N]来显示这个数组中对应case的的内容就OK了
2010-3-12 19:41:11

使用道具 举报

新浪微博达人勋

不知道你那个cini.h是干啥用的,不过从你写的程序上看没啥用。这是一个用stdio.h写的程序,应该能实现你想 ...
princehahaha 发表于 2010-3-12 15:37



这是你这个程序的结果,和我之前那个一样
stdio.jpg
那个 [] 和 i 我是写了的,放到站法上显示不出来了,至于cini.h,是我们课上教的,我们现在学的所有的程序都是用这个写的,别的东西也没学过,stdio我们还没学到,所以这个肯定没问题,而且结果也是我要的了,对了,commemtaire写多了,我改了
2010-3-12 19:45:41

使用道具 举报

您需要登录后才可以回帖 登录 | 注册 新浪微博登陆

本版积分规则

返回顶部