Witam. Mam problem z listą jednokierunkową i wartością typu char w strukturze. Myślę że problematyczna jest funkcja poloz. Bez wartosci typu char wszystko dziala jak nalezy.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
typedef struct pacjent
{
int id;
char nazwisko[10];
struct pacjent *next;
}pacjent;
pacjent *poloz(int nowe_id, char nowe_nazwisko, pacjent *szczyt)
{
pacjent *nowy_szczyt = (pacjent*)malloc(sizeof(pacjent*));
nowy_szczyt->id = nowe_id;
//nowy_szczyt->nazwisko = nowe_nazwisko;
strcpy(nowy_szczyt->nazwisko,nowe_nazwisko);
nowy_szczyt->next = szczyt;
return nowy_szczyt;
}
void wypisz(pacjent *szczyt)
{
if (szczyt==NULL) { printf("Stos jest pusty!\n"); }
else
{
while (szczyt!=NULL)
{
printf("%d %s\n",szczyt->id,szczyt->nazwisko);
szczyt = szczyt->next;
}
}
}
int main()
{
pacjent *szczyt = NULL;
char nazwisko1[10] = "Kowalski";
char nazwisko2[10] = "Bandura";
char nazwisko3[10] = "Domagala";
szczyt = poloz(1,nazwisko1,szczyt);
szczyt = poloz(2,nazwisko2,szczyt);
szczyt = poloz(3,nazwisko3,szczyt);
wypisz(szczyt);
return 0;
}
||=== Build file: "no target" in "no project" (compiler: unknown) ===|
C:\Users\halo\Desktop\Programowanie C\Zad2_stos.c||In function 'poloz':|
C:\Users\halo\Desktop\Programowanie C\Zad2_stos.c|19|warning: passing argument 2 of 'strcpy' makes pointer from integer without a cast [-Wint-conversion]|
C:\Program Files (x86)\CodeBlocks\MinGW\include\string.h|45|note: expected 'const char *' but argument is of type 'char'|
C:\Users\halo\Desktop\Programowanie C\Zad2_stos.c||In function 'main':|
C:\Users\halo\Desktop\Programowanie C\Zad2_stos.c|45|warning: passing argument 2 of 'poloz' makes integer from pointer without a cast [-Wint-conversion]|
C:\Users\halo\Desktop\Programowanie C\Zad2_stos.c|14|note: expected 'char' but argument is of type 'char *'|
C:\Users\halo\Desktop\Programowanie C\Zad2_stos.c|46|warning: passing argument 2 of 'poloz' makes integer from pointer without a cast [-Wint-conversion]|
C:\Users\halo\Desktop\Programowanie C\Zad2_stos.c|14|note: expected 'char' but argument is of type 'char *'|
C:\Users\halo\Desktop\Programowanie C\Zad2_stos.c|47|warning: passing argument 2 of 'poloz' makes integer from pointer without a cast [-Wint-conversion]|
C:\Users\halo\Desktop\Programowanie C\Zad2_stos.c|14|note: expected 'char' but argument is of type 'char *'|
||=== Build finished: 0 error(s), 4 warning(s) (0 minute(s), 0 second(s)) ===|