Программа перестала работать после интеграции меню - 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
Объяснение кода листинга программы
- Объявлены функции
f
иmain
. - В функции
f
есть переменныеx
,y
,z
. - В функции
main
есть переменнаяch
. - В функции
main
есть цикл while, который выполняется до тех пор, покаch
не станет равным 5. - В начале цикла while выводится меню.
- Для выбора определенного пункта меню пользователю предлагается ввести соответствующую цифру.
- В зависимости от выбранного пункта меню выполняется соответствующий код.
- При выборе пункта 1, пользователю предлагается ввести значения переменных
a
,x
,k
,p
. - В случае выбора пункта 2, пользователю предлагается ввести значения переменных
a1
,a2
,a3
,a4
. - В случае выбора пункта 3, пользователю предлагается ввести значения переменных
a1
,a2
,a3
,a4
,a5
,a6
. - В случае выбора пункта 4, пользователю предлагается ввести значения переменных
s
,h
. - В конце каждого пункта меню выполняется операция
getch()
, чтобы программа ждала ввода пользователя. - В случае выбора пункта 5, программа завершается.
- В конце программы есть оператор
break
, который прерывает выполнение программы в случае, если введенная цифра не соответствует ни одному из пунктов меню. - В конце программы есть оператор
default
, который выводит сообщение об ошибке, если введена неправильная цифра. - Переменная
v
используется только в случае выбора пункта 4. - Переменная
p
используется только в случае выбора пункта 1. - Переменная
x1
используется только в случае выбора пункта 2 и пункта 3. - Переменная
x2
используется только в случае выбора пункта 3. - Переменные
a1
,a2
,a3
,a4
,a5
,a6
используются только в случае выбора пункта 3.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д