Menu creation in C program

Asked

Viewed 103 times

0

Good afternoon, I’m doing a college job q has 7 questions... It’s almost ready, just need to fix some of them... I would like to put all the exercises in one program, putting a menu of them dividing the tasks...

Follow the code

#include <math.h>
#define PI 3.14159265


/* 1. Faça um programa utilizando o arduino que
leia um lado e calcule a área do quadrado */
void ex1() {
int a,area;
Serial.begin(9600); //Enviar e receber dados em 9600 bits/seg
Serial.println("programa para calcular a area de um quadrado");
Serial.print("Digite o valor da lado de um quadrado para saber sua area:");
while (Serial.available() == 0);
a = Serial.parseInt();
Serial.println(a);
area = a * a;
Serial.print("A area do quadrado é: ", area);
Serial.println("Fim do programa!!");
}
{ }

/* 2. Leia a base e a altura, calcule e imprima a área do triângulo*/
void ex2() {
int b, h, area;
Serial.begin(9600); //Enviar e receber dados em 9600 bits/seg
Serial.println("programa para calcular a area de um triangulo e imprimir a resposta");
Serial.print("Digite o valor da base: ");
while (Serial.available() == 0);
b = Serial.parseInt();
Serial.println(b);
Serial.print("Digite o valor da altura: ");
while (Serial.available() == 0);
h = Serial.parseInt();
Serial.println(h);
area=(b*h)/2;
Serial.print("A area do triangulo e: ");
Serial.print(area);
Serial.println(" Fim do programa!!");
}
{ }


/* 3. Avalie a expressão y = 4x+5 para x fornecido pelo usuário*/
void ex3() {
int x, calculo;
Serial.begin(9600); //Enviar e receber dados em 9600 bits/seg
Serial.println("Programa para avaliar a expressao y = 4x+5 e imprimir a resposta");
Serial.print("Digite o valor de x: ");
while (Serial.available() == 0);
x = Serial.parseInt();
Serial.println(x);
calculo= (4*x)+5;
Serial.print("O resultado da expressao e y= ");
Serial.print(calculo);
Serial.println(" Fim do programa!!");
}
void loop()
{ }

/* 4. Leia três números e imprima a soma */
void ex4() {
int x, y, z, soma;
Serial.begin(9600); //Enviar e receber dados em 9600 bits/seg
Serial.println("Programa para ler 3 numeros e imprimir a soma deles");
Serial.print("Digite o valor do primeiro numero: ");
while (Serial.available() == 0);
x = Serial.parseInt();
Serial.println(x);
Serial.print("Digite o valor do segundo numero: ");
while (Serial.available() == 0);
y = Serial.parseInt();
Serial.println(y);
Serial.print("Digite o valor do terceiro numero: ");
while (Serial.available() == 0);
z = Serial.parseInt();
Serial.println(z);
soma= x+y+z;
Serial.print("O resultado da soma dos 3 numeros e = ");
Serial.print(soma);
Serial.println(" Fim do programa!!");
}
{ }


/* 5. Leia três números e imprima a média */
void ex5() {
int x, y, z, media;
Serial.begin(9600); //Enviar e receber dados em 9600 bits/seg
Serial.println("Programa para ler 3 numeros calcular a media e imprimir a resposta");
Serial.print("Digite o valor do primeiro numero: ");
while (Serial.available() == 0);
x = Serial.parseInt();
Serial.println(x);
Serial.print("Digite o valor do segundo numero: ");
while (Serial.available() == 0);
y = Serial.parseInt();
Serial.println(y);
Serial.print("Digite o valor do terceiro numero: ");
while (Serial.available() == 0);
z = Serial.parseInt();
Serial.println(z);
media= (x+y+z)/3;
Serial.print("O resultado da media dos 3 numeros e = ");
Serial.print(media);
Serial.println(" Fim do programa!!");
}
{ }

/* 6. Ler um valor inteiro e imprimir:
a. o seu sucessor;
b. o seu quadrado; (Veja o comando sq em arduino.cc)
c. o seu cubo; (Veja o comando pow em arduino.cc)
d. a sua raiz quadrada; (Veja o comando sqrt em arduino.cc)
e. confira a raiz quadrada encontrada imprimindo o seu quadrado;
f. Imprima o resto deste número por 2 (operador %).*/
void ex6() {
int x, y;
Serial.begin(9600); //Enviar e receber dados em 9600 bits/seg
Serial.println("Programa para ler um numero inteiro e imprimir as respostas**");

Serial.print("Digite um valor: ");
  while (Serial.available() == 0);
  x = Serial.parseInt();
  Serial.println(x);
  y = x + 1;
  Serial.print("y) Seu sucessor: ");
  Serial.println(y);
  y = sq(x);
  Serial.print("y) Seu quadrado: ");
  Serial.println(y);
  y = pow(x, 3);
  Serial.print("c) Seu cubo: ");
  Serial.println(y);
  y = sqrt(x);
  Serial.print("d) Sua raiz quadrada: ");
  Serial.println(y);
  y = sq(sqrt(x));
  Serial.print("e) Conferindo a raiz quadrada: ");
  Serial.println(y);
  y = x%2;
  Serial.print("f) Resto da divisao por 2: ");
  Serial.println(y);
}
{ }


/* 7. Você pode trabalhar com seno, cosseno e tangente, utilizando as funções sin(x),cos(x), tan(x), onde x
esta em radianos. Escreva um programa que peça ao usuário um valor em graus e imprima o seno,
cosseno e tangente correspondente.*/
void ex7() {
float angulo, sen, coss, tg;
Serial.begin(9600); //Enviar e receber dados em 9600 bits/seg
Serial.println("Programa para ler um valor em graus e imprimir o sex, cosseno e tangente deste.");

Serial.print("Digite um valor em graus: ");
  while (Serial.available() == 0);
  angulo = Serial.parseInt();
  Serial.println(angulo);
  sen = sin(angulo*PI/180);
  coss = cos(angulo*PI/180);
  tg = tan(angulo*PI/180);
  printf("\nO seno de %f = %f\n", angulo, sen);
  printf("\nO cosseno de %f = %f\n", angulo, coss);
  printf("\nO tangente de %f = %f\n", angulo, tg);
}
{ }

1 answer

0

Can ultilizar one do while and switch to call each program you created

// Coloque o seu código aqui

// Menu 
int main(){
    int continuar=1;
    do{
        printf("\n\tMenu\n\n");
        printf("1. Ex1\n");
        printf("2. Ex2\n");
        printf("3. Ex3\n");
        printf("0. Ex4\n");
        //Assim vai

        scanf("%d", &continuar);
        system("cls || clear");

        switch(continuar){
            case 1:
            ex1;
            break;

        case 2:
            ex2;
            break;

        case 3:
            ex3;
            break;
        //Assim vai

        case 0:
            sair();
            break;
        // default caso o usuário digite uma opção que não foi programada
        default:
            printf("Digite uma opcao valida\n");
        }   
    } while(continuar);
}   

Browser other questions tagged

You are not signed in. Login or sign up in order to post.