Hej flashback. Sitter med en funktion (lägg_till_kö) som ska lägga en person i kön. I funktionsbeskrivningen står det bl.a. att man ska först kontrollera att kön inte är full. I detta fallet tänkte jag iterera igenom arrayen genom en for-loop och sedan if(array[i] != null) etc. Men saken är att arrayen som jag ska iterera igenom ligger i en annan fil där den är static, dvs jag har ingen åtkomst till den men jag har använt den till en funktion vars prototyp ligger i en header-fil. Jag kanske ska posta koden men eftersom det är en uppgift är det kanske bättre om jag inte postar hela koden.
Kod:
#define QUEUE_MAX_SIZE 10
static per queue[QUEUE_MAX_SIZE];
static int head = 0, tail = 0, nbr_elem = 0;
struct per
{
char först_namn[7];
char efter_namn[10];
char pers_num[12];
};
struct per pers;
void enQ(per pers){
strcpy(queue[tail].först_namn, p1.först_namn);
strcpy(queue[tail].sur_name, p1.efter_namn);
strcpy(queue[tail].pers_num, p1.pers_num);
}
så långt har jag gjort i filen kö och som ni ser så använder jag arrayen (queue) med storlek 10 i funktionen enQ
i filen kö.h har jag deklarerat funktionsprototypen void enQ(per pers); och
Kod:
typedef struct
{
char först_namn[7];
char efter_namn[10];
char pers_num[12];
}per;
Nu kommer vi till filen main. Här har jag funktionen lägg_till_kö där jag först ska validera om kön inte är full, sen ska jag mata in personuppgifterna som ska lagras i personvariablen som sedan ska lagras in i funktionen enQ
så långt har jag kommit
Kod:
void lägg_till_kö(per pers){
/*Här ska jag kolla om kön är full eller inte*/
int i;
for(i = 0; i</*nu tar det stop för mig, jag tänkte iterera genom hela arrayen men
vet inte hur*/
enQ(pers);
}