Что за ошибка: Jump to case label? - C (СИ)
Формулировка задачи:
jump to case label
что за ошибка?
Решение задачи: «Что за ошибка: Jump to case label?»
textual
Листинг программы
#include <cstdlib> #include <iostream> #include <stdio.h> int vvod(int **l); int sum(int *m, int n); int asum(int *m, int n); using namespace std; int main() { int boq; do{ system("cls"); printf("\t\t\t********MENU*********\n\n"); printf("1. Mech\n"); printf("2. oqing \n"); printf("3. bilmiman torisi \n"); printf("4. amizi ying \n"); printf("\n\n\nzdelayte vash vibor:\t"); int mech; scanf("%d", &mech); switch (mech){ case 1: { for (int i = 0; i < 10; i++) { printf("\t\t\tumniy mol\n"); } break; } case 2: { int *x, *y, *z; printf("zapolnite massiv X \n"); int Nx = vvod(&x); int sumx = sum(x, Nx); int asumx = asum(x, Nx); printf("zapolnite massiv Y \n"); int Ny = vvod(&y); int sumy = sum(y, Ny); int asumy = asum(y, Ny); printf("zapolnite massiv Z \n"); int Nz = vvod(&z); int sumz = sum(z, Nz); int asumz = asum(z, Nz); printf("\t\tsumma polojitelnix chisel\n"); printf("SumX = %d\nSumY = %d\nSumZ = %d\n\n", sumx, sumy, sumz); printf("\t\tsumma otricatelnix chisel\n"); printf("aSumX = %d\naSumY = %d\naSumZ = %d\n", asumx, asumy, asumz); break; } case 3: { printf("qanday\n"); break; } default: printf("net takoy operacii\n"); break; } printf("xotite eshe raz najmite 1:\n"); scanf("%d", &boq); } while (boq == 1); system("PAUSE"); puts("konets"); return 0; } //////////////////////////////////////////////////// int vvod(int **l) { int n; printf("\t\t ukajite razmer massiva: "); scanf("%d", &n); int *m = new int[n]; for (int i = 0; i < n; i++) { printf("element%d: ", i + 1); scanf("%d", &(m[i])); } *l = m; return n; } int sum(int *m, int n) { int sum = 0; for (int i = 0; i < n; i++) if (m[i] > 0) sum += m[i]; return sum; } int asum(int *m, int n) { int sum = 0; for (int i = 0; i < n; i++) if (m[i] < 0) sum += m[i]; return sum; }
Объяснение кода листинга программы
- Переменная
boq
объявлена в функции main() и используется в цикле do-while для контроля выхода из программы. - Функция vvod() используется для ввода размера массива и самого массива. Она возвращает размер массива и сохраняет указатель на массив в переменной типа указатель на указатель int.
- Функция sum() используется для вычисления суммы положительных чисел в массиве.
- Функция asum() используется для вычисления суммы отрицательных чисел в массиве.
- В функции main() есть три случая в конструкции switch:
- При выборе первого случая (1) выводится сообщение
umniy mol
10 раз. - При выборе второго случая (2) выполняются следующие действия:
- Ввод размера массива X, Y и Z с помощью функции vvod().
- Вычисление суммы и суммы отрицательных чисел для каждого массива.
- Вывод результатов на экран.
- При выборе третьего случая (3) выводится сообщение
qanday
. - При выборе четвертого случая (4) выводится сообщение
net takoy operacii
. - При выборе пятого случая (5) выводится сообщение
konets
.
- При выборе первого случая (1) выводится сообщение
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д