Ir ao conteúdo
  • Cadastre-se

em C++ tem como atribuir um carcter dentro de uma string a uma barra invertida ouq qualquer outro valor definido?


Yakchimi

Posts recomendados

seguinte:

utilizo ifstream consultar.open("cadastro.txt");

dentro do texto tem o conteudo e resolvi utilizar um sinal em cada quebra de linha

.

ex.

eu sou eu você é você#

ele é ele ela é ela#

...

isso dentro do arquivo .txt

na hora q o ifstream vai ler...o cout<<leitura;

nao processa a quebra de linha e ele le o arquivo to em uma linha so como se n houvesse a quebra...

teria como eu utilizar esse # para definir uma quebra de linha para o cout quando imprimir o q o ifstream lê

ou itilizar um ifcntrl(#)?

n posso postar o cod porque to no celular...quando chegar em ksa eu posto o cod.

se der para fazer isso então da pra modificar qlqer caracter da string para qlqer outro q eu quiser...será q tem como?

onde tem escrito ifcntrl quis dizer iscnrtl :D

onde tem ifcntrll quis dizer iscntrl

onde tem ifcntrl é iscntrl ;D

Link para o comentário
Compartilhar em outros sites

[emoji2] Olá

Em C, tenho experiência em exercícios que pedem esta solução.

Escrevo uma função que percorre o string em busca do char, se localizado, a função termina retornando o ponteiro do char em questão. Depois disso é só alterar para o seu novo valor.

Acho que essa solução resolve se bem entendi teu problema.

[emoji41] OK'!'

Link para o comentário
Compartilhar em outros sites

[emoji2] Olá

Em C, tenho experiência em exercícios que pedem esta solução.

Escrevo uma função que percorre o string em busca do char, se localizado, a função termina retornando o ponteiro do char em questão. Depois disso é só alterar para o seu novo valor.

Acho que essa solução resolve se bem entendi teu problema.

[emoji41] OK'!'

acredito que resolve tambem, mas, não faço ideia de como fazer isso :D poderia fazer um exemplo, ou especificar a sintaxe de como você fez isso? quais operadores utilizou?

Link para o comentário
Compartilhar em outros sites

segue o meu código completo:

#include <cstdio>#include <cstdlib>#include <locale>#include <cstdio>#include <iostream>#include <cstring>#include <string>#include <cctype>#include <fstream>#include <ctime>using namespace std;int main(){		int opcao;		string nomecompleto;		string veiculo;		string cor;		string placaprefixo;		string placanumero;		string bloco;		string apartamento;		int tipomoradia;//se é locatario permanente, hóspede por temporada ou proprietario.		string tipomoradia2;//converte o resultado do tipomoradia para hóspede, locatário ou proprietário		string observacao;		int confirmar;		ofstream cadastrar;		ifstream consultar;		string leitura;	setlocale(LC_ALL, "Portuguese");	system("title C A D A S T R O   D E   V E I C U L O S   E  P E S S O A S  /  A U X I L I A R");		menu1://rotulo para o goto			for(;{		cout<<"\n\n1.Cadastrar"<<"\n\n2.Consultar"<<"\n\n\n\nDigite o numero da opção: ";		cin>>opcao;		cin.ignore();				switch(opcao){			case 1:				cout<<"\n\nDigite o número do apartamento: ";				getline(cin, apartamento);				cout<<"\n\nDigite o nome do bloco (Brasil, Canada, China, India, Mexico, Japao): ";				getline(cin, bloco);				cout<<"\n\nDigite o nome completo, o máximo que puder: ";				getline(cin, nomecompleto);					cout<<"\n\nDigite o modelo do veiculo ou o fabricante: ";				getline(cin, veiculo);				cout<<"\n\nDigite a cor do veiculo: ";				getline(cin, cor);				cout<<"\n\nDigite o prefixo da placa (ex. AAA): ";				getline(cin, placaprefixo);				cout<<"\n\nDigite o número da placa (ex.1234): ";				getline(cin, placanumero);								do{				cout<<"\n\nQual o status de estadia?";				cout<<"\n\n1.Hóspede.\n\n2.Locatário Permanente.\n\n3.Proprietário.\n\n4.Visitante (Necessita de observação).\n\n5.Deixar ou recolher material; Deixar ou pegar alguém.";				cout<<"\n\nDigite o número da opção: ";				cin>>tipomoradia;				cin.ignore();								if ((tipomoradia<1) || (tipomoradia>5)){					cout<<"\n\nOpção inválida. Digite o número referente à opção desejada.";					continue;				}								switch(tipomoradia){					case 1:						tipomoradia2="HÓSPEDE";						break;					case 2:						tipomoradia2="LOCATÁRIO";						break;					case 3:						tipomoradia2="PROPRIETÁRIO";						break;					case 4:						tipomoradia2="VISITANTE";						cout<<"Observação: ";						getline(cin, observacao);						break;					case 5:						tipomoradia2="Deixar ou pegar material; Deixar ou pegar alguém";						break;				}				}while((tipomoradia<1) || (tipomoradia>5));								cout<<"\n\nConfirme os dados.\n\nNome "<<nomecompleto<<"\n\nApartamento "<<apartamento<<" no Bloco "<<bloco<<"\n\nVeiculo "<<veiculo<<" "<<cor<<"\n\nPlaca "<<placaprefixo<<"-"<<placanumero<<"\n\nStatus "<<tipomoradia2;				cout<<"\n\nConfirma? [1.Sim/2.Não]\n\n";				cin>>confirmar;				cin.ignore();								switch(confirmar){					case 1:						cadastrar.open("cadastro.txt", ofstream::app);						cadastrar<<nomecompleto<<"***"<<bloco<<"***"<<apartamento<<"***"<<veiculo<<"***"<<cor<<"***"<<placaprefixo<<"***"<<placanumero<<"***"<<tipomoradia2<<"***"<<observacao<<"#"<<localtime<<"\n";						break;					case 2:						break;				}				cadastrar.close();				break;			case 2:				consultar.open("cadastro.txt");				while(getline(consultar, leitura)){					cout<<leitura;				}				break;		}	}}

.

.

.

no caso, como eu falei, eu queria utilizar o sinal # para atribuir uma quebra de linha "\n", e o sinal * (***) para que cada conteúdo entre os *** sejam lidos de forma independente, por exemplo:

no caso, é um programa de cadastro de veiculos para portaira.

 

o usuario vai clicar em consultar (obviamente quando estiver completo com a GUI, muito mais adiante na programação), e dai vai de acordo com a situaçao, por exemplo, o supervisor pede para que o porteiro localize o veiculo Gol prata de placa PUY-5622, para o porteiro nao precisar digitar o modelo, cor, prefixo e numeração da placa, ele escolhe um dos campos para pesquisar, por exemplo, ele escolhe o campo de placa, digita somente PUY e dai na janela aparecem todos os veiculos cadastrados com essa placa em uma lista e ele pode limpar o campo pesquisas e tal.

 

por isso preciso saber como fazer para atribuir um valor determinado para um determinado valor que eu decidir, e colocá-lo no local certo.

 

poderia ajudar?


Infelizmente, ainda não sei escrever nada em C#, e nada em C++.
Vamos aguarda alguém que conheça dessa sintaxe.

 

Ok, :D, mas obrigado mesmo assim, a lógica é a mesma.

Link para o comentário
Compartilhar em outros sites

Em C, veja o código escrito a baixo:
 

//<Software - Simple Code> Clube do Hardware#include<stdio.h>#include<locale.h>//Types Structure//Prototype Function Declarationint replace( char*,char,char );char* find_char( char*,char );//Prime func...int main( void ){setlocale( LC_CTYPE,"Portuguese" );char name[] = "CLUB#HARDWARE ";printf( "%s\n", name );replace( name, '#','\n' );printf( "%s\n", name );return(0x0);}//Prototype Function Definitionint replace( char *string, char sea,char rep ){int search = 0;while( (char*)0 != (string = find_char( string,sea )) ){search++;string[0] = rep;}return search;}char *find_char( char *string,char arg ){int search = 0;while( string[search] ){if( string[search] == arg )return( &string[search] );search++;}return(char*)0;}
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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...