Δημοσιεύτηκε: 01 Αύγ 2011, 14:25
από stamatiou
Star_Light έγραψε:
migf1 έγραψε:
Star_Light έγραψε:πανω - κατω την εχω τελειωσει... απλα δεν μου βγαινει συντακτικα ο κωδικας με τα else-if μεσα στην συνάρτηση :/

+ το warning

Κώδικας: Επιλογή όλων
guessing_game.c:56: warning: format ‘%c’ expects type ‘int’, but argument 2 has type ‘char *’

Πρέπει να δω τον κώδικα για να σου πω. Βασικά σου λέει πως του χεις πει να τυπώσει char αλλά του περνάς char * (δηλαδή string).

έγραψε:εγω παντως εχω βαλει πως ο αριθμος των προσπαθειων του χρηστη ειναι ουσιαστικα ο αριθμος των κλησεων της συνάρτησης.....
σωστα????

Όχι, αν η μαντεψιά είναι εκτός ορίων, τότε δεν μετριέται ως έγκυρη προσπάθεια.


τον ανεβαζω... αν και εχει πολλα λογικα λαθη.... θα τον ξαναπροσπαθησω αυτη τη φορα δεν πηγαμε και τοσο καλα , εχω κανει πολλες μπουρδες πιστευω.
Spoiler: show
Κώδικας: Επιλογή όλων
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int hint_position(int guess,int hidden, int lim);

int main()
{
int r;
int lim , guess , hidden;

srand(time(NULL)); // klhsh tis srand

printf("Dwse to orio (to euros ksekina apo 1 ews to orio): \n");
scanf("%d",&lim);

hidden=rand()%lim+1;

printf("%d",hidden);

do {
printf ("Dwse ton arithmo : ");
scanf("%d",&guess);
r=hint_position(guess,hidden,lim);
printf("%d",r);
} while (hidden!=guess);


return 0;
}
int hint_position(int guess, int hidden , int lim)
{
char *hints[3] = {
"\tπιο ψηλά\n", // θέση 0
"\tπιο χαμηλά\n", // θέση 1
"\tΣυγχαρητήρια, το βρήκατε\n" // θέση 2
};

if( (guess<1) || (guess > lim) )
{
printf("Eiste ektos oriwn \n");
return -1;
}

else if (guess<hidden)
{
printf("%c",hints[1]);
return 0;
}

else if (guess>hidden)
{
printf("%c",hints[2]);
return 1;
}


else if(guess==hidden)
{
printf("%c",hints[3]);
return 2;
}

}

Έτσι πρόχειρα που τον είδα είχε 2-3 συντακτικά, εδώ είναι διορθωμένος ως προς τη σύνταξη ;)
Κώδικας: Επιλογή όλων
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int hint_position(int guess,int hidden, int lim);

int main()
{
int r;
int lim , guess , hidden;

srand(time(NULL)); // klhsh tis srand

printf("Dwse to orio (to euros ksekina apo 1 ews to orio): \n");
scanf("%d",&lim);

hidden=rand()%lim+1;

printf("%d",hidden);

do {
printf ("Dwse ton arithmo : ");
scanf("%d",&guess);
r=hint_position(guess,hidden,lim);
printf("%d",r);
} while (hidden!=guess);


return 0;
}
int hint_position(int guess, int hidden , int lim)
{
char *hints[3] = {
"\tπιο ψηλά\n", // θέση 0
"\tπιο χαμηλά\n", // θέση 1
"\tΣυγχαρητήρια, το βρήκατε\n" // θέση 2
};

if( (guess<1) || (guess > lim) )
{
printf("Eiste ektos oriwn \n");
return -1;
}

else if (guess<hidden)
{
printf("%s",hints[1]);
return 0;
}

else if (guess>hidden)
{
printf("%s",hints[2]);
return 1;
}


else if(guess==hidden)
{
printf("%s",hints[3]);
return 2;
}
return 0;
}