takispap Δημοσ. 27 Φεβρουαρίου 2010 Δημοσ. 27 Φεβρουαρίου 2010 Καλημέρα έχω το εξής πρόβλημα , θέλω να δημιουργήσω ένα πρόγραμμα μισθοδοσίας (για εκπαιδευτικούς λόγους). Όπου δημιουργώ ένα struct και περνώ τα αντίστοιχα πεδία. Θέλω επίσης όταν καταχωρώ ένα όνομα να ελέγχει με strcmp εάν ήδη έχω ξανά καταχωρήσει αυτό το όνομα. Έχω κάνει την παρακάτω προσπάθεια και μου κρεμάει η εφαρμογή , ενω στο compile μου βγάζει και την παρακάτω προειδοποίηση warning: passing arg 1 of `compare_name' makes integer from pointer without a cast >#include <stdio.h> #include <stdlib.h> #define MAX 2 struct employee{ char name[40]; float dailywage; int datework; float wage; }emp[MAX]; int compare_name(char name); int main(void) { int i ,c; char temp[5]; for (i=0; i<MAX; i++){ do{ printf("Enter employee name (Enter to quit): "); gets(emp[i].name); if(!*emp[i].name) break; c = compare_name(emp[i].name); }while(c=0); printf("Enter daily wage: "); gets(temp); emp[i].dailywage =(float) atof(temp); printf("Enter date of works: "); gets(temp); emp[i].datework = atoi(temp); } for (i=0; i<MAX; i++){ printf("%s %4.2f %d\n",emp[i].name,emp[i].dailywage,emp[i].datework); } system("PAUSE"); return 0; } int compare_name(char name){ int i; for (i=0; i<MAX; i++){ if (strcmp(emp[i].name, name)) { printf ("This employee is exist"); return 1; } return 0; } }
bxenos Δημοσ. 27 Φεβρουαρίου 2010 Δημοσ. 27 Φεβρουαρίου 2010 int compare_name(char name){ Χμμμ, μήπως δε χρησιμοποιείτε ελληνικούς χαρακτήρες στο μήνυμα σας ; Υπενθυμίζουμε ότι απαγορεύεται η χρήση greeklish (μωρ'τι μας λές!)
npapak Δημοσ. 27 Φεβρουαρίου 2010 Δημοσ. 27 Φεβρουαρίου 2010 Για δοκίμασε > int compare_name(char *name);
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.