Πρόβλημα Στην αποσφαλμάτωση

...IDE, compilers, κλπ

Συντονιστής: konnn

Πρόβλημα Στην αποσφαλμάτωση

Δημοσίευσηαπό mike_ledis » 12 Δεκ 2009, 22:19

Καλησπέρα.¨Εκανα ενα πρόγραμμα για το όποιο εμπεριέχει 2 συναρτήσεις.Η μία συνάρτηση παίρνει ενα αλφαριθμητικό 20 χαρακτήρων και αν το αλφαριθμητικό ειναι one επιστρέφει 1 εάν ειναι two επιστρέφει 2 εάν είναι three επιστρέφει 3 εάν είναι οτιδήποτε άλλο επιστρέφει 0.Και η άλλη δέχεται 4 αριθμούς και επιστρέφει τον μεσο όρο τους.Στην main μου χρησιμοποιώ αυτές τις συναρτήσεις για να πάρω 4 αλφαριθμητικά να τα μετατρέψω σε αριθμούς και να εκτυπώσω τον μεσο όρο τους.Μπόρει να μου πει κάποιος τι συντακτικό λάθος εχω κάνει γιατι δεν καταλαβάινω?

Κώδικας: Επιλογή όλων
#include <stdio.h>
#include <string.h>
int Digit(char number[20]);
double avg (int  xar[4]);
main()
{
char s[20];
int ar[4],i,j;
double mesos;

for (i=0;i<=4;i++){
     printf("  dwse Enan arithmo \n  ");
    scanf("%s",&s);
    j=Digit(s);
    printf("  o arithmos sas einai %d \n",j);

    ar[i]=Digit(s);
}

mesos=avg(ar);

printf("%.2f",&mesos);

}




int Digit(char number[20]){
    char *one="one";
   char *two="two";
   char *three="three";

   if(strcmp(one,number)==0)
   {
      return 1;
   }
   else if(strcmp(two,number)==0)
   {
      return 2;
   }

   else if(strcmp(three,number)==0)
   {
      return 3;
   }
   else
   {
      return 0;
   }


}

double avg (int xar[4])
{
   int m;
   double i;
   m=0;
   
   for(i=0;i<=3;i++)
   {
      m=m+xar[i];
   }

   i=m/5;
   return i;
}
Τελευταία επεξεργασία από pros και 12 Δεκ 2009, 22:48, έχει επεξεργασθεί 2 φορά/ες συνολικά
Αιτία: προσθήκη bbcode
Γνώσεις ⇛ Linux:Χαμηλό ┃ Προγραμματισμός:Ναι ┃ Αγγλικά: Μέτρια
Λειτουργικό σε Η/Υ ϰ μοντέλο: Ubuntu 8.10
Προδιαγραφές ⇛ Επεξεργαστής Pentium(R) D Cpu 3.4 GHZ 3.39 GH │ Μνήμη │ 1GB Ram Κάρτα Γραφικών Ati radeon x1300 │ Κάρτα Ασύρματη │ Κάρτα Buetooth │ Κάρτα Ήχου │ Οθόνη & Ανάλυση
mike_ledis
babeTUX
babeTUX
 
Δημοσιεύσεις: 16
Εγγραφή: 21 Νοέμ 2009, 13:44
Εκτύπωση

Re: Πρόβλημα Στην αποσφαλμάτωση

Δημοσίευσηαπό Dimitris » 13 Δεκ 2009, 13:59

Όταν κάνω compile το σφάλμα που παίρνω είναι:
foo.c: In function 'avg':
foo.c:63: error: array subscript is not an integer
που σημαίνει ότι στη γραμμή 63 ο δείκτης του array δεν είναι ακέραιος. Αν προσέξεις όρισες το i ως double.
Άβαταρ μέλους
Dimitris
saintTUX
saintTUX
 
Δημοσιεύσεις: 1357
Εγγραφή: 13 Μάιος 2008, 13:57
Τοποθεσία: Θεσσαλονίκη
Εκτύπωση


  • ΣΧΕΤΙΚΑ ΘΕΜΑΤΑ
    ΑΠΑΝΤΗΣΕΙΣ
    ΠΡΟΒΟΛΕΣ
    ΣΥΓΓΡΑΦΕΑΣ

Επιστροφή στο Εφαρμογές για Ανάπτυξη Λογισμικού