-
Posts
9 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por André Luiz Feijó
-
-
Obrigado!
adicionado 25 minutos depois@devair1010 Pensei um pouco e consegui fazer dessa forma a função (Funcionou):
void countStr(char Str[]) { int n = 0; for(int i = 0; i < strlen(Str); i++) { if(isspace(Str[i])) { if(i == 0) { } if(isspace(Str[i-1])) { } else { n++; } } } cout << n+1 << endl; }
- 2
-
Questão: Fazer uma rotina que recebe um string como parâmetro e imprime quantas palavras (separadas por espaços em branco) o mesmo contém.
Fiz o seguinte:
#include <cstdio> #include <cstdlib> #include <iostream> #include <locale.h> using namespace std; void countStr(char Str[]); int main(int nNumberofArgs, char* pszArgs[]) { setlocale(LC_ALL, "Portuguese"); char Str[257]; cout << "Digite uma String: "; cin.getline(Str, 257); countStr(Str); system("PAUSE"); return 0; } void countStr(char Str[]) { int n = 0; if(isdigit(Str[0])) { n++; } for(int i = 1; Str[i] != '\0'; i++) { if(isspace(Str[i])) { if(isdigit(Str[i + 1])) { n++; } } } cout << n << endl; }
Acontece que sempre dá um erro, alguém pode me ajudar a corrigir?!
- 1
-
2 horas atrás, Mauro Britivaldo disse:
void pontInfo (char Str[], int nCount) { cout << "Pontuação: "; char cAux[nCount]; char nArrayPont[] = {'?', '.', '!', ':', ',', ';', '-'}; int nSize = strlen (nArrayPont); // #Aqui tem um erro. ...
A função strlen () exige, em seu parâmetro, uma argumento string.
A única coisa que distingue um vetor de caracteres (char) de uma string (char) é o ultimo elemento, porque uma
vetorstring tem o caractere '\0' no fim da lista. Todas as funções que manipulam strings [strlen...strcmp] só terminam suas tarefas quando esse caractere for encontrado. Daí a array nArrayPont só precisa dele no fim da lista para strlen retorna a largura certa.Assim:
void pontInfo (char Str[], int nCount) { cout << "Pontuação: "; char cAux[nCount]; char nArrayPont[] = {'?', '.', '!', ':', ',', ';', '-', '\0'}; int nSize = strlen (nArrayPont); // Correto retorno para nSize. ...
Resolve aí
Obrigado!
Acontece que erros ainda estão sendo retornados...
Ex.: Se eu boto "-", ele me retorna "?, o, G"
- 1
-
Acontece que, sou novo em C++ e baixei um PDF com exercícios pra treinar... o Exercícios diz "Faça um programa que lê uma String e diz quantas letras minusculas ela tem, quantos números e quantos caracteres de pontuação"
-Fiz a seguinte função:
void pontInfo(char Str[], int nCount) { cout << "Pontuação: "; char cAux[nCount]; char nArrayPont[] = {'?', '.', '!', ':', ',', ';', '-'}; int nSize = strlen(nArrayPont); for(int n = 0; n < nCount; n++) { for(int j = 0; j < nSize; j++) { if(Str[n] == nArrayPont[j]) { cAux[n] = nArrayPont[j]; } } } int nAuxLen = strlen(cAux); char nPont[nAuxLen]; if(nAuxLen == 0) { cout << "Nenhuma" << endl; } for(int i = 0; i < nAuxLen; i++) { nPont[i] = cAux[i]; } for(int i = 0; i < nAuxLen; i++) { if(i < nAuxLen - 1) { cout << nPont[i] << ", "; } else { cout << nPont[i] << endl; } } }
Sempre acontece dá erro.. Alguém pode me explicar onde eu erro?
-
Obrigadão pela ajuda, Devair! Realmente me esqueci do i
Obrigado mesmo!
- 1
-
Sou iniciante em C++ e ando fazendo alguns exercícios. Estou em um exercício onde o programa pede ao usuário 10 números e depois apresenta o maior e o menor.
Fiz o código da seguinte forma:
#include <cstdio> #include <cstdlib> #include <iostream> #include <locale.h> using namespace std; int main(int nNumberofArgs, char* pszArgs[]) { setlocale(LC_ALL, "portuguese"); int i, final, nMax = 10; double nAux, nNumeros[10]; printf("Determine 10 números\n"); for(i = 0; i < nMax; i++) { cout << i + 1 << ": "; cin >> nNumeros; } do{ final = 0; for(i = 0; i < nMax; i++) { if(nNumeros > nNumeros[i+1]) { nAux = nNumeros; nNumeros = nNumeros[i+1]; nNumeros[i+1] = nAux; final = 1; } } }while(final); cout << "Maior número: " << nNumeros[9] << endl; cout << "Menor número: " << nNumeros[0] << endl; system("PAUSE"); return 0; }
De fato, o menor valor funciona, porém o maior sempre imprime lixo. Já li e reli milhares de vezes o código, mudei várias coisas... Nada Funciona...
Alguma dica??
- 1
-
Bom, tenho aqui comigo o livro "Começando a programar em C++ para leigos"
Quais livros vocês me recomendam a ler depois desse?
-
Bom, já estou há um tempo lendo o livro "Começando a programar em C++ para leigos", como o nome diz, é um livro para leigos que estão começando. Bom, acredito que só esse livro não vá me ensinar "tudo" sobre C++. A partir daí, crio duas dúvidas:
1 - O "C++ para leigos" (também do Stephen R. Davis) seria um livro que traz informações novas e mais avançadas em relação ao "Começando a programar em C++ para leigos"?
2 - Alguém poderia me recomendar mais livros sobre C++, Básicos... Intermediários... Avançados...?
Obrigado desde já!!
- 1
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
Exercício C++ com erro
em C/C#/C++
Postado
Exercícios: Crie uma classe que representa um funcionário, registrando seu nome, salário e data de admissão. Em seguida, crie uma classe que represente um departamento de uma empresa, registrando o nome e os funcionários que nele trabalham (para uso de vetores, considere um máximo de 100 funcionários). Por fim, crie uma classe que representa uma empresa, registrando seu nome, CNPJ e departamentos (considere um máximo de 10 departamentos). Faça um programa que:
• Crie uma empresa;
• Adicione a esta empresa alguns departamentos;
• Adicione aos departamentos alguns funcionários;
• Dê aumento de 10% a todos os funcionários de um determinado departamento;
• Transfira um funcionário de um departamento para outro.
Ainda não está pronto o código, algumas coisas eu não fiz exatamente igual como o pedido, mas estou com certos problemas. Alguém pode me ajudar?
Erros: