Batonikos Δημοσ. 29 Αυγούστου 2012 Δημοσ. 29 Αυγούστου 2012 #include <stdio.h> #include <stdlib.h> struct funds { char names[20]; float poso; }; float athroisma(char,struct funds *a[]); main() { struct funds persons[5]; char ch; int i; float k; printf("\nDose 1 xaraktira\n"); scanf("%c",&ch); for(i=0;i<5;i++) { printf("\nDose onoma kai poso tou %dou atomou\n",i); scanf("%s",persons.names); scanf("%f",persons.poso); } printf("\n\n**********1**ANAFORA**********\n\n"); for (i=0;i<5;i++) printf("%d.\tonoma\t%s\n\tposo\t%f\n",i,persons.names,persons.poso); printf("xarakthras\t%ch\n",ch); printf("\n**********TELOS*ANAFORAS**********\n\n"); k=athroisma(ch,&persons[5]); \\EDO VGAZEI ERROR!!!! printf("\n\n**********2**ANAFORA**********\n\n"); for (i=0;i<5;i++) printf("%d.\tonoma\t%s\n\tposo\t%f\n",i,persons.names,persons.poso); printf("xarakthras\t%ch\n",ch); printf("Athroisma\t%f\n",k); printf("\n**********TELOS*ANAFORAS**********\n\n"); } float athroisma(c,struct funds *abc[5]) { int i; float total=0; for (i=0;i<5;i++) { if (c=(*abc).names[1]) total=total+(*abc).poso; } return total; }
vagsai Δημοσ. 29 Αυγούστου 2012 Δημοσ. 29 Αυγούστου 2012 Το "5" στο k=athroisma(ch,&persons[5]); και athroisma(c,struct funds *abc[5]) είναι λάθος. Με το &persons[5] αναφέρεσαι στην διεύθυνση του 6ου στοιχείου του πίνακα persons (που έχει 5 στοιχεία!).
Batonikos Δημοσ. 29 Αυγούστου 2012 Μέλος Δημοσ. 29 Αυγούστου 2012 Τι θα πρεπει να βαλω στην θεση του?
vagsai Δημοσ. 29 Αυγούστου 2012 Δημοσ. 29 Αυγούστου 2012 float athroisma(c,struct funds *abc) (και στον ορισμό αντίστοιχα) και k=athroisma(ch,&persons); Προσπάθησε όταν ζητάς βοήθεια να βοηθάς αυτούς που θέλουν να σε βοηθήσουν. Το να "αραδιάζεις" κώδικα και να σημειώνεις μέσα με comment ότι "\\EDO VGAZEI ERROR!!!!" δεν βοηθάει. Πες μας από την αρχή τι error σου πετάει και σε πια γραμμή να κοιτάξουμε.
nilosgr Δημοσ. 29 Αυγούστου 2012 Δημοσ. 29 Αυγούστου 2012 > #include <stdio.h> #include <stdlib.h> struct funds { char names[20]; float poso; }; float athroisma(char* c,struct funds *a[]); main() { struct funds persons[5]; char ch; int i; float k; printf("\nDose 1 xaraktira\n"); scanf("%c",&ch); for(i=0;i<5;i++) { printf("\nDose onoma kai poso tou %dou atomou\n",i); scanf("%s",persons[i].names); scanf("%f",persons[i].poso); } printf("\n\n**********1**ANAFORA**********\n\n"); for (i=0;i<5;i++) printf("%d.\tonoma\t%s\n\tposo\t%f\n",i,persons[i].names,persons[i].poso); printf("xarakthras\t%ch\n",ch); printf("\n**********TELOS*ANAFORAS**********\n\n"); k=athroisma(ch,&persons[5]); \\EDO VGAZEI ERROR!!!! printf("\n\n**********2**ANAFORA**********\n\n"); for (i=0;i<5;i++) printf("%d.\tonoma\t%s\n\tposo\t%f\n",i,persons[i].names,persons[i].poso); printf("xarakthras\t%ch\n",ch); printf("Athroisma\t%f\n",k); printf("\n**********TELOS*ANAFORAS**********\n\n"); } float athroisma(char *c,struct funds *abc[5]) { int i; float total=0; for (i=0;i<5;i++) { if (strcmp(c, *abc[i]).names[1]) == 0) total=total+(*abc[i]).poso; } return total; } για συγκριση βαζουμε διπλο = δηλαδη if (x == y) οταν συγκρινουμε string χρησημοποιουμε τη συναρτηση strcmp EDIT: Τωρα τρεχει
Batonikos Δημοσ. 29 Αυγούστου 2012 Μέλος Δημοσ. 29 Αυγούστου 2012 sorry eimai neos se auta opote skeftika oti den xreiazetai. ta egrapsa opos mou ta eipes tora kai tora mou bgazei auta ta errors. 47seira .float athroisma(c,struct funds *abc); [Error] 'float athroisma' redeclared as different kind of symbol [Error] 'c' was not declared in this scope [Error] expected primary-expression before 'struct' 12seira. float athroisma(char,struct funds (*a)[5]); [Error] previous declaration of 'float athroisma(char, funds (*)[5])'
vagsai Δημοσ. 29 Αυγούστου 2012 Δημοσ. 29 Αυγούστου 2012 δεν έχεις κάνει την αλλαγή στον ορισμό της συνάρτησής σου, η γραμμή 12 πρέπει να γίνει float athroisma(char,struct funds *a); αφού έκανες την αντίστοιχη αλλαγή στην 47.
Batonikos Δημοσ. 29 Αυγούστου 2012 Μέλος Δημοσ. 29 Αυγούστου 2012 Το εγραψα οπως το εχεις δημοσιευσει (nilosgr) και στην 37 σειρα μου βγαζει αυτο [Error] cannot convert 'funds*' to 'funds**' for argument '2' to 'float athroisma(char, funds**)'
ChRis6 Δημοσ. 29 Αυγούστου 2012 Δημοσ. 29 Αυγούστου 2012 προσπαθησε να γραφεις ελληνκα και οχι greeklish. κοιτα πως εχεις ορισει τη συναρτηση athroisma πανω απο τη main και προσεχε τι ορισματα της δινεις οταν την καλεις.Αυτο σου λεει και ο compiler. Βλεπω και αλλα λαθακια με μια γρηγορη ματια
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα