Assignment from incompatible pointer type - C (СИ) (74727)

Узнай цену своей работы

Формулировка задачи:

assignment from incompatible pointer type
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include<string.h>
  4. typedef struct{
  5. char *fname;
  6. char *sname;
  7. char *ukrlit;
  8. char *ukrlan;
  9. char *math;
  10. char *englan;
  11. struct school *next;
  12. }school;
  13.  
  14. school *create(char *fname,char *sname,char *ukrlit,char *ukrlan,char *math,char *englan)
  15. {
  16. school *i=malloc(sizeof(school));
  17. i->fname=strdup(fname);
  18. i->sname=strdup(sname);
  19. i->ukrlit=strdup(ukrlit);
  20. i->ukrlan=strdup(ukrlan);
  21. i->math=strdup(math);
  22. i->englan=strdup(englan);
  23. i->next=NULL;
  24. return i;
  25. }
  26. int main()
  27. {
  28. char fname[80];
  29. char sname[80];
  30. char ukrlit[30];
  31. char ukrlan[30];
  32. char math[30];
  33. char englan[30];
  34. school *a=NULL;
  35. school *b=NULL;
  36. for(;fgets(fname,80,stdin)!=NULL;){
  37. printf("Введіть прізвище\n");
  38. fgets(sname,80,stdin);
  39. printf("Введіть оцінку з української літератури\n");
  40. fgets(ukrlit,30,stdin);
  41. printf("Введіть оцінку з української мови\n");
  42. fgets(ukrlan,30,stdin);
  43. printf("Введіть оцінку з математики\n");
  44. fgets(math,30,stdin);
  45. printf("Введіть оцінку з англійської мови\n");
  46. fgets(englan,30,stdin);
  47. a=create(fname,sname,ukrlit,ukrlan,math,englan);
  48. if(b==NULL)
  49. b=a;
  50. else
  51. b->next=a;
  52. b=a;
  53. }
  54. }

Решение задачи: «Assignment from incompatible pointer type»

textual
Листинг программы
  1. typedef struct school {
  2. char *fname;
  3. char *sname;
  4. char *ukrlit;
  5. char *ukrlan;
  6. char *math;
  7. char *englan;
  8. struct school *next;
  9. }

Объяснение кода листинга программы

  1. Создается структура данных school с полями:
    • fname (тип char*)
    • sname (тип char*)
    • ukrlit (тип char*)
    • ukrlan (тип char*)
    • math (тип char*)
    • englan (тип char*)
    • next (тип struct school*)
  2. В структуре school используется указатель next для хранения ссылки на следующий элемент в списке.
  3. В данном коде не приводится пример использования данной структуры, поэтому нельзя точно сказать, что делает программа.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут