Ir ao conteúdo
  • Cadastre-se

Main.cpp

Membro Pleno
  • Posts

    431
  • Cadastrado em

  • Última visita

Tudo que Main.cpp postou

  1. Sim, preste atenção no tópico, eu não disse que meu código está em C.
  2. Se não estiver a fim de mudar de linguagem de programação, como o java ou C#, então instale o Qt Creator, com ele você colocará interfaces gráficas em programas feito em C ou C++, e este Qt é muito bom, a documentaçãoo dele é muito boa e completa, e de fácil acesso e aprendizado. Aqui está um exemplo de um simples programa, Criado por mim mesmo que mostra pares e ímpares num vetor de inteiros. //main.cpp //Pares e ímpares em array com dois label //e em duas cores na janela #include "mainwindow.h" #include <QApplication> #include "ui_mainwindow.h" #include <QPainter> #include <QLabel> /*============================================================*/ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); } /*============================================================*/ MainWindow::~MainWindow ( ) { delete ui; } /*============================================================*/ void MainWindow::load_Array ( ) { int a = 0; int A [ 100 ], i; for( i = 1; i <= 100; i++ ) { A [ a ] = i; a++; } int myInt = 0; QLabel *label_1 = new QLabel ( this ); label_1->setFont ( QFont ( "MS Shell Dig2", 11, QFont :: Normal ) ); //Posiciona, e fixa um tamanho para o label label_1->setGeometry ( 170, 50, 291, 188 ); label_1->setWordWrap ( true ); label_1->setStyleSheet ( "QLabel { black; }"); QLabel *label_2 = new QLabel ( this ); label_2->setFont ( QFont ( "MS Shell Dig2", 11, QFont :: Normal ) ); //Posiciona, e fixa um tamanho para o label label_2->setGeometry ( 200, 50, 291, 188 ); label_2->setWordWrap ( true ); label_2->setStyleSheet("QLabel { color : red; }"); for( a = 0; a < 100; a++ ) { if ( a % 2 == 0 ) { if ( a >= 0 && a < 9 ) label_1->setText( label_1->text ( ) + QString::number ( myInt ) ); label_1->setText( label_1->text ( ) + QString::number ( A [ a ] ) + "\t" ); } else { if ( a >= 0 && a < 9 ) label_2->setText( label_2->text ( ) + QString::number ( myInt ) ); label_2->setText( label_2->text ( ) + QString::number ( A [ a ] ) + "\t" ); } } label_1->show ( ); label_2->show ( ); } /*============================================================*/ void MainWindow::paintEvent ( QPaintEvent *event ) { QPainter painter ( this ); //Criando um retângulo sem preenchimento QRectF rectangle ( 5.0, 5.0, 590.0, 290.0 ); //Colocando uma borda vermelha no retângulo painter.setPen ( QPen ( Qt::red, 10, Qt::SolidLine ) ); //Adicionando a retângulo ao painter painter.drawRect ( rectangle ); painter.setFont ( QFont ( "Times", 16, QFont :: Bold ) ); painter.setPen ( Qt::black ); painter.drawText ( QPoint ( 220, 40 ), "Qt - Pares e ímpares"); load_Array ( ); } /*============================================================*/ int main ( int argc, char *argv [ ] ) { QApplication a(argc, argv); MainWindow w; w.show(); return a.exec(); } //MAINWINDOW_H //mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QPainter> namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = nullptr); ~MainWindow(); virtual void paintEvent ( QPaintEvent *event ); virtual void load_Array ( ); private: Ui::MainWindow *ui; }; #endif // MAINWINDOW_H
  3. Simples assim como disse o vangodp: Alocação de memória deve resolver seu problema. Vou te passar um exemplo que tenho aqui e que acabei de testar, com ele abri um arquivo de mais de 4777000 de linhas, com quase 120MB. de tamanho. Note que eu aloquei memória com malloc, e liberei no final com free() Provavelmente você terá de fazer alguns ajustes, mas nada difícil. #include <stdio.h> #include <string.h> #include <conio.h> //isto aqui varia de acordo com o tamanho do arquivo #define SIZE 4693240 int main ( ) { system ( "title ARQUIVO - LEITURA EM ARQUIVO DE TEXTOS PESADOS" ); int a = 0, i; FILE *arq; char **lin; lin = ( char** ) malloc ( SIZE * sizeof ( char* ) ); if ( ( arq = fopen ( "H:\\eclipse luna_two\\" "PROJETO\\PROJETO\\src\\codigos.txt", "r" ) ) == NULL ) { textcolor ( LIGHTBLUE ); gotoxy ( 21 , 3 ); printf ( "Houve um erro na abertura do arquivo" ); getche ( ); exit ( 0 ); } textbackground ( WHITE ); textcolor ( LIGHTRED ); gotoxy ( 21 , 3 ); printf ( "ARQUIVO - LEITURA EM ARQUIVO DE TEXTOS PESADOS" ); for ( i = 0; i < SIZE ; i++ ) { //Esta divisão de SIZE por este número inteiro //também deverá ser ajustado. line [ i ] = ( char* ) malloc ( SIZE / 20000 ); fgets ( lin [ i ] , 80 , arq ); } for ( i = 0; i < SIZE; i++ ) { a = i; textcolor ( LIGHTRED ); gotoxy ( 1 , a + 6 ); printf ( "%d" , a ); textcolor ( LIGHTBLUE ); gotoxy ( 7 , i + 6 ); printf ( " %s" , lin [ i ] ); } fclose ( arq ); getche ( ); free ( lin ); exit ( 0 ); }
  4. Para exibir palavras com acentuação: Se estiver usando o windows siga estes passos abaixo: Abra o regedit como Administrador. Clique no menu editar e em localizar. Digite na caixa de pesquisa "OEMCP". O valor do OEMCP está em 850, se estiver, altere para 1252. Clique em ok, e reinicie o computador. No prompt de comando acesse suas propriedades, e escolha a fonte Lucida Console e clique ok. Coloque o código aqui, que rapidinho a galera te ajuda, tem bons programadores de C/C++ por aqui, pronto para ajudar.
  5. Olá dantepw! sugiro o seguinte link abaixo: http://www.taniamp.net/fe2/dicas_graphics.htm comigo funcionou por aqui, e imagino que deva funcionar com você também. Eu uso o windows seven ultimate 32 e 64 bits aqui no meu notebook e funciona normalmente. Instalei com sucesso tanto no Dev C++ 4.9.9.2 como noutras IDES que tenho por aqui. Abraços!
  6. Acho que deve ser isto, se a palavra tem 5 caracteres é Ímpar se tem 6 caracteres é Par. Tem também palavras em posição Ímpar e posição Par Neste caso as palavras foram armazenadas em Vetor, sendo assim, posição 1 = Ímpar, e posição 2 = par, posição 3 = Ímpar e posição 4 = Par, e assim em diante. Más acho que a explicação melhor virá da pessoa que te passou o código.
  7. Neste seu programa que está funcionando muito bem até aqui, só te dá a opção de digitar apenas uma palavra, para digitar mais palavras, recomendo que você use um laço for como no exemplo abaixo e armazene num Vetor ou Matriz, veja: const int Palavras = 5; char matriz [5] [30]; printf ("\nDigite uma palavra para a posicao "); for ( i = 0; i < Palavras; i++ ){ printf ("%d: ", i + 1 ); gets ( matriz [i] );fflush (stdin); } E para contar os caracteres use a função strlen(); da biblioteca string.h, que é muito fácil de usar, ela retorna o tamanho da string, e sabendo-se do tamanho da string fica fácil imprementar um trecho de código para dizer se é par ou ímpar; espero te-lo ajudado. ABRAÇOS
  8. Ola, dei uma ajeitada no seu código, mudei de 20 para 10 posições apenas para facilitar os testes. tirei um for, fiz algumas mudanças, observe o que mudou, e tenho certeza que você chega lá: #include<stdio.h> #include<stdlib.h> int main(){ int h, i = 0, j = 0, num[10], par[10], impar[10]; printf("Digite 10 numeros inteiros:\n\n"); for (h = 0; h < 9; h++){ scanf(" %d ", &num [h]); if (num [h] % 2 == 0) par [i++] = num [h]; else impar [j++] = num [h]; } printf("\n\nNumeros pares digitados: "); for(h = 0; h < i; h++) printf(" %d ", par [h]); printf("\n\nNumeros impares digitados: "); for(i = 0; i < j ; i++) printf(" %d ", impar [i]); printf("\n\n"); system("pause"); }
  9. Main.cpp

    Copiar PASTAS?

    Ola, Boa nt! Pena que não vi antes más vou te responder agora: /E Copia qualquer subdiretório, mesmo vazios. Essa opção só é válida se utilizada juntamente com a opção /S. C:\\ = Disco Rígido do Computador, até uma criança sabe, quanto mais você. UDev = uma Pasta contendo um Programa de c++, uma IDE, pode ser qualquer pasta, más testei com essa que estava no disco C. Espero ter te ajudado cara, se entendeu da um sinal, para que os Moderadores marquem o tópico como resolvido... Abraços..
  10. Main.cpp

    Copiar PASTAS?

    Bom, por aqui fiz assim: criei uma pasta vazia para o destino e consegui copiar tudo o que tinha na pasta de origem inclusive subpastas para ela deste jeito: #include <conio.h> #include <stdio.h> #include <windows.h> int main(){ system("XCOPY C:\\UDev/E/S G:\\UDev"); // Aqui UDev é uma pasta de programa // G é o meu pendrive, e UDev em G foi uma pasta vazia criada para receber os arquivos da pasta de origem, //copiou tudo inclusive as subpastas,funciona perfeitamente. getche(); } é isto...
  11. Main.cpp

    Copiar PASTAS?

    Ola boa nt! toh te passando um código que eu tenho usado para copiar arquivos com êxito provavelmente você irá adaptá-lo para copiar pastas. Tudo tem que está no mesmo diretório: #include <conio.h> #include <stdio.h> #include <windows.h> int main(){ system("XCOPY C:\Códigos.txt G:"); // aqui Códigos é o nome do arquivo, e aextensão pode ser qualquer uma. // G é o meu pendrive, funciona perfeitamente, não tentei com pastas. getche(); } Falou? Abraços...

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