Что за ошибка: 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) выводится сообщение
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д