Ir para conteúdo
Fórum Script Brasil

mvrocha

Membros
  • Total de itens

    21
  • Registro em

  • Última visita

Tudo que mvrocha postou

  1. mvrocha

    Programa simples

    O problema é aqui: int condicional(int a, int b, int x){ x=0 if(a||b<x){ cout << "Falha no sistema"; } return cout; } e nessa linha, o modo de chamar a função: condicional(a); Primeiramente, seu código não funciona. A função condicional necessita de 3 argumentos e é chamada apenas com 1 argumento, qual o problema de testar no próprio código main. Segundo: if(a || b<x) é equivalente a if(a) || if(b<x), onde o correto seria: if(a > 0 && b > 0) ou if(a<=0 || b<=0) Terceiro: return cout, cout é palavra reservada, caso use using namespace std. Seu código inteiro fica: int main() { cout << "Insira um numero: "; cin >> a; cout << "Insira um outro numero: "; cin >> b; if(a > 0 && b > 0) cout << "Erro" << endl; else cout << "A soma vale" << a+b << endl; return 0; } Sobre sua pergunta, sim, uma função pode retornar um código. Em programas grandes todas as funções retornam códigos e as mudanças/retorno de valores em variáveis é feito por referência, como por exemplo: unsigned int teste(int valor1,int valor2, int& valor_retorno); Pode ver que o retorno é um unsigned int, onde geralmente 0 é OK, execução sem erros e qualquer outro valor representa um erro diferente. Vlw
  2. arquivo=("textos.txt"); fp = fopen(arquivo,"w"); O correto seria : arquivo="textos.txt"; fp = fopen(arquivo,"w"); ou diretamente : fp = fopen("textos.txt","w"); Sempre uso este ultimo, mas se o primeiro não funcionar declare arquivo como char arquivo[20]; e não como ponteiro, dependendo do compilador pode dar algum Warning. Espero ter ajudado. return 0;
  3. Mostra o programa, qual compilador você usa, explique o objetivo do programa - talvez haja outra solução. Assim poderemos te dar uma ajuda maior. falou.
  4. é só lembrar que esta trabalhando com um vetor de caracteres. char linha[] = "!Ntexto.txt#" Retirar o segundo caracter: char ch = linha[1];//a string comeca na posicao zero Pegar texto a partir do 3 caracter: char palavra[]; int tamanho = strlen(linha) - 3; // a nova string tera o mesmo tamanho da primeira tirando caracter 2, o primeiro e o ultimo. strncpy(palavra,&linha[2],tamanho);//copia a partir do 3 caracter uma string de tamanho 'tamanho' Espero ter ajudado. ;)
  5. Gostaria de saber se há alguma forma de imprimir em um arquivo, com cores. é para fazer algo parecido com o excel, se a nota for maior que um valor imprimo em azul, se for menor vermelho. Achei a funcao cprintf, mas ninguém mostra como usa as cores. Obrigado.
  6. mvrocha

    Comunicação Usb

    Gostaria de saber se alguém conhece alguma biblioteca para comunicação Usb de preferencia em c/c++ - que são as linguaens que domino ;) - mas se souberem em outra linguagem podem falar , talvez seja ate mais facil para o que desejo fazer. Att. Mvrocha.
  7. Array dinamico , não seria algo como o velho char ** argv, em c , em c++ poderia ser algo menos medonho string * lines, onde cada linha sera armazenada em uma posicao.
  8. mvrocha

    Erro __Try

    Esses operadores , funcoes e outras coisas do C/C++ que comecao com _ são extensoes , não fazem parte do padrão - coisas da Microsoft, exemplo _tmain, __try. O padrão para tratamennto de erros em c++ é try / throw / catch essa conbinacao funcionara em qualquer compilador. Procure sobre isso... Att. MVRocha
  9. a primeira em diagrama de Blocos e as outras é o que o webpantoja falou , os velhos pytugues , portugol ...
  10. mvrocha

    Gerando Arquivo .hex

    Arquivos '.hex' , salvo meu engano, são para PIC, certo ? O dev-c++ é uma ide para grar programas executaveis para win. SEmpre que vi alguém uasr pic , usa-se o 'microc' ou um complador dedicado.
  11. Tem nome no #define errado, veja bem : na definicao da class Gerente ele define _GERENTE_H_ na definicao da class Banco ele define _CLIENTE_H_ na definicao da class CLIENTE ele tenta define _GERENTE_H_ , que já esta definido assim desprezando a classe CLIENTE So troca os nomes e na proxima toma cuidado com copy-paste <_< espero ter ajudado mvrocha
  12. Cara nunca usei operacoes binarias em c, so fiz isso em assembler , os professores aqui falam para evitar usar codigo binario para qualquer coisa pois "dificultam a leitura posterior", coisas da didatica, mas vamos la: //criando uma funcao mycrypt(char* msg , char* senha,char* saida) mycrypt(char* msg , char* senha,char* saida) { int i; for( i=0; i<strlen(msg); i++) // percorre toda a msg saida[i] = msg[i] ^ senha[i % strlen(senha)]; // utiliza a senha circularmente } Pronto, mas não esqueca de inserir string.h, a outra parte e leitura de arquivo. mvrocha.
  13. Primeiramente , o que a operacao ^ resulta??? Entendi o problema , é bem simples , porem não entendi a operacao, cite exemplos . o que resulta da criptografia de "script" com a senha "brasil" ?? Definindo isso o pgm sai em seguida.
  14. mvrocha

    logica para horario

    Jeito de facilitar o que já esta simples :blink: isso é igual a uma lista circular quando você deseja encontrar um elemento eu faria parecido: if (tabela [ini] > tabela [fim] ) //o caso se eu passar quinta e sabado , nesta ordem { if(valor < tabela[ fim ] && valor > tabela[ ini ]) { //corpo } } else // para tratar o caso que você mesmo citou sabado ate quinta { if(valor > tabela[ ini ]) || valor < tabela [fim] ) { //corpo } }
  15. Se você quer q um PROGRAMA externo faca isso voce tera de usar uma tecnica com sockets, paralelismo. O que eu faria e arrumar o programa para torna-lo uma funcao do pgm principal e ai pode-se retornar dados de forma simples Ai você tera de avaliar o problema, transformar um programa em uma funcao pode ser mais simples pois aprender sobre paralelismo não é tão facil. VLW.
  16. é mais simples do que parece, já fiz isso para aproveitar um programa já escrito , o que deve fazer é escrever: Programa Principal e escrever o arquivo com os numeros e FECHAR O ARQUIVO, é perigoso deixar duas referencias para o mesmo arquivo chamar o programa que processa os dados com "system()" -- a funcao system esta declarada em stdlib.h e recebe um comando para o systema executar no seu caso o prompt do DOS -- é comum em windows usar system("PAUSE") que executa o comando PAUSE no DOS e não fechara imediatamente o programa agora o programa auxiliar pode receber o programa por linha de comando ou ser padrão o nome do arquivo que ele recebe , altere o arquivo com esse programa e o programa principal tera , agora ,esse arquivo processado Assim { /*Escrita inicial*/ system("seu programa ") /*Uso posterior d arquivo já modificado*/ } Espero ter ajudado !!! Caso contrario posso enviar um exemplo.
  17. mvrocha

    Trabalho de C++

    Po, tão urgente para um iniciante ?!?!?!?!?! Me parece trabalho de escola. <_< Mas vamos la : Programa 1 -> write e writeln não seu usar é pascal ou .NET em c++ usa-se "cout" ou para c "printf/puts" A entrada de dados em c++ é dada basicamente atraves de cin ( para programas sem tratamento de erro use cin apenas cin. ) assim deve criar variaveis #include <iostream> #include <iomanip> using namespace std; int main() { float altura,largura,comprimento; cout << "Digite a altura" << endl; cin >> altura; cout << "Digite a largura" << endl; cin >> largura; cout << "Digite o comprimento" << endl; cin >> comprimento; cout << fixed << setprecision(4) << "Seu volume é " << setw(14) << altura*largura*comprimento << endl; cout << fixed << setprecision(4) << "Sua area lateral é " << setw(14) << 2*altura*(comprimento+largura) << endl; cout << fixed << setprecision(4) << "A rea de sua base é " << setw(14) << largura*comprimento << endl; return 0; } Problema2) é serio ??? #include <iostream> using namespace std; int main() { float varX; cout << "Digite um valor" << endl; cin >> varX; cout << "O valor de x^2 - 3*x + 1 é " << varX*varX-3*varX+1 << endl; return 0; } Problema 3) #include <iostream> using namespace std; int main() { float varX,varA,varB,varC; cout << "y = ax2 +bx +c." << endl; cout << "Digite valor de a: "; cin >> varA; cout << "Digite valor de b: "; cin >> varB; cout << "Digite valor de c: "; cin >> varC; cout << "Digite valor de x: "; cin >> varX; cout << "a = " << varA << endl; cout << "b = " << varB << endl; cout << "c = " << varC << endl; cout << "Para x = " << varX << "=> ax2 +bx +c => " << varA*varX*varX + varB*varX + varC << endl; } e o programa 4 é simples é so imprimi o valor recebido multiplicado por um valor. Com esses anteriores você já é capaz de fazer o ultimo. Aprenda a fazer programas basicos como esses pois quando comecar a falar de classes , heranca , polimorfismo e sobrecarga de operadores , onde comeca a graca do c++ , você ira boiar completamente.
  18. Fgets pega string é e o jeito que aconselho a todos usarem , pois strings permitem um tratamento de dados total. Bem vamos ao problema pegar 8 numeros ( que são algarismos que tratarei como caracter ) isso nos leva a como usar fgets: fgets( string , nm , arquivo) A leitura se faz ate nm-1 continuado da mesma linha ate encontrar o caracter de fim de linha que depende da plataforma: :wacko: - \n\r para windows - \n para unix - \r para mac então leia a linha inteira e use o :ninja: strncpy strncpy(char* destino,char* origem ,size_t nrDeCaracterCopiados) use: fgets(strLeitura,n,meuArquivoLeitura);//garanta que n seja maior que a linha mais 3 caracteres para não haver preoblema em nenhuma plataforma strncpy(strEscrita,strLeitura,8);//copiara os 8 primeiros caracteres da string de Leitura fprintf(meuArquivoEscrta,"%s\n",strEscrita);//escreva no arquivo de saida , lembre-se que tem uma string de caracteres numericos e não um inteiro Espero ter ajudado!!
  19. Olha esta linha do codigo printf("%d + %d + %d + %d + %d = %d\n",m[i1],m[i2],m[i3],m[i4],m[i5],X); com arquivos temos a seguinte sintaxe: FILE* meuArquivo; meuArquvo=fopen(nome do arquivo,metodo de abertura); fprintf(meuArquivo,formatacao da linha,variaveis); fclose(meuArquivo); no seu caso : FILE* resposta; resposta=fopen("RESPOSTAS DA COMBIANCAO","w");/* w de write , abertura para escrita*/ /*Geralmente coloca-se um if para testar se o programa abriu realmente o arquivo*/ if(!resposta) exit (1);/*resposta tem uma referencia para o arquivo ou não o ponteiro para NULL, neste ultimo caso abortasse*/ fprintf(resposta,"%d + %d + %d + %d + %d = %d\n",m[i1],m[i2],m[i3],m[i4],m[i5],X); fclose(resposta); MAS VOCE DEVE LER O PROTOTIPO DE CADA FUNCAO : -um exemplo é o fopen que retorna uma referencia para um arquivo ou um ponteiro para NULL em caso de falha -existem 'varios' metodos de escrita fwrite e fprintf , e dois metodos de leitura fscanf ,fread e fgets voce se adapta a um e usa para sempre mas deve saber como usar os outros -em c funcoes de leituras de arquivos tem prototipo definido na stdio.h, porem em c++ comunicacao com terminal e arquvos estao em bibliotecas distintas. há ainda tecnicas de BOA PROGRAMACAO usando arquivos que valem a ena da uma olhada, dependendo do nivel de programacao que voce alcance essas tecnicas são essenciais Abracos.
  20. um programa que retorna um vetor com dados lidos : não sei se entendi bem mas poderia ser : UMA FUNCAO QUE PROCESSA OS DADOS no estilo : Dadosprocessados* processarDados(...)//podendo receber qualquer parametro Isso funciona se e somente se o processamento interromper o funcionamento do programa se o programa tiver de fazer algo enquanto esses dados são processados a historia muda completamente pois ai comecamos a falar de paralelismo Explica melhor o funcionamento e como nosso amigo perguntou qual SO você usa e pretede rdar seu pgm
  21. Tiagokos, veja bem o nome da string representa um ponteiro para a primeira posicao e a linguagem c/c++ considera tudo que encontra pela frente como parte da string , ou no caso de um vetor de char "char str[N]" ela tera N caracteres , assim sendo uma funcao que recebe uma string como parametro recebera simplemente um ponteiro para a primeira posicao do vetor - todas as funcoes da biblioteca string fazem isso . Exemplo - bem simples: void printString(char* strRecebida)/*não sabedo a tamanho da string voce pode usar este recurso de "char*" */ { printf("Sua string : %s",strRecebida); } CUIDADO : Strings em c são passadas por referencia , ou seja , não altere essa string dentro da funcao. :wacko: Exemplo - um pouco mais complicado: void alterarString(char* strRecebida) { strcpy(strRecebida,"ESTRAGUEI"); } int main { char str[20]="MINHA STRING"; printf("Minha string: %s",str);/*IMPRIMIRA : Minha string : MINHA STRING*/ alterarString(str); printf("Minha string alterada: %s",str);/*IMPRIMIRA Minha string alterada : ESTRAGUEI*/ } para evitar esse problema deve-se colocar "const" :ninja: no prototipo da funcao void alterarString(const char* strRecebida) ai o compilador avisara se você tentar alterar algo na string dentro da funcao Espero ter ajudado, acho que me empolguei um pouco na minha primeira resposta VLW!!!!
×
×
  • Criar Novo...