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