Olá, consegui fazer o projeto ao menos funcionar, haviam muitos erros envolvendo as chaves e alguns de sintaxe. Mudei o seu scanf para o std::cin que eu estou acostumado a utilizar para evitar problemas, mas acredito que o que você havia feito também está correto
* DEIXEI VARIAS ANOTAÇÕES NO FINAL DO CÓDIGO, VEJA *.
Uma dica: ORGANIZE, SEMPRE! Minha maior dificuldade foi colocar tudo no devido lugar pra entender onde estava os problemas. Creio que assim como eu você está iniciando nos estudos de C++, então boa sorte. Se te ajuda, recomendo o canal "CFB Cursos" no youtube, lá tem uma série de vídeos incrível em um curso de C++ com o professor bruno.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <locale.h>
#include <conio.h>
#include <iostream>
main()
{
system("color 4f");
setlocale(LC_ALL,"Portuguese");
char nome[30];
char sexo,M,F;
int idade;
float peso;
float altura;
float imc;
int numero = -1;
int contador=0;
int registro=0;
printf("\nESCOLHA AS OPÇÕES :\n");
printf("\n\tCADASTRO DE PESSOA POR IMC\t\n");
printf("1 - CADASTRAR UMA PESSOA:\n");
printf("2 - VISUALIZAR RELATORIO DO IMC:\n");
printf("3 - EXCLUIR CADASTRO:\n");
printf("0 - SAIR\n");
printf("Digite a opção:");
std::cin >> numero;
switch(numero)
{
case 1:
{
system("cls");
printf("\n------INICIANDO O CADASTRO------------:\n ");
printf("QUAL O SEXO DA PESSOA ?(M/F)\n");
printf("Digite o sexo (letra MAIÚSCULA): \n");
scanf("%c",&sexo);
printf("Digite o seu nome: \n");
scanf("%s",&nome);
printf("Digite a idade: \n");
scanf("%d",&idade);
printf("Digite o seu peso: \n");
scanf("%f", &peso);
printf("Digite a sua altura: \n");
scanf("%f", &altura);
contador++;
if(sexo=='M'||'F')
{
printf("sexo valido\n");
}
else
{
printf("sexo invalido\n");
}
imc = peso /(altura*altura);
if(imc<=18)
{
printf("O seu índice de massa corporal é %.2f e você está abaixo do peso", imc);
}
if(imc>18 &&imc <=25)
{
printf("O seu índice de massa corporal é %.2f e está normal\n",imc);
}
if(imc>25 &&imc <=30)
{
printf("O seu índice de massa corporal é %.2f e você está com excesso de peso \n", imc);
}
if(imc>30 &&imc <=35)
{
printf("O seu índice de massa corporal é %.2f e você está com obesidade grau um\n", imc);
}
if(imc>35 &&imc <=40)
{
printf("O seu índice de massa corporal é %.2f e você está com obesidade grau dois", imc);
}
if(imc>40)
{
printf("O seu índice de massa corporal é %.2f e você está com obesidade grau três", imc);
}
printf("\n------------------------------------------------------------------------------------------------\n");
printf("SE DEJESA CONTINUAR APERTE 1 OU QUALQUER TECLA PRA SAIR\n");
break;
}
case 2: {
system("cls");
printf("Sexo: %c\n", sexo);
printf("Nome: %s\n", nome);
printf("Peso: %f\n", peso);
printf("Altura: %f\n", altura);
printf("Idade: %i\n", idade);
printf("Imc: %f\n", imc);
printf(nome," TEM ", idade," ANOS, SEU PESO É ",peso," KILOS, SUA ALTURA É ",altura,"SEU PESO É",peso,", E SEU ÍNDICE DE MASSA CORPORAL É ",imc);
if(imc <= 18)
{
printf("O seu índice de massa corporal é %.2f e você está abaixo do peso", imc);
}
if(imc>18 &&imc <=25)
{
printf("O seu índice de massa corporal é %.2f e está normal\n",imc);
}
if(imc>25 &&imc <=30)
{
printf("O seu índice de massa corporal é %.2f e você está com excesso de peso \n", imc);
}
if(imc>30 &&imc <=35)
{
printf("O seu índice de massa corporal é %.2f e você está com obesidade grau um\n", imc);
}
if(imc>35 &&imc <=40)
{
printf("O seu índice de massa corporal é %.2f e você está com obesidade grau dois", imc);
}
if(imc>40)
{
printf("O seu índice de massa corporal é %.2f e você está com obesidade grau três", imc);
}
printf("SE DEJESA CONTINUAR APERTE 1 OU QUALQUER TECLA PRA SAIR\n");
break;
}
case 3:
{
system("cls");
sexo='\0';
nome[0]='\0';
peso='\0';
altura='\0';
idade='\0';
imc='\0';
printf("\t----------CADASTRO EXCLUÍDO----------\n\n");
system ("pause");
system("cls");
break;
}
case 0:
{
default:
printf("OPÇÃO INVÁLIDA!\n");
system("cls");
break;
}
} // FECHA O SWITCH
system("pause");
return 0;
} // FECHA A FUNÇÃO MAIN
/*
* Faltava a ultima chave da função main
* As condições do switch estavam juntas (case1, case2), etc [NÃO SEI SE ISTO É CORRETO, então separei para "case 1, case 2, etc"])
* sexo não é um vetor, portanto para atribuir valor à variavél basta indicar "sexo = '/0'" [A mesma coisa se aplica para as
variaveis peso, altura, idade e imc]. No caso da variavel nome você está atribuindo apenas o "/0" ao primeiro elemento do vetor STRING, esteja ciente disso.
* Você definiu um "do/while" e não colocou a condição de repetição no "while" apos o "do".
* Você utilizou o "break" logo após o case na estrutura switch
* Havia um "while(1==1)" no final, retirei pois não fazia nenhum sentido ele estar ali
* Você colocou o valor do return entre parenteses, isto não é necessario no C++, apenas defina o valor de retorno após chamar o "return"
* Imagino que você se confundiu tanto com o projeto que colou varias das chaves "{ e }" em locais totalmente aleatórios, o switch por exemplo terminava antes de
chegar ao próximo case.
* A falta de organização foi seu maior erro, um projeto organizado te ajuda E MUITO a achar problemas e/ou pedir ajuda a outras pessoas.
*/