Ir ao conteúdo

C++ Iniciante C++ resposta errada no final


Ir à solução Resolvido por devair1010,

Posts recomendados

Postado

Opa galera!

 

Sou novo na programação e comecei a desenvolver um programa de pesquisa. Porém, surgiu um desafio que não consegui solucionar ainda, por isso vim buscar ajuda.

Acontece que a soma das respostas NÃO está saindo errado no final.

#include <iostream>
#include <cstdlib>

using namespace std;

int main(){
	
	char res, res1, res2;
	int i, u, x, y, w, k, pes, pessoas;
	
	pes= 0;
	i= 0;
	u= 0;
	x= 0;
	y= 0;
	w= 0;
	k= 0;

	setlocale (LC_ALL, "portuguese");
	
	cout <<"			||Configurações do administrador||\n";
	cout <<"==============================================================================\n";
	cout <<"Digite o número de pessoas que deseja que participem da pesquisa: ";
	cin >> pessoas;
	
	system ("cls");
	
	cout <<"\nSerão feitas " << pessoas <<" pesquisas.\n\n";
	cout <<"==============================================================================\n";
	cout <<"\nO programa será executado em seguida.\n\n";
	system ("pause");
	system ("cls");
	
	for (pes= 0; pes< pessoas; pes++){
		cout <<"				Olá!" << endl << endl;
		cout <<"==============================================================================\n\n";
		cout <<"A KL Seguros está realizando uma pesquisa para saber se a população conhece os\n";
		cout <<"seguros que existem no mercado.\n\n";
		
		system ("pause");
		system ("cls");
		
		cout <<"1- Você possui algum tipo de seguro (de vida, residencial ou de automóveis)?\n\n";
		cout <<"[A] Sim" <<" [B] Não" << endl << endl;
		cin >> res;
			if(res == 'A' or res == 'a'){
				res= i++;
			}else(res == 'B' or res == 'b');{
				res= u++;
				}
	
	
		system ("cls");
	
		cout <<"2- Você acha importante ter um seguro, qualquer que seja?\n\n";
		cout <<"[A] Sim" <<" [B] Não" << endl << endl;
		cin >> res1;
			if(res1 == 'A' or res1 == 'a'){
				res1= x++;
			}else(res1 == 'B' or res1 == 'b');{
				res1= y++;
				}
	
		system ("cls");
	
		cout <<"3- Você conhece o seguro RCF-V?\n\n";
		cout <<"[A] Sim" <<" [B] Não" << endl << endl;
		cin >> res2;
			if(res2 == 'A' or res2 == 'a'){
				res2= w++;
			}else(res2 == 'B' or res2 == 'b');{
				res2= k++;
				}

	
		system ("cls");
		
		cout <<"Obrigado por participar da nossa pesquisa.\n\n";
		
		system ("pause");
		system ("cls");
			
	}
	
	cout <<"			||Relatório da pesquisa||\n\n";
	cout <<"==============================================================================\n";
	cout <<"Foram feitas " << pes <<" pesquisas.\n\n";
	cout <<"Total das respostas da primeira pergunta:\n\n";
	cout <<"1- Você possui algum tipo de seguro (de vida, residencial ou de automóveis)?\n\n";
	
	
	cout <<"[A] Sim" <<"		Total: "<< i << endl << endl;
	cout <<"[B] Não" <<"		Total: "<< u << endl << endl;
	
	cout <<"Total das respostas da segunda pergunta:\n\n";
	cout <<"2- Você acha importante ter um seguro, qualquer que seja?\n\n";
	
		
	cout <<"[A] Sim" <<"		Total: "<< x << endl << endl;
	cout <<"[B] Não" <<"		Total: "<< y << endl << endl;
	
	cout <<"Total das respostas da terceira pergunta:\n\n";
	cout <<"3- Você conhece o seguro RCF-V?\n\n";
	
	
	cout <<"[A] Sim" <<"		Total: "<< w << endl << endl;
	cout <<"[B] Não" <<"		Total: "<< k << endl << endl;
	
	
	return 0;
}

 

Fica com o mesmo resultado que o número de pessoas que fez a pesquisa e não o número de NÃOs que foram votados. No caso abaixo, uma pessoa respondeu tudo SIM e a outra tudo NÃO. Deveria aparecer o número 1 e não 2.

 

code.jpg.1da113e1c6e630df91e98cfaae54825a.jpg

 

Se puderem me ajudar, agradeço.

 

Obrigado.

  • Curtir 1
  • Solução
Postado

@Severograz    tem erros e falta alguns comandos "if's" ,  

#include <iostream>
#include <windows.h>
#include <cstdlib>
using namespace std;
int main()
{
    int letra_ant, fundo_ant;
    HANDLE _h = GetStdHandle(STD_OUTPUT_HANDLE);
    CONSOLE_SCREEN_BUFFER_INFO c;
    GetConsoleScreenBufferInfo( _h, &c );
    letra_ant = c.wAttributes & 0x0F;
    fundo_ant = c.wAttributes >> 4 & 0x0F;
    char res, res1, res2;
    int i, u, x, y, w, k, pes, pessoas;

    pes= 0;
    i= 0;
    u= 0;
    x= 0;
    y= 0;
    w= 0;
    k= 0;
    setlocale (LC_ALL, "portuguese");
    SetConsoleTextAttribute(_h, 14 + ( 13 << 4) );
    cout <<"			||Configurações do administrador||\n";
    cout <<"==============================================================================\n";
    cout <<"Digite o número de pessoas que deseja que participem da pesquisa: ";
    cin >> pessoas;
    system ("cls");
    SetConsoleTextAttribute(_h, 11 + ( 0 << 4) );
    cout <<"\nSerão feitas " << pessoas <<" pesquisas.\n\n";
    cout <<"==============================================================================\n";
    cout <<"\nO programa será executado em seguida.\n\n";
    system ("pause");
    system ("cls");
    SetConsoleTextAttribute(_h, 15 + ( 12 << 4) );
    for (pes= 0; pes< pessoas; pes++)
    {
        cout <<"				Olá!" << endl << endl;
        cout <<"==============================================================================\n\n";
        cout <<"A KL Seguros está realizando uma pesquisa para saber se a população conhece os\n";
        cout <<"seguros que existem no mercado.\n\n";
        system ("pause");
        system ("cls");
        cout <<"1- Você possui algum tipo de seguro (de vida, residencial ou de automóveis)?\n\n";
        cout <<"[A] Sim" <<" [B] Não" << endl << endl;
        cin >> res;
        if(res == 'A' or res == 'a')
        {
            res= i++;
        }
        /// else(res == 'B' or res == 'b');{ essa linha contEm erros !
        else
        {
            if(res == 'B' or res == 'b')
            {
                res= u++;
            }
        }
        system ("cls");
        cout <<"2- Você acha importante ter um seguro, qualquer que seja?\n\n";
        cout <<"[A] Sim" <<" [B] Não" << endl << endl;
        cin >> res1;
        if(res1 == 'A' or res1 == 'a')
        {
            res1= x++;
        }
        else
        {
            if(res1 == 'B' or res1 == 'b') /// faltou o IF
            {
                res1= y++;
            }
        }
        system ("cls");
        cout <<"3- Você conhece o seguro RCF-V?\n\n";
        cout <<"[A] Sim" <<" [B] Não" << endl << endl;
        cin >> res2;
        if(res2 == 'A' or res2 == 'a')
        {
            res2= w++;
        }
        else
        {
            if(res2 == 'B' or res2 == 'b')  /// faltou o IF
            {
                res2= k++;
            }
        }
        system ("cls");
        cout <<"Obrigado por participar da nossa pesquisa.\n\n";
        system ("pause");
        system ("cls");
    }
    cout <<"			||Relatório da pesquisa||\n\n";
    cout <<"==============================================================================\n";
    cout <<"Foram feitas " << pes <<" pesquisas.\n\n";
    cout <<"Total das respostas da primeira pergunta:\n\n";
    cout <<"1- Você possui algum tipo de seguro (de vida, residencial ou de automóveis)?\n\n";
    cout <<"[A] Sim" <<"		Total: "<< i << endl << endl;
    cout <<"[B] Não" <<"		Total: "<< u << endl << endl;
    cout <<"Total das respostas da segunda pergunta:\n\n";
    cout <<"2- Você acha importante ter um seguro, qualquer que seja?\n\n";
    cout <<"[A] Sim" <<"		Total: "<< x << endl << endl;
    cout <<"[B] Não" <<"		Total: "<< y << endl << endl;
    cout <<"Total das respostas da terceira pergunta:\n\n";
    cout <<"3- Você conhece o seguro RCF-V?\n\n";
    cout <<"[A] Sim" <<"		Total: "<< w << endl << endl;
    cout <<"[B] Não" <<"		Total: "<< k << endl << endl;
    SetConsoleTextAttribute(_h, letra_ant + ( fundo_ant << 4) );
    cout << "\n\n" << endl;
    return 0;
}

 

  • Amei 1
Postado

@devair1010 Boa Noite!

 

Poderia me ensinar como corrigir meus erros?

Em 03/06/2022 às 16:34, devair1010 disse:

@Severograz    tem erros e falta alguns comandos "if's" ,  

#include <iostream>
#include <windows.h>
#include <cstdlib>
using namespace std;
int main()
{
    int letra_ant, fundo_ant;
    HANDLE _h = GetStdHandle(STD_OUTPUT_HANDLE);
    CONSOLE_SCREEN_BUFFER_INFO c;
    GetConsoleScreenBufferInfo( _h, &c );
    letra_ant = c.wAttributes & 0x0F;
    fundo_ant = c.wAttributes >> 4 & 0x0F;
    char res, res1, res2;
    int i, u, x, y, w, k, pes, pessoas;

    pes= 0;
    i= 0;
    u= 0;
    x= 0;
    y= 0;
    w= 0;
    k= 0;
    setlocale (LC_ALL, "portuguese");
    SetConsoleTextAttribute(_h, 14 + ( 13 << 4) );
    cout <<"			||Configurações do administrador||\n";
    cout <<"==============================================================================\n";
    cout <<"Digite o número de pessoas que deseja que participem da pesquisa: ";
    cin >> pessoas;
    system ("cls");
    SetConsoleTextAttribute(_h, 11 + ( 0 << 4) );
    cout <<"\nSerão feitas " << pessoas <<" pesquisas.\n\n";
    cout <<"==============================================================================\n";
    cout <<"\nO programa será executado em seguida.\n\n";
    system ("pause");
    system ("cls");
    SetConsoleTextAttribute(_h, 15 + ( 12 << 4) );
    for (pes= 0; pes< pessoas; pes++)
    {
        cout <<"				Olá!" << endl << endl;
        cout <<"==============================================================================\n\n";
        cout <<"A KL Seguros está realizando uma pesquisa para saber se a população conhece os\n";
        cout <<"seguros que existem no mercado.\n\n";
        system ("pause");
        system ("cls");
        cout <<"1- Você possui algum tipo de seguro (de vida, residencial ou de automóveis)?\n\n";
        cout <<"[A] Sim" <<" [B] Não" << endl << endl;
        cin >> res;
        if(res == 'A' or res == 'a')
        {
            res= i++;
        }
        /// else(res == 'B' or res == 'b');{ essa linha contEm erros !
        else
        {
            if(res == 'B' or res == 'b')
            {
                res= u++;
            }
        }
        system ("cls");
        cout <<"2- Você acha importante ter um seguro, qualquer que seja?\n\n";
        cout <<"[A] Sim" <<" [B] Não" << endl << endl;
        cin >> res1;
        if(res1 == 'A' or res1 == 'a')
        {
            res1= x++;
        }
        else
        {
            if(res1 == 'B' or res1 == 'b') /// faltou o IF
            {
                res1= y++;
            }
        }
        system ("cls");
        cout <<"3- Você conhece o seguro RCF-V?\n\n";
        cout <<"[A] Sim" <<" [B] Não" << endl << endl;
        cin >> res2;
        if(res2 == 'A' or res2 == 'a')
        {
            res2= w++;
        }
        else
        {
            if(res2 == 'B' or res2 == 'b')  /// faltou o IF
            {
                res2= k++;
            }
        }
        system ("cls");
        cout <<"Obrigado por participar da nossa pesquisa.\n\n";
        system ("pause");
        system ("cls");
    }
    cout <<"			||Relatório da pesquisa||\n\n";
    cout <<"==============================================================================\n";
    cout <<"Foram feitas " << pes <<" pesquisas.\n\n";
    cout <<"Total das respostas da primeira pergunta:\n\n";
    cout <<"1- Você possui algum tipo de seguro (de vida, residencial ou de automóveis)?\n\n";
    cout <<"[A] Sim" <<"		Total: "<< i << endl << endl;
    cout <<"[B] Não" <<"		Total: "<< u << endl << endl;
    cout <<"Total das respostas da segunda pergunta:\n\n";
    cout <<"2- Você acha importante ter um seguro, qualquer que seja?\n\n";
    cout <<"[A] Sim" <<"		Total: "<< x << endl << endl;
    cout <<"[B] Não" <<"		Total: "<< y << endl << endl;
    cout <<"Total das respostas da terceira pergunta:\n\n";
    cout <<"3- Você conhece o seguro RCF-V?\n\n";
    cout <<"[A] Sim" <<"		Total: "<< w << endl << endl;
    cout <<"[B] Não" <<"		Total: "<< k << endl << endl;
    SetConsoleTextAttribute(_h, letra_ant + ( fundo_ant << 4) );
    cout << "\n\n" << endl;
    return 0;
}

 

 

  • Amei 1
Postado

@Severograz   basicamente são esses mostrados nos comentário ,  e corrigindo eles como está no código que postei , ele o programa funciona bem e mostra o resultado certo no final ,  e se você puder / Quiser / souber usar "vetores"   Ou "struct's"    oU    "typedef's"  ,  esse seu código poderia ser ser bem menor e com menos Linhas de código .   , 

  • Obrigado 1
Postado

@devair1010 Muito Obrigado!

Pude olhar melhor o código e as partes que errei. Tinha dúvidas se poderia usar if dentro do else. Vou buscar conteudo sobre "vetores", "struct's" e typedef's pra melhorar o código.

 

Obrigado! 😃

  • Obrigado 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!