Как правильно использовать Switch() - C (СИ)
Формулировка задачи:
Добрый вечер, пишу программу с использованием SWITCH()
Суть проги: Напишите программу, которая вычисляет площадь поверхности плоских фигур (квадрат, треугольник, прямоугольник) в
В зависимости от выбранного варианта 1 (квадрат), 2 (площадь), 3 (прямоугольник). С помощью переключателя SWITCH ().
Листинг программы
- #include "stdafx.h"
- #include <iostream>
- #include <math.h>
- #include<stdlib.h>
- using namespace std;
- int main()
- {
- float a,b,area;
- int square, rectangle, triangle;
- int square=1, rectangle=2, triangle=3;
- printf("Programm calculate areas of the figures \n");
- printf("square=1\n");
- printf("rectangle=2\n");
- printf("triangle=3\n");
- printf("Please choose figure: \n");
- scanf ("%d", &square, &rectangle, &triangle);
- switch (square= '1', rectangle= '2' , triangle= '3')
- {
- case '1': area = a * b; break;
- {
- printf("Enter a: \n");
- scanf ("%d", &a);
- printf("Enter b: \n");
- scanf ("%d", &b);
- }
- case '2': area = a * b; break;
- {
- printf("Enter a: \n");
- scanf ("%d", &a);
- printf("Enter b: \n");
- scanf ("%d", &b);
- }
- case '3': area = 0.5*(a*b) ; break;
- {
- printf("Enter a(base): \n");
- scanf ("%d", &a);
- printf("Enter b(hight): \n");
- scanf ("%d", &b);
- }
- }
- }
внимание код не работает, не знаю почему.
вот более менее рабочий
Листинг программы
- #include "stdafx.h"
- #include <stdio.h>
- #include <math.h>
- #include<stdlib.h>
- int main()
- {
- float a,b,area;
- int square, rectangle, triangle;
- int f;
- int c=1, d=2, e=3;
- printf("Programm calculate areas of the figures \n");
- printf("square=1\n");
- printf("rectangle=2\n");
- printf("triangle=3\n");
- printf("Please choose figure: ");
- scanf ("%d", &f);
- switch (f)
- {
- case 1: area = a * b;
- printf("Enter a: \n");
- scanf ("%d", &a);
- printf("Enter b: \n");
- scanf ("%d", &b);
- square = a * b;
- printf("Area = \n", &square);
- break;
- case 2: area = a * b; break;
- printf("Enter a: \n");
- scanf ("%d", &a);
- printf("Enter b: \n");
- scanf ("%d", &b);
- case 'd=3': area = 0.5*(a*b) ; break;
- printf("Enter a(base): \n");
- scanf ("%d", &a);
- printf("Enter b(hight): \n");
- scanf ("%d", &b);
- }
- }
последняя версия рабочая но не выводит правильный ответ
Листинг программы
- #include "stdafx.h"
- #include <stdio.h>
- #include <math.h>
- #include <stdlib.h>
- int main()
- {
- float a,b, area;
- int s, r, t;//square, rectangle, triangle
- int funk;
- int c=1, d=2, e=3;
- printf("Programm calculate areas of the figures \n");
- printf("square=1\n");
- printf("rectangle=2\n");
- printf("triangle=3\n");
- printf("Please choose figure: ");
- scanf ("%d", &funk);
- switch (funk)
- {
- case 1: //square
- printf("Enter a: ");
- scanf ("%f", &a);
- printf("Enter b: ");
- scanf ("%f", &b);
- s=a*b;
- printf("Area=%f", s);
- break;
- case 2: // rectangle
- printf("Enter a: ");
- scanf ("%f", &a);
- printf("Enter b: ");
- scanf ("%f", &b);
- r=a*b;
- printf("Area=%f", r);
- break;
- case 3: //triangle
- printf("Enter a(base): \n");
- scanf ("%f", &a);
- printf("Enter b(hight): \n");
- scanf ("%f", &b);
- t=0.5*(a*b);
- printf("Area=%f", t);
- break;
- }
- }
Решение задачи: «Как правильно использовать Switch()»
textual
Листинг программы
- #include <stdio.h>
- #include <math.h>
- #include <stdlib.h>
- int main()
- {
- float a,b, area;
- float s, r, t;//square, rectangle, triangle
- int funk;
- printf("Programm calculate areas of the figures \n");
- printf("square=1\n");
- printf("rectangle=2\n");
- printf("triangle=3\n");
- printf("Please choose figure: ");
- scanf ("%d", &funk);
- switch (funk)
- {
- case 1: //квадрат s = a**2
- printf("Enter a: ");
- scanf ("%f", &a);
- s=a*a; //квадрат числа
- printf("Area=%f", s);
- break;
- case 2: // прямоугольник
- printf("Enter a: ");
- scanf ("%f", &a);
- printf("Enter b: ");
- scanf ("%f", &b);
- r=a*b;
- printf("Area=%f", r);
- break;
- case 3: //треугольник
- printf("Enter a(base): \n");
- scanf ("%f", &a);
- printf("Enter b(hight): \n");
- scanf ("%f", &b);
- t=0.5*(a*b);
- printf("Area=%f", t);
- break;
- }
- }
Объяснение кода листинга программы
- Объявлены переменные: a, b, area (площадь), s, r, t (для квадрата, прямоугольника и треугольника соответственно), funk (для выбора фигуры).
- Выводится приглашение для выбора фигуры.
- Пользователь выбирает фигуру, вводя число от 1 до 3.
- В зависимости от выбранной фигуры выполняется соответствующий код.
- Если выбрана фигура
квадрат
, программа запрашивает сторону квадрата и вычисляет его площадь как квадрат введенного значения. - Если выбрана фигура
прямоугольник
, программа запрашивает длину и ширину прямоугольника и вычисляет его площадь как произведение этих двух значений. - Если выбрана фигура
треугольник
, программа запрашивает длину основания и высоту треугольника и вычисляет его площадь как половину произведения этих двух значений. - В конце программы выполняется оператор break, который завершает работу программы в текущем блоке switch.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д