Что за ошибка: 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;
}

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

  1. Переменная boq объявлена в функции main() и используется в цикле do-while для контроля выхода из программы.
  2. Функция vvod() используется для ввода размера массива и самого массива. Она возвращает размер массива и сохраняет указатель на массив в переменной типа указатель на указатель int.
  3. Функция sum() используется для вычисления суммы положительных чисел в массиве.
  4. Функция asum() используется для вычисления суммы отрицательных чисел в массиве.
  5. В функции main() есть три случая в конструкции switch:
    • При выборе первого случая (1) выводится сообщение umniy mol 10 раз.
    • При выборе второго случая (2) выполняются следующие действия:
      • Ввод размера массива X, Y и Z с помощью функции vvod().
      • Вычисление суммы и суммы отрицательных чисел для каждого массива.
      • Вывод результатов на экран.
    • При выборе третьего случая (3) выводится сообщение qanday.
    • При выборе четвертого случая (4) выводится сообщение net takoy operacii.
    • При выборе пятого случая (5) выводится сообщение konets.

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


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

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

9   голосов , оценка 3.556 из 5