Список с дробями: Variable or field 'input' declared void 'pd' was not declared in this scope - C (СИ)
Формулировка задачи:
почему не нравится 1ая функция?
#include <stdio.h> #include <stdlib.h> struct rational_fraction { int numerator; int denumerator; }fraction; void input(fraction *pd) { int N; printf("Введите числитель: " ); scanf("%d" pd->numerator); printf("Введите знаменатель:"); scanf("%d",&N); if(N==0) { printf("На ноль делить нельзя"); exit(0); } pd->denumerator = N; } void out(fraction dr) { printf("Дробь равна: %d/%d", dr.numerator,dr.denumerator); } fraction add(fraction dr1,fraction dr2) { fraction dr; dr.numerator= dr1.numerator * dr2.denumerator + dr2.numerator*dr1.denumerator; dr.denumerator=dr1.denumerator*dr2.denumerator; return dr; } void sub(fraction dr1, fraction dr2, fraction *pdr) { pdr->numerator = dr1.numerator * dr2.denumerator - dr2.numerator*dr1.denumerator; pdr->denumerator = dr1.denumerator*dr2.denumerator; } void *mult(fraction dr1, fraction dr2) { fraction mul; mul=(fraction*)calloc(1,sizeof(fraction); mul->numerator = dr1.numerator*dr2.numerator; mul->denumerator =dr1.denumerator*dr2.denumerator; return mul; } void divide (fraction *pd1, fraction *pd2) { fraction d; d.numerator = pr1->numerator * pr2->denumerator; d.denumerator = pr1->denumerator * pr2->numerator; return d; }
Решение задачи: «Список с дробями: Variable or field 'input' declared void 'pd' was not declared in this scope»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> typedef struct rational_fraction { int numerator; int denumerator; }fraction; void input(fraction *pd) { int N; printf("Введите числитель: " ); scanf("%d", &pd->numerator); printf("Введите знаменатель:"); scanf("%d",&N); if(N==0) { printf("На ноль делить нельзя"); exit(0); } pd->denumerator = N; } void out(fraction dr) { printf("Дробь равна: %d/%d", dr.numerator,dr.denumerator); } fraction add(fraction dr1,fraction dr2) { fraction dr; dr.numerator= dr1.numerator * dr2.denumerator + dr2.numerator*dr1.denumerator; dr.denumerator=dr1.denumerator*dr2.denumerator; return dr; } void sub(fraction dr1, fraction dr2, fraction *pdr) { pdr->numerator = dr1.numerator * dr2.denumerator - dr2.numerator*dr1.denumerator; pdr->denumerator = dr1.denumerator*dr2.denumerator; } fraction *mult(fraction dr1, fraction dr2) { fraction *mul; mul= (fraction*) malloc(sizeof(fraction)); mul->numerator = dr1.numerator*dr2.numerator; mul->denumerator =dr1.denumerator*dr2.denumerator; return mul; } fraction divide (fraction *pr1, fraction *pr2) { fraction d; d.numerator = pr1->numerator * pr2->denumerator; d.denumerator = pr1->denumerator * pr2->numerator; return d; } int main() { fraction a,b,c; fraction *p; input(&a); input(&b); c = add(a, b); out(c); p = mult(a,b); out(*p); free(p); c=divide(&a, &b); out(c); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д