Программа перестала работать после интеграции меню - C (СИ)

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

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

Добрый вечер, при написании менюшки наткнулся на проблему, функция (кейс 1) как самостоятельная программа отлично запускалась, но при вставке её в меню начала вылетать ошибка:declaration syntax error. Пробовал с ";" после float f (float x,float y,float z), и без ";", но ошибка все так-же вылетает, подскажите пожалуйста в чем ошибка.
#include <stdio.h>
#include <conio.h>
#include <math.h>
void main()
{
char ch;
while (ch!='5')
{
clrscr();
printf ("=====================Menu=======================");
printf ("===========[1] functiya=========================");
printf ("===========[2] 4 prov ==========================");
printf ("===========[3] 6 prov ==========================");
printf ("===========[4] Objem paralelepipeda ============");
printf ("===========[5] Vihod ===========================");
printf ("================================================");
ch=getch();
switch(ch)
{
case 1:
{
float f (float x,float y,float z)
{                //declaration syntax error
 return x+pow(y,4)-z;
}
void main()
{
float a,x,k,p;
clrscr();
a=-0.9;
x=150;
k=3.14;
p=1/sqrt(f(a,x,k))+sin(f(x,a,4*pow(k,2))+pow(f(k,x,a),2));
printf ("p=%f",p);
getch ();
}
case 2:
{
clrscr();
printf ("Vvedit opir 4 prov\n");
float (a1,a2,a3,a4,x1);
scanf(%f,&a1);
scanf(%f,&a2);
scanf(%f,&a3);
scanf(%f,&a4);
x1=a1+a2+a3+a4;
printf ("opir 4 prov = %f",x1);
getch();
break;
}
case 3:
{
clrscr();
printf ("Vvedit opir 6 prov\n");
float (a1,a2,a3,a4,a5,a6,x2);
scanf(%f,&a1);
scanf(%f,&a2);
scanf(%f,&a3);
scanf(%f,&a4);
scanf(%f,&a5);
scanf(%f,&a6);
x2=a1+a2+a3+a4+a5+a6;
printf ("opir 6 prov = %f",x1);
getch();
break;
}
case 4:
{
clrscr();
printf ("Vvedite dannie paralelepipeda\n");
float (v,s,h);
scanf(%f,&s);
scanf(%f,&h);
v=s*h;
printf ("Objem =%f",v);
getch();
break;
}
default printf ("Takogo punkta nety");
}}}}
актуально(

Решение задачи: «Программа перестала работать после интеграции меню»

textual
Листинг программы
#include <stdio.h>
#include <conio.h>
#include <math.h>
//-----функция f --
float f (float x,float y,float z)
{            
 return x+pow(y,4.)-z;
}
// ---- функция main (точка входа в программу) ------
void main()
{
char ch;
while (ch!='5')
{
clrscr();
printf ("=====================Menu=======================");
printf ("===========[1] functiya=========================");
printf ("===========[2] 4 prov ==========================");
printf ("===========[3] 6 prov ==========================");
printf ("===========[4] Objem paralelepipeda ============");
printf ("===========[5] Vihod ===========================");
printf ("================================================");
ch=getch();
switch(ch)
{
case 1:
{
    float a,x,k,p;
    clrscr();
    a=-0.9;
    x=150;
    k=3.14;
    p=1/sqrt(f(a,x,k))+sin(f(x,a,4*pow(k,2))+pow(f(k,x,a),2));
    printf ("p=%f",p);
    getch ();
}
break;
case 2:
{
    clrscr();
    printf ("Vvedit opir 4 prov\n");
    float a1,a2,a3,a4,x1;
    scanf(%f,&a1);
    scanf(%f,&a2);
    scanf(%f,&a3);
    scanf(%f,&a4);
    x1=a1+a2+a3+a4;
    printf ("opir 4 prov = %f",x1);
    getch();
    break;
}
case 3:
{
    clrscr();
    printf ("Vvedit opir 6 prov\n");
    float a1,a2,a3,a4,a5,a6,x2;
    scanf(%f,&a1);
    scanf(%f,&a2);
    scanf(%f,&a3);
    scanf(%f,&a4);
    scanf(%f,&a5);
    scanf(%f,&a6);
    x2=a1+a2+a3+a4+a5+a6;
    printf ("opir 6 prov = %f",x1);
    getch();
    break;
}
case 4:
{
   clrscr();
   printf ("Vvedite dannie paralelepipeda\n");
   float v,s,h;
   scanf(%f,&s);
   scanf(%f,&h);
   v=s*h;
   printf ("Objem =%f",v);
   getch();
   break;
}
default:
   printf ("Takogo punkta nety");
}// конец switch
}// конец while
}// конец main

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

  1. Объявлены функции f и main.
  2. В функции f есть переменные x, y, z.
  3. В функции main есть переменная ch.
  4. В функции main есть цикл while, который выполняется до тех пор, пока ch не станет равным 5.
  5. В начале цикла while выводится меню.
  6. Для выбора определенного пункта меню пользователю предлагается ввести соответствующую цифру.
  7. В зависимости от выбранного пункта меню выполняется соответствующий код.
  8. При выборе пункта 1, пользователю предлагается ввести значения переменных a, x, k, p.
  9. В случае выбора пункта 2, пользователю предлагается ввести значения переменных a1, a2, a3, a4.
  10. В случае выбора пункта 3, пользователю предлагается ввести значения переменных a1, a2, a3, a4, a5, a6.
  11. В случае выбора пункта 4, пользователю предлагается ввести значения переменных s, h.
  12. В конце каждого пункта меню выполняется операция getch(), чтобы программа ждала ввода пользователя.
  13. В случае выбора пункта 5, программа завершается.
  14. В конце программы есть оператор break, который прерывает выполнение программы в случае, если введенная цифра не соответствует ни одному из пунктов меню.
  15. В конце программы есть оператор default, который выводит сообщение об ошибке, если введена неправильная цифра.
  16. Переменная v используется только в случае выбора пункта 4.
  17. Переменная p используется только в случае выбора пункта 1.
  18. Переменная x1 используется только в случае выбора пункта 2 и пункта 3.
  19. Переменная x2 используется только в случае выбора пункта 3.
  20. Переменные a1, a2, a3, a4, a5, a6 используются только в случае выбора пункта 3.

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


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

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

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