Προς το περιεχόμενο

C : Struct & strcpm


takispap

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλημέρα έχω το εξής πρόβλημα , θέλω να δημιουργήσω ένα πρόγραμμα μισθοδοσίας (για εκπαιδευτικούς λόγους). Όπου δημιουργώ ένα 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;
	}

}

Δημοσ.

int compare_name(char name){

 

Χμμμ, μήπως δε χρησιμοποιείτε ελληνικούς χαρακτήρες στο μήνυμα σας ; Υπενθυμίζουμε ότι απαγορεύεται η χρήση greeklish (μωρ'τι μας λές!)

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...