Простейшая программа для начинающих, ввод и вывод комплексных чисел, структуры - C (СИ)

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

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

Нужно ввести и вывести комплексные числа С языком си только начинаю знакомиться Где какие ошибки?
#include <stdio.h>
#include <stdlib.h>
int main()
{
      struct ComplexObj {
        int RealValue;
        int ImaginValue;
        };
      void PrintComplex(struct ComplexObj Zed){
      int pv;
      pv = Zed.RealValue;
      printf("%f",&pv,"%s+i*");
      pv = Zed.ImaginValue;
      printf("%f",&pv,"\n");
    };
    void ScanComplex(struct ComplexObj Zed){
        printf("z=");
        int rv;
        scanf("%f",&rv);
        Zed.RealValue = rv;
        printf("+i*");
        scanf("%f",&rv);
        Zed.ImaginValue=rv;
        printf("\n");
    };
    struct ComplexObj Z;
    ScanComplex(Z);
    PrintComplex(Z);
return 0;
}
Надо именно через структуру, без complex.h
только не %f, а %d

Решение задачи: «Простейшая программа для начинающих, ввод и вывод комплексных чисел, структуры»

textual
Листинг программы
#define _CRT_SECURE_NO_WARNING
#include <stdio.h>
#include <stdlib.h>
//#include <malloc.h>
#include <string.h>
    struct ComplexObj {
        float RealValue;
        float ImaginValue;
        };
     void PrintComplex(struct ComplexObj *Zed){
      float pv;
      pv = Zed->RealValue;
      printf("%f",creal(pv));
      printf("+i*");
      pv = Zed->ImaginValue;
      printf("%f",creal(pv));
    };
    void ScanComplex(struct ComplexObj *Zed){
        printf("z=");
        float rv;
        scanf("%f", &rv);
        Zed->RealValue = rv;
        printf("+i*");
        scanf("%f", &rv);
        Zed->ImaginValue=rv;
        printf("\n");
    };
int main()
{
    struct ComplexObj Z;
    ScanComplex(&Z);
    PrintComplex(&Z);
return 0;
}

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

  1. Объявлена структура ComplexObj с полями RealValue и ImaginValue типа float.
  2. Функция PrintComplex принимает указатель на объект типа ComplexObj и выводит его значение в формате комплексного числа.
  3. Функция ScanComplex принимает указатель на объект типа ComplexObj и запрашивает у пользователя ввод значения комплексного числа.
  4. В функции main создан объект Z типа ComplexObj, затем вызваны функции ScanComplex и PrintComplex для ввода и вывода значения этого объекта.
  5. Ввод значения комплексного числа осуществляется в два этапа: сначала вводится действительная часть, затем мнимая.
  6. Значения полей RealValue и ImaginValue объекта Z инициализируются значениями, введенными пользователем.
  7. Значение объекта Z выводится в формате комплексного числа.
  8. Возвращаемое значение функции main - 0, что означает успешный конец работы программы.

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


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

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

8   голосов , оценка 3.5 из 5
Похожие ответы