Ir ao conteúdo
  • Cadastre-se

Pesquisar na Comunidade

Mostrando resultados para as tags ''C''.



Mais opções de pesquisa

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Categorias

  • Armazenamento
  • Áudio
  • Energia
  • Entrada
  • Feiras e Eventos
  • Gabinetes
  • Memória
  • Museu
  • Placas-mãe
  • Portáteis
  • Processadores
  • Programas
  • Rádio CdH
  • Redes
  • Refrigeração
  • Smartphones
  • Tablets
  • Vídeo
  • Outros

Categorias

  • Armazenamento
  • Áudio
  • Câmeras
  • Computadores
  • Consoles
  • Eletrônicos
  • Energia
  • Entrada
  • Gabinetes
  • Impressão
  • Jogos
  • Memória
  • Placas-mãe
  • Portáteis
  • Processadores
  • Programas
  • Redes
  • Refrigeração
  • Smartphones
  • Tablets
  • Vídeo
  • Outros

Categorias

  • Livros disponíveis
  • Livros esgotados

Fóruns

  • Mensagens do Clube do Hardware
    • Regras gerais
    • Boletins do Clube do Hardware
    • Notícias da administração
  • Hardware
    • Recomendações de computadores
    • Placas de vídeo
    • Placas-mãe e chipsets
    • Processadores
    • Problemas de gargalo e desempenho
    • Memórias
    • Armazenamento
    • Refrigeração e superaquecimento
    • Fontes e energia
    • Gabinetes e casemods
    • Placas de som e áudio on-board
    • Periféricos
    • Mac
    • Overclock
    • Hardware - outros
  • Computação móvel
    • Notebooks
    • Tablets
    • Smartphones e apps
  • Redes e Internet
    • Redes e Internet
    • Hospedagem de sites e registro de domínios
  • Segurança da informação
    • Remoção de malware
    • Dúvidas sobre invasões e infecções
    • Programas de proteção
  • Programação e desenvolvimento
    • Java
    • C/C#/C++
    • Pascal/Delphi
    • .NET
    • Bancos de dados
    • Programação web
    • Programação - iniciantes
    • Programação de microcontroladores
    • Programação - outros
  • Software
    • Jogos
    • Pacotes de escritório
    • Computação distribuída (Folding@Home, Bitcoin etc.)
    • Virtualização
    • Design, animação e tratamento de imagens
    • Edição de áudio e vídeo
    • Programas
  • Sistemas Operacionais
    • Recomendação de sistemas operacionais
    • Windows
    • GNU/Linux, BSD, Unix-like e software livre
  • Eletrônicos
    • Equipamentos de som, home theaters e gravadores de mesa
    • Televisores e projetores
    • Câmeras e filmadoras
    • Players portáteis
    • Consoles (videogames)
    • GPS
    • Telefonia fixa
    • Eletrônica
    • Retrocomputação
  • Outros
    • Recomendações de serviços e lojas
    • Preços e ofertas
    • Notícias
    • Bolsa de empregos, certificações e mercado de trabalho
    • "Causos"
    • Encontros de usuários
  • Clube do Hardware
    • Comentários, elogios, críticas, sugestões e questões sobre o Clube do Hardware
    • Comentários de artigos
    • Fórum para testes de funcionalidades

Categorias

  • Hardware
  • Redes
  • Eletrônica
  • Sistemas operacionais

Encontrar resultados em...

Encontrar resultados que...


Data de criação

  • Iniciar

    FIM


Última atualização

  • Iniciar

    FIM


Filtrar pelo número de...

Data de registro

  • Iniciar

    FIM


Grupo


Caixas de som

Encontrado 1.672 registros

  1. Olá, eu gostaria de saber como umas funções básicas de C (como a função rand() ) foram feitas. Eu sei como usa-las perfeitamente, porém gostaria de saber, por curiosidade, como os desenvolvedores fizeram a função. A minha dúvida é pelo que pesquisar, não sei como procurar esse tipo de coisa. Se alguém puder me ajudar, eu agradeço.
  2. Olá boa tarde, gostaria de saber na linha 13 desse código abaixo o que significa esse símbolo? | | Ou ele não existe? #include <stdio.h> #include <conio.h> #define Tm 6 /* a quantidade de números */ int vet[60],aux,num,flag; int i,j,resto,result; int main() { for(j=0;j<Tm;j++){ do{ flag=0; printf("Digite O %d%c Numero ",j+1,167); scanf("%d",&vet[j]);? if(vet[j]<-99 || vet[j]>99)flag=1; }while(flag != 0); } for(i=0;i<Tm;i++)/* coloca em ordem crescente */ for(j=i+1;j<Tm;j++) if( vet > vet[j]){ aux = vet ; ? vet = vet[j] ; vet[j] = aux ; } printf("\nNumeros Ordenados Crescente\n"); for(j=0;j<Tm;j++) printf("%3d\n",vet[j]); printf("\n"); printf("Numeros Em Colunas\n"); for(j=0;j<Tm;j+=2) printf("%3d , %3d\n",vet[j],vet[j+1]); printf("\nResultado Da Subtracao\n"); for(j=0;j<Tm;j++){ num = (int)vet[j]/10; resto = vet[j] % 10 ; result = abs (resto - num ) ; printf("%3d - %3d => %3d\n",resto,num,result); } printf("\n\n"); getch(); return 0; }
  3. Olá amigo estive um pouco afastado do fórum e gostaria de saber se aqui seria a sessão correta para ajuda com a programacao de um código para um projeto de arduino (esp)! Grato.
  4. Olá, pessoal, Mexo com microcontroladores, antigamente com PIC e agora com ARM (plataforma LPCXpresso). Ambos utilizam a linguagem C. Meu problema é o seguinte: Preciso converter um caractere que vem da UART (porta de comunicação). No PIC havia uma função pronta para tal, no ARM não. O caractere chega assim, por exemplo: P123 (tudo junto), e eu queria separar em: dado_recebido[]={'P', '1', '2', '3'}; Para poder utilizar um switch switch(dado_recebido[0]) { case 'P':.... } alguém tem alguma ideia de como posso fazer a conversão? Agradeço desde já.
  5. Olá pessoal! Bom dia a todos!! Sou novo neste fórum, caso o tópico estiver postado em um lugar indevido, peço desculpas. Bem, estou com o seguinte problema: Desenvolvi um projeto base para controlar um Display(20x4) através do PIC16F887. O grande problema é que, no MikroC compila não dando erros na programação, e então desenvolvi o esquema no Protheus. Ao colocar a programação para funcionar, nada ocorre no Display, apenas ligando, mas o texto em si não está sendo mostrado. Não consegui identificar o problema, alguém poderia me ajudar ? A programação que desenvolvi é a seguinte: Obs¹: Utilizei como base para a programação do Display, as funções disponíveis no próprio "Help" do MikroC. //=========== Constantes da Programação =================================== // Constantes Desativadas. ==> Não há necessidade... //#define Botao1 PORTA.F2 // Define Botão1 como RA2 //#define Botao2 PORTA.F3 // Define Botão2 como RA3 ////#define Enter PORTA.F2 // Define Botão(Enter) como RA2 //#define LED1 PORTB.F7 // Define LED1 como RB7 //#define LED2 PORTB.F6 // Define LED2 como RB6 //========================================================================= //=========== Configuração do Display LCD ================================= // Configuração dos Pinos a serem conectados // Lcd pinout settings sbit LCD_RS at RB3_bit; sbit LCD_EN at RB2_bit; sbit LCD_D7 at RB7_bit; sbit LCD_D6 at RB6_bit; sbit LCD_D5 at RB5_bit; sbit LCD_D4 at RB4_bit; // Pin direction sbit LCD_RS_Direction at TRISB3_bit; sbit LCD_EN_Direction at TRISB2_bit; sbit LCD_D7_Direction at TRISB7_bit; sbit LCD_D6_Direction at TRISB6_bit; sbit LCD_D5_Direction at TRISB5_bit; sbit LCD_D4_Direction at TRISB4_bit; //========================================================================= //=========== Variáveis Auxiliares ======================================== char //========================================================================= //=========== Blocos auxiliares =========================================== void changeCount(); //========================================================================= void main() // Programa Principal { //=========== Configuração Inicial do Projeto ============================= // ANSEL = 0x00; // Desativa o Conversor Analógico/Digital TRISA = 0b00001100; // Configura TRISA.RA2 Como Entrada; PORTA = 0b00000000; // Define todo o PORTB como "DESLIGADO" ==> Nível LOW; TRISB = 0b00000000; // Configura todo o TRISB como saída; PORTB = 0b00000000; // Configura todo o PORTB para iniciar em 0; //========================================================================= //========== Inicialização do Display 20x4 ================================ Lcd_Init(); // Comando para inicializar o LCD; Lcd_Cmd(_LCD_CLEAR); // Comando para Limpar o LCD; Lcd_Cmd(_LCD_TURN_OFF); // Comandop para Ligar o LCD; Lcd_Out(1,1, "Incializando..."); delay_ms(150); Lcd_Cmd(_LCD_CLEAR); delay_ms(300); //========================================================================= //========== LOOP Infinito ================================================ while(1) { Lcd_Out(1,1, "Display ON"); delay_ms(100); } // Fim do Loop Infinito //========================================================================= } // Fim do Programa Principal
  6. Pessoal, estava fazendo um exercício de concatenação de strings em C, e me deparei com um erro de "variable-sized object may not be initialized", não sei o que é esse erro exatamente e não consigo achar onde está o erro no meu código, então se alguém puder me mostrar onde está o erro. (Eu sei que existem maneiras bem mais eficientes de fazer esse exercício, mas fiz assim pois é dessa forma que foi passado na aula) OBS: Estou usando o codeblocks. O objetivo do exercicio é juntar as strings p1 e p2 na pf e mostrar ela na tela. #include <stdio.h> int main() { void conc(char a[], char b[], char c[]); char p1[]={'e','a','e',' '}; char p2[]={'m', 'a', 'n'}; char pf[7]; conc(p1, p2, pf); int q; for (q=0; q<7; ++q){ printf("%c", pf[q]);} return 0; } void conc(char a[], char b[], char c[]) { int i,k; for (i=0; i<4; ++i){char pf=char p1;} \\ o compilador diz que o erro está nessa linha \\ for (k=0; k<3; ++k){char pf[k+4]=char p2[k];} }
  7. Olá, estou querendo aprender colocar interface em C, fiz muitas pesquisas sobre como colocar e me indicaram o Gtk+, mas não consigo instalar e nem sei como usar, pode me dar uma ajudinha com isso? Meu SO é Windows 10, e queria saber se o Glade também é bom para interface? Desde já agradeço
  8. Boa noite, comunidade. Galera, eu to aprendendo a programar, optei por C por sua clássica estrutura de construção de algoritmos e assim no futuro facilitar meu aprendizado nas demais linguagens. Estou com dificuldades lógica no entendimento desse exercício: [Descrição] Escrever programa para exibir os múltiplos de N contidos entre os valores A e B, sendo N, A e B definidos pelo utilizador. [Entrada] Três valores inteiros. Cada um em uma linha distinta. O primeiro valor, N, corresponde ao número do qual se deseja verificar se há múltiplos. Os outros dois valores, A e B inclusivos, correspondem aos limites do intervalo de valores a serem validados como múltiplos ou não de N. [Saída] Valores contidos entre A e B, que sejam múltiplos de N. Caso não haja múltiplos de N, entre A e B, exibir: INEXISTENTE. Não precisa deixar tudo mastigadinho, só gostaria do máximo de ajuda possível para construir a lógica desse algoritmo. Abraços.
  9. Boa tarde, gente. Estou começando a programar em C e preciso mesmo de ajuda para identificar os motivos que impedem a execução do programa. O objetivo dele é o seguinte: ler uma mensagem do teclado, passar para o arquivo de saída, daí ele deve pegar essa mesma mensagem e armazenar em uma string que deve ser gravada no arquivo enviadas, ao identificar uma nova mensagem no arquivo enviadas, o sistema deve escrever no arquivo recebidas confirmando. Eu uso a contagem de linhas para definir se há novas mensagens. Sei que o código não é nada elegante, mas é que eu realmente estou começando. Ele não está nem escrevendo a string "mensagem" no arquivo de saída, mas não ocorre nenhum erro na compilação. Eu coloquei algumas funções para indicar se deu erro na leitura da string, mas nunca resultou em erro. #include <stdio.h> #include <stdlib.h> #include<string.h> struct pacote{ int npac; char msg[130]; }; int linhas(FILE *fp){ int nlinhas=0; char c; while ((c=fgetc(fp))!=EOF){ if (c=='\n') nlinhas++; } return nlinhas; } int main() { char mensagem[130], conf[20]="Mensagem recebida"; FILE *fsaida,*fenv,*frec; int nlinhas=0, n=0; struct pacote pac; if ((fsaida= fopen("saida.txt", "w+"))==NULL){ perror("erro arq saida "); return 1; } if ((fenv= fopen("enviadas.txt", "a+"))==NULL){ perror("erro arq enviadas "); return 1; } if ((frec= fopen("recebidas.txt", "a+"))==NULL){ perror("erro arq recebidas "); return 1; } //pega mensagem do teclado printf("Entre com a mensagem: "); gets(mensagem); //escreve mensagem no arquivo de saída if((fputs(mensagem, fsaida))==EOF) printf("erro saida"); printf("%d",ferror(fsaida)); //número do pacote nlinhas=linhas(frec); pac.npac=nlinhas+1; memset(pac.msg,0,sizeof(pac.msg)); fgets(pac.msg, sizeof(pac.msg), fsaida); printf("%d",ferror(fsaida)); printf("%s",pac.msg); if(fgets(pac.msg, sizeof(pac.msg), fsaida)==NULL) printf("erro fgets\n"); //envio de pacote fprintf(fenv, "%d. %s\n", pac.npac, pac.msg); //checar se há novas mensagens do { nlinhas=linhas(fenv); } while(n<=nlinhas); printf("%d\n",n); if(n>nlinhas){ fprintf(frec, "%s\n", conf); printf("%s\n",conf);} fclose(fsaida); fclose(frec); fclose(fenv); system("pause"); return 0; }
  10. #include <stdio.h> #include <stdlib.h> #include <math.h> int main (){ //Teatro da faculdade// int op=1,lin,col,cond,i,j, n, t, x, p; char ascii = 79; char asciii = 158; int Cadeiras [20][20]; for(i=0;i<20;i++){ for(j=0;j<20;j++){ Cadeiras[i][j]=0;//Disponíveis } } do{ printf("\n1-Comprar ingresso\n"); printf("\n2-Ver disposicao das cadeiras\n"); printf("\n3-Reintegrar\n"); printf("\n4-Escolha concluída\n"); scanf("%d",&op); switch(op){ case 1://vender ingresso printf("\nFila: "); scanf("%d",&lin); printf("\nColuna: "); scanf("%d",&col); Cadeiras[lin-1][col-1]=1; printf("\tInforme sua forma de pagamento\n"); printf("1-Dinheiro\n"); printf("2-Cartao\n"); scanf("%d"); if(op==1){ printf("1-Entrada meia : 5,00\n"); printf("2-Entrada inteira: 10,00\n"); scanf("%d"); printf("Seu ingresso foi adquirido com sucesso!\n"); } break; case 2://ver disposição das cadeiras n=0; printf("\tC\n\tO\n\tL\n\tU\n\tN\n\tA\n"); printf("LINHA"); printf("\t 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19\n"); for(i=0 ; i<20; i++) { printf("\t"); n==1; printf("%d ",n); n++; for(j=0 ; j<20 ; j++) { if(Cadeiras[i] [j]==0) { printf("%c ",ascii); } else printf("%c ",asciii); } printf("\n"); } printf("\n"); printf("-------------------------------------------------------------\n"); break; case 3://3-Reintegrar printf("Reintegrar UMA (1)....\nReintegrar TUDO(2)..."); scanf("%d",cond); if(cond==1){ printf("\nFila: "); scanf("%d",&lin); printf("\nCadeira: "); scanf("%d",&col); Cadeiras [lin-1][col-1]=0; } else for( i=0;i<10;i++){ for( j=0;j<40;j++){ Cadeiras[i][j]=0; } } break; default: op=0; } }while(op!=0); system("pause"); return 0; } Eu preciso fazer um programa de compra de ingresso , que no ticket quando terminar a compra venha escrito a poltrona escolhida ,ja tentei algumas formas e não consegui , vou anexar o codigo a cima,se alguem puder me ajudar :
  11. Queria fazer um programa para contar o numero de linhas e palavras usadas via stdin consegui contar as linhas, mas não soma palavras while( (texto[MAX]=fgetc(textos))!= EOF ) if(texto[MAX] == '\n') linha++; printf("Existem %d linhas no arquivo\n", linha); se digitar: aaa bbb cccc ccc xxxxx Deveria devolver Existem 4 linhas e 5 palavras Alguma ajuda
  12. Galera, hoje não deu nada certo! geralmente não tenho dificuldades, mas hoje foi um pesadelo! laços de repetição é estrutura de decisão não funcionaram! deem uma olhada no código abaixo: #include <stdio.h> #include <stdlib.h> #include <locale> int main() { setlocale(LC_ALL, "Portuguese"); int a; int b; a = 0; b = 100; printf("Digite um número no intervalo de 0 a 100: \n"); scanf("%d", &a); while (a < b); { printf("Digite um número no intervalo de 0 a 100: \n"); scanf("%d", &a); } for (a = 0; a > 100; a++); { printf("\a\n!ERROR!\n"); } system("PAUSE"); return 0; } Quando eu clico para compilar>abre a tela de pormpt>aparece na tela 'Digite um número no intervalo de 0 a 100' digito o número e só fica nisso, nem fechar fecha. Eu remexi tanto esse código que nem sei mas o que e certo ou errado Nem sei se o laço de repetição for está funcionando essa por## trava logo de início e pra vocês verem que eu tentei fazer é bem simples, não conseguir fazer uma coisa básica que eu fazia com facilidade é triste e desanimador demais.
  13. estou com problema em ajudar um amigo meu no seguinte exercício: "Escreva um programa que faça contas com números racionais não negativos (frações). O programa deve suportar as quatro operações básicas +, -, *, / e o resultado de qualquer operação deve ser uma fração simplificada (isso consegue-se dividindo o numerador e o denominador do resultado pelo MDC entre os dois)." O que ele já fez foi: typedef struct { int num, den; } Rational; void write_rational(Rational rational) { printf("%d/%d", rational.num, rational.den); } Rational sum(Rational a, Rational b) { Rational sum; ((sum.num = (a.num * b.den) + (b.num * a.den)) && (sum.den = a.den * b.den)); } Rational subtract(Rational a, Rational b) { Rational sub; ((sub.num = (a.num * b.den) - (b.num * a.den)) && (sub.den = a.den * b.den)); } Rational multiply(Rational a, Rational b) { Rational mult; ((mult.num = (a.num * b.num)) && (mult.den = (a.den * b.den))); } Rational divide(Rational a, Rational b) { Rational div; ((div.num = (a.num * b.den)) && (div.den = (a.den * b.num))); } int main(void) { char operation; Rational r, s; printf("Introduza expressao: "); scanf("%d/%d %c %d/%d", &r.num, &r.den, &operation, &s.num, &s.den); if (operation == '+') write_rational(sum(r, s)); else if (operation == '-') write_rational(subtract(r, s)); else if (operation == '*') write_rational(multiply(r, s)); else write_rational(divide(r, s)); return 0; } Como não nunca tinha me deparado com um problema com números racionais eu não estou conseguindo saber o que esta errado, sera que alguém pode me ajudar? Abs.
  14. Bom dia galera. Alguém pode me ajudar? Estou estudando C pela primeira vez, e ao fazer um programa básico, na compilação de um tipo CHAR, aparece apenas uma letra dos caracteres digitados. Pelo que li na internet pode ser lixo no buffer. Mas em nenhum lugar achei até o momento, como resolver isso. Vou postar o programa logo abaixo, e quem puder me ajudar fico grato. #include "Stdio.h" main(){ int i; float f; char c; char s[20]; printf("Entre com um valor inteiro: "); scanf("%i", &i); printf("Entre com um valor fracionado: "); scanf("%f", &f); printf("Entre com uma letra:\n "); scanf("%c", &c); printf("Entre com uma palavra ate 20 caracteres:\n "); scanf("%c", &s); printf("\nVoce digitou:\n%i - como inteiro,\n%6.4f - como fracionado,\n%c - como caractere e \n%c - como palavra. ", i,f,c,c); printf("\n%s", "Obrigado"); }
  15. Boa noite. Preciso ler dados numéricos de um arquivo de texto que contém linhas com caracteres também. Ex.: #e1 e2 e3 0.1 0.3 0.5 #v1 v2 v3 0.4 0.23 0.9 Como faço para que o meu código leia apenas os números e ignore as linhas com os caracteres?
  16. Fala, rapeize! Estou com dificuldades em ler uma palavra em uma certa linha de um arquivo. if(categoria==1){ if((arq=fopen("Categorias\\estados.txt", "r"))==NULL){ //Abre o arquivo estados.txt para pode pegar uma palavra aleatorio, armazenar em uma variavel e poder iniciar o jogo da forca puts("ERRO ESTADOS"); }else{ random=rand()%qtdePalavras; //Escolhe uma linha aleatória } } Não consigo pensar em nenhuma forma para navegar dentro do arquivo e ler a linha aleatória definida na variável random. @EDIT1: Também gostaria de saber como faço para ler quantas linhas existem no arquivo.
  17. Esta e a struct e eu quero excluir do registro o nFuncionario, nome[30] e cpf[11]. Porém, estou perdido nunca realizei a de exclusão e não sei por onde começar. #define tam 4 #define mtam 10 int qtdfuncionario = 0; int qtdmercadoria = 0; struct Mercado{ int nFuncionario, estoque; char nome[30], item[50], cpf[11]; float valor, peso; }; struct Mercado Smercado[tam]; void op1(int i); void op2(); void op3(); void op4(); void op5();
  18. Este programa foi criado num sábado, 28 de março de 2015. Ele é o campeão de visualizações no meu blog, possui alguns milhares de visualizações, já a segunda versão, que usa os clickes do mouse, não fez tanto sucesso assim. Entendendo claramente o que é variável, que não passa de uma parte de memória onde se armazena valores de um determinado tipo, podemos dizer que ponteiro também é uma variável que carrega um endereço de uma posição de outra variável. Quando uma variável possui o endereço de outra, dizemos em C que uma variável está apontando para outra. Para declarar um ponteiro escolhemos primeiro o tipo, adequado permitido e em seguida damos um nome precedendo de um *, Ex: tipo *nome_da_variavel; Vale lembrar que podemos criar ponteiros para qualquer tipo aceito no C, e que são usados só dois operadores especiais, que são o * e o &. O operador que devolve o endereço de memória é o & que é considerado um operador unário, isto é, trabalha sobre uma variável para modificar, ou manter um determinado valor. A matriz de ponteiro static char *Mat_Mesg [ ] = {}; com a palavra reservada static declarada local, utiliza a passagem de parâmetros por valor, observe o uso do apontador e veja que uma cópia fiel é passada para a função Sub_Titulos ( int x, char *Mat_Mesg [ ] ); De onde vem as chamadas das mensagens de interação com o usuário do programa. Em outras funções que também receberam parâmetros forcei o uso de ponteiros, onde foram obrigatoriamente usados para um bom desempenho do programa. A função Sorteia_Mega_Sena( int *A ); é a mais importante, é nela onde são gerados os números aleatórios dentro de uma faixa estreita, entre 1 e 60, fiquei muitas horas empenhados nesta função porque os valores se repetiam, não foi fácil fazer isto que parece ser tão simples. A lógica pra resolver isto foi trabalhar com estas repetições, anulando a sequência e gerando outra, isto é feito automaticamente pelo programa, e duvido que alguém perceba que houve repetições, porque tudo acontece muito rápido. Fica bem claro que é exigido um bom conhecimento de ponteiros e alocação dinâmica para entender este código, portanto não é indicado a quem está iniciando agora. #include <stdio.h> #include <stdlib.h> #include <conio2.h> #include <time.h> #define tam 60 #define T 6 int Moldura ( int tam_lin_ini, int tam_lin_fim, int tam_ini_col, int tam_fim_col ) { int i, c; for ( i = tam_lin_ini; i < tam_lin_fim; i++ ) { for ( c = tam_ini_col; c < tam_fim_col; c++ ){ gotoxy ( c, i ); textbackground ( WHITE ); printf(" "); } } return 0; } int Sorteia_Mega_Sena ( int *A ) { int V = 6; int i, j, vezes; srand ( time ( NULL ) ); for ( i = 0; i < T; i++ ) { A [ i ] = rand ( ) % 60; } for ( i = 0; i < T; i++ ) { vezes = 1; j = i + 1; while ( j < T ) if ( A [ j ] != A [ i ] ) j++; else { vezes++; V--; A [ j ] = A [ T ]; } if ( vezes > 1 ) { return ( 0 ); } } return ( 0 ); } int Me_Ga_Se_na ( int x, int y, int Megasena [ 6 ] [ 10 ] ) { int **pont; pont = ( int** ) malloc ( 60 * sizeof(int**) ); *pont = *Megasena; printf ( " %3d ", Megasena [ x ] [ y ] ); return ( 0 ); } void Sub_Titulos ( int x, char *Mat_Mesg [ ] ) { printf ( "%s\n", Mat_Mesg [ x ] ); } int Val_Apos_tas ( int x, int Me_ga [ 10 ] ) { int *p_t = 0; p_t = Me_ga; printf ( "%d\n", p_t [ x ] ); return ( 0 ); } int Val_Ap_os_tas ( int x, float M_eg_a [ 5 ] ) { float *ptr = 0; ptr = M_eg_a; printf ( "%.5f\n", ptr [ x ] ); return ( 0 ); } int Val_Apostas ( int x, float Mega [ 5 ] ) { float *pt = 0; pt = Mega; printf ( "%.2f\n", pt [ x ] ); return ( 0 ); } int Meg_Sen ( char num [ 4 ] ) { unsigned int i; for ( i = 0; i < strlen ( num ); i++ ) { if ( num [ i ] < '0' || num [ i ] > '9' ) return 0; } return 1; } int main ( ) { system ( "title PROGRAMA MEGA SENA" ); char num [ 4 ]; char n_um [ 4 ]; int Vetor [ tam ], Vet [ tam ], Vet_o_r [ tam ]; int aut, *A, i, j, k = 0, h = 0, n = 0, n1 = 0, q = 0, x = 0, y = 0, erro = 0; A = ( int* ) malloc ( n * sizeof ( int ) ); static char *Mat_Mesg [ ] = { "PROGRAMA MEGA SENA" ,//0 "Veja abaixo os 60 números da Mega sena" ,//1 "Escolha quantos números deseja jogar " ,//2 "Não é possível jogar menos de" ,//3 "números" ,//4 "Nem mais que " ,//5 "num bilhete" ,//6 " Você escolheu jogar" ,//7 " O valor da aposta será " ,//8 "PRESSIONE QUALQUER TECLA" ,//9 "Jogue o " ,//10 "Número : " ,//11 "Números menores que 1 não são aceitos" ,//12 "Nem maiores que 60" ,//13 "Você já escolheu o número " ,//14 "Veja abaixo os Números jogados até aqui ",//15 "Números jogados" ,//16 "Números sorteados" ,//17 "Você não acertou nenhum número" ,//18 "Você acertou " ,//19 "veja abaixo" ,//20 "Você digitou: " ,//21 "Isso não é um número válido !" ,//22 "Por:" ,//23 "Samuel Lima" ,//24 "MUITO OBRIGADO" };//25 int Me_ga [ 10 ] = { 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }; float Mega [ 5 ] = { 2.50, 17.50, 70.00, 210.00, 525.00 }; float M_eg_a [ 5 ] = { 1.15500, 2.31000, 4.29000, 7.50750, 12.51250 }; int Megasena [ 6 ] [ 10 ] = { { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }, { 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 }, { 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 }, { 31, 32, 33, 34, 35, 36, 37, 38, 39, 40 }, { 41, 42, 43, 44, 45, 46, 47, 48, 49, 50 }, { 51, 52, 53, 54, 55, 56, 57, 58, 59, 60 }}; do { Moldura ( 2, 25, 3, 79 ); textcolor ( LIGHTRED ); gotoxy ( 33, 3 ); Sub_Titulos ( 0, Mat_Mesg ); textcolor ( LIGHTBLUE ); gotoxy ( 24, 5 ); Sub_Titulos ( 1, Mat_Mesg ); textcolor ( BLACK ); for ( i = 0; i < 6; i++ ) { gotoxy ( 16, i + 7 ); for ( j = 0; j < 10; j++ ) { Me_Ga_Se_na ( i, j, Megasena ); } } textcolor ( LIGHTBLUE ); gotoxy ( 24, 14 ); Sub_Titulos ( 2, Mat_Mesg ); textcolor ( LIGHTRED ); gotoxy ( 61, 14 ); gets ( num ); fflush ( stdin ); n = atoi ( num ); if ( Meg_Sen ( num ) == 0 ) { textcolor ( BLACK ); gotoxy ( 30, 16 ); Sub_Titulos ( 22, Mat_Mesg ); Sleep ( 1000 ); gotoxy ( 33, 23 ); textcolor ( LIGHTRED ); Sub_Titulos ( 9, Mat_Mesg ); getche ( ); gotoxy ( 30, 16 ); clreol ( ); gotoxy ( 30, 17 ); clreol ( ); gotoxy ( 61, 14 ); clreol ( ); gotoxy ( 30, 19 ); clreol ( ); erro = 0; continue; } if ( n < Me_ga [ 0 ] || n > Me_ga [ 9 ] ) { textcolor ( LIGHTBLUE ); gotoxy ( 24, 16 ); Sub_Titulos ( 3, Mat_Mesg ); textcolor ( LIGHTRED ); gotoxy ( 53, 16 ); printf ( " %d", Me_ga [ 0 ] ); textcolor ( LIGHTBLUE ); gotoxy ( 56, 16 ); Sub_Titulos ( 4, Mat_Mesg ); textcolor ( LIGHTBLUE ); gotoxy ( 24, 17 ); Sub_Titulos ( 5, Mat_Mesg ); textcolor ( LIGHTRED ); gotoxy ( 37, 17 ); printf ( "%d", Me_ga [ 9 ] ); textcolor ( LIGHTBLUE ); gotoxy ( 40, 17 ); Sub_Titulos ( 6, Mat_Mesg ); Sleep ( 1000 ); gotoxy ( 30, 23 ); textcolor ( LIGHTRED ); Sub_Titulos ( 9, Mat_Mesg ); getche ( ); } } while ( ( n < Me_ga [ 0 ] ) || ( n > Me_ga [ 9 ] ) ); if ( n == Me_ga [ 0 ] ) { textcolor ( LIGHTBLUE ); gotoxy ( 12, 16 ); Sub_Titulos ( 7, Mat_Mesg ); textcolor ( LIGHTRED ); gotoxy ( 33, 16 ); Val_Apos_tas ( 0, Me_ga ); textcolor ( LIGHTBLUE ); gotoxy ( 36, 16 ); Sub_Titulos ( 4, Mat_Mesg ); gotoxy ( 12, 17 ); Sub_Titulos ( 8, Mat_Mesg ); textcolor ( LIGHTRED ); gotoxy ( 36, 17 ); Val_Apostas ( 0, Mega ); } if ( n == Me_ga [ 1 ] ) { textcolor ( LIGHTBLUE ); gotoxy ( 12, 16 ); Sub_Titulos ( 7, Mat_Mesg ); textcolor ( LIGHTRED ); gotoxy ( 33, 16 ); Val_Apos_tas ( 1, Me_ga ); textcolor ( LIGHTBLUE ); gotoxy ( 36, 16 ); Sub_Titulos ( 4, Mat_Mesg ); gotoxy ( 12, 17 ); Sub_Titulos ( 8, Mat_Mesg ); textcolor ( LIGHTRED ); gotoxy ( 36, 17 ); Val_Apostas ( 1, Mega ); } if ( n == Me_ga [ 2 ] ) { textcolor ( LIGHTBLUE ); gotoxy ( 12, 16 ); Sub_Titulos ( 7, Mat_Mesg ); textcolor ( LIGHTRED ); gotoxy ( 33, 16 ); Val_Apos_tas ( 2, Me_ga ); textcolor ( LIGHTBLUE ); gotoxy ( 36, 16 ); Sub_Titulos ( 4, Mat_Mesg ); gotoxy ( 12, 17 ); Sub_Titulos ( 8, Mat_Mesg ); textcolor ( LIGHTRED ); gotoxy ( 36, 17 ); Val_Apostas ( 2, Mega ); } if ( n == Me_ga [ 3 ] ) { textcolor ( LIGHTBLUE ); gotoxy ( 12, 16 ); Sub_Titulos ( 7, Mat_Mesg ); textcolor ( LIGHTRED ); gotoxy ( 33, 16 ); Val_Apos_tas ( 3, Me_ga ); textcolor ( LIGHTBLUE ); gotoxy ( 36, 16 ); Sub_Titulos ( 4, Mat_Mesg ); gotoxy ( 12, 17 ); Sub_Titulos ( 8, Mat_Mesg ); textcolor ( LIGHTRED ); gotoxy ( 36, 17 ); Val_Apostas ( 3, Mega ); } if ( n == Me_ga [ 4 ] ) { textcolor ( LIGHTBLUE ); gotoxy ( 12, 16 ); Sub_Titulos ( 7, Mat_Mesg ); textcolor ( LIGHTRED ); gotoxy ( 33, 16 ); Val_Apos_tas ( 4, Me_ga ); textcolor ( LIGHTBLUE ); gotoxy ( 36, 16 ); Sub_Titulos ( 4, Mat_Mesg ); gotoxy ( 12, 17 ); Sub_Titulos ( 8, Mat_Mesg ); textcolor ( LIGHTRED ); gotoxy ( 36, 17 ); Val_Apostas ( 4, Mega ); } if ( n == Me_ga [ 5 ] ) { textcolor ( LIGHTBLUE ); gotoxy ( 12, 16 ); Sub_Titulos ( 7, Mat_Mesg ); textcolor ( LIGHTRED ); gotoxy ( 33, 16 ); Val_Apos_tas ( 5, Me_ga ); textcolor ( LIGHTBLUE ); gotoxy ( 36, 16 ); Sub_Titulos ( 4, Mat_Mesg ); gotoxy ( 12, 17 ); Sub_Titulos ( 8, Mat_Mesg ); textcolor ( LIGHTRED ); gotoxy ( 36, 17 ); Val_Ap_os_tas ( 0, M_eg_a ); } if ( n == Me_ga [ 6 ] ) { textcolor ( LIGHTBLUE ); gotoxy ( 12, 16 ); Sub_Titulos ( 7, Mat_Mesg ); textcolor ( LIGHTRED ); gotoxy ( 33, 16 ); Val_Apos_tas ( 6, Me_ga ); textcolor ( LIGHTBLUE ); gotoxy ( 36, 16 ); Sub_Titulos ( 4, Mat_Mesg ); gotoxy ( 12, 17 ); Sub_Titulos ( 8, Mat_Mesg ); textcolor ( LIGHTRED ); gotoxy ( 36, 17 ); Val_Ap_os_tas ( 1, M_eg_a ); } if ( n == Me_ga [ 7 ] ) { textcolor ( LIGHTBLUE ); gotoxy ( 12, 16 ); Sub_Titulos ( 7, Mat_Mesg ); textcolor ( LIGHTRED ); gotoxy ( 33, 16 ); Val_Apos_tas ( 7, Me_ga ); textcolor ( LIGHTBLUE ); gotoxy ( 36, 16 ); Sub_Titulos ( 4, Mat_Mesg ); gotoxy ( 12, 17 ); Sub_Titulos ( 8, Mat_Mesg ); textcolor ( LIGHTRED ); gotoxy ( 36, 17 ); Val_Ap_os_tas ( 2, M_eg_a ); } if ( n == Me_ga [ 8 ] ) { textcolor ( LIGHTBLUE ); gotoxy ( 12, 16 ); Sub_Titulos ( 7, Mat_Mesg ); textcolor ( LIGHTRED ); gotoxy ( 33, 16 ); Val_Apos_tas ( 8, Me_ga ); textcolor ( LIGHTBLUE ); gotoxy ( 36, 16 ); Sub_Titulos ( 4, Mat_Mesg ); gotoxy ( 12, 17 ); Sub_Titulos ( 8, Mat_Mesg ); textcolor ( LIGHTRED ); gotoxy ( 36, 17 ); Val_Ap_os_tas ( 3, M_eg_a ); } if ( n == Me_ga [ 9 ] ) { textcolor ( LIGHTBLUE ); gotoxy ( 12, 16 ); Sub_Titulos ( 7, Mat_Mesg ); textcolor ( LIGHTRED ); gotoxy ( 33, 16 ); Val_Apos_tas ( 9, Me_ga ); textcolor ( LIGHTBLUE ); gotoxy ( 36, 16 ); Sub_Titulos ( 4, Mat_Mesg ); gotoxy ( 12, 17 ); Sub_Titulos ( 8, Mat_Mesg ); textcolor ( LIGHTRED ); gotoxy ( 36, 17 ); Val_Ap_os_tas ( 4, M_eg_a ); } Sleep ( 1000 ); gotoxy ( 30, 23 ); textcolor ( LIGHTRED ); Sub_Titulos ( 9, Mat_Mesg ); getche ( ); for ( i = 0; i < n; i++ ) { do { do { Moldura ( 2, 25, 3, 79 ); textcolor ( LIGHTRED ); gotoxy ( 33, 3 ); Sub_Titulos ( 0, Mat_Mesg ); textcolor ( LIGHTBLUE ); gotoxy ( 32, 5 ); Sub_Titulos ( 10, Mat_Mesg ); textcolor ( LIGHTRED ); gotoxy ( 40, 5 ); printf ( "%do", i + 1 ); textcolor ( LIGHTBLUE ); gotoxy ( 44, 5 ); Sub_Titulos ( 4, Mat_Mesg ); textcolor ( LIGHTRED ); gotoxy ( 53, 5 ); gets ( n_um ); fflush ( stdin ); n1 = atoi ( n_um ); if ( Meg_Sen ( n_um ) == 0 ) { textcolor ( BLACK ); gotoxy ( 30, 16 ); Sub_Titulos ( 22, Mat_Mesg ); textcolor ( BLACK ); Sleep ( 1000 ); gotoxy ( 30, 23 ); textcolor ( LIGHTRED ); Sub_Titulos ( 9, Mat_Mesg ); getche ( ); gotoxy ( 30, 12 ); clreol ( ); gotoxy ( 30, 13 ); clreol ( ); gotoxy ( 53, 5 ); clreol ( ); gotoxy ( 30, 19 ); clreol ( ); erro = 0; continue; } if ( n1 < 1 || n1 > 60 ) { textcolor ( LIGHTBLUE ); gotoxy ( 24, 7 ); Sub_Titulos ( 12, Mat_Mesg ); textcolor ( LIGHTBLUE ); gotoxy ( 24, 8 ); Sub_Titulos ( 13, Mat_Mesg ); gotoxy ( 30, 23 ); textcolor ( LIGHTRED ); Sub_Titulos ( 9, Mat_Mesg ); getche ( ); continue; } } while ( ( n1 < 1 ) || ( n1 > 60 ) ); aut = 0; for ( j = 0; j < n; j++ ) if ( n1 == A [ j ] ) aut = 1; if ( aut == 0 ) { A [ i ] = n1; Vetor [ x ] = A [ i ]; x++; } else { textcolor ( LIGHTBLUE ); gotoxy ( 22, 7 ); Sub_Titulos ( 14, Mat_Mesg ); textcolor ( LIGHTRED ); gotoxy ( 47, 7 ); printf ( " %d", n1 ); textcolor ( LIGHTBLUE ); gotoxy ( 22, 9 ); Sub_Titulos ( 15, Mat_Mesg ); k = x; textcolor ( LIGHTRED ); gotoxy ( 22, 11 ); for ( x = 0; x < k; x++ ) printf ( " %i ", Vetor [ x ] ); textcolor ( LIGHTRED ); gotoxy ( 32, 23 ); Sub_Titulos ( 9, Mat_Mesg ); getche ( ); } } while ( aut == 1 ); } textcolor ( LIGHTBLUE ); gotoxy ( 22, 7 ); Sub_Titulos ( 16, Mat_Mesg ); textcolor ( LIGHTRED ); gotoxy ( 22, 9 ); for ( i = 0; i < n; i++ ) { printf ( " %d ", A [ i ] ); Vet_o_r [ q ] = A [ i ]; q++; } Sleep ( 800 ); y = Sorteia_Mega_Sena ( A ); textcolor ( LIGHTBLUE ); gotoxy ( 22, 11 ); Sub_Titulos ( 17, Mat_Mesg ); textcolor ( LIGHTRED ); gotoxy ( 22, 13 ); for ( i = 0; i < T; i++ ) { printf ( " %d ", A [ i ] + 1 ); } Sleep ( 800 ); for ( i = 0; i < n; i++ ) { for ( q = 0; q < n; q++ ) { if ( A [ i ] + 1 == Vet_o_r [ q ] ) { Vet [ h ] = Vet_o_r [ q ]; h++; } } } k = h; if ( k == 0 ) { textcolor ( BLACK ); gotoxy ( 23, 15 ); Sub_Titulos ( 18, Mat_Mesg ); Sleep ( 1800 ); textcolor ( WHITE ); gotoxy ( 35, 23 ); Sub_Titulos ( 19, Mat_Mesg ); Sleep ( 800 ); exit ( 0 ); } if ( k == h ) { textcolor ( LIGHTBLUE ); gotoxy ( 22, 15 ); Sub_Titulos ( 19, Mat_Mesg ); textcolor ( LIGHTRED ); gotoxy ( 35, 15 ); printf ( "%d", k ); textcolor ( LIGHTBLUE ); gotoxy ( 38, 15 ); Sub_Titulos ( 4, Mat_Mesg ); textcolor ( LIGHTBLUE ); gotoxy ( 46, 15 ); Sub_Titulos ( 20, Mat_Mesg ); } textcolor ( LIGHTRED ); gotoxy ( 22, 17 ); for ( h = 0; h < k; h++ ) printf ( " %i ", Vet [ h ] ); Sleep ( 1800 ); textcolor ( LIGHTRED ); gotoxy ( 35, 21 ); Sub_Titulos ( 23, Mat_Mesg ); textcolor ( BLACK ); gotoxy ( 41, 21 ); Sub_Titulos ( 24, Mat_Mesg ); textcolor ( LIGHTRED ); gotoxy ( 35, 23 ); Sub_Titulos ( 25, Mat_Mesg ); getche ( ); free ( A ); return ( 0 ); }
  19. Olaa. Minha duvida é sobre como faço para salva um dado de um arquivo.txt em uma struct varias vezes, abaixo a ideia de como tenho que fazer typedef struct escola{ char sexo; \\H ou M para o sexo int idade; char nome[30]; } Escola; Ai como eu faria para armazenar os dados que eu recebo de um arquivo.txt? Eu queria tentar armazenar em um vetor de Escola. O dados do arquivo.txt seriam tipo assim M 18 Maria H 21 Jose M 30 Ana Vitoria M 15 Sophia ... Se alguém poder me ajudar ficarei muito grato. Obrigado.
  20. Menu Selecionável Neste tutorial você vai aprender a criar um menu selecionável no CMD. Utilizando as setas direcionais para cima e para baixo, o usuário irá poder escolher a opção desejada teclando ENTER. Requisitos: Biblioteca <conio2.h> ↳ Caso não queira fazer a utilização dessa biblioteca, irei mostrar outra forma de usar a função para criar o menu. Código: Imagens: Obs: Caso não queira fazer a utilização da biblioteca <conio2.h>, basta criar a função gotoxy da seguinte forma #include <windows.h> void gotoxy(int x, int y) { COORD c; c.X = x; c.Y = y; SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c); }
  21. ASCII-ART Venho trazer uma dica muito útil para a galera que mexe com o CMD e gostaria de fazer ascii-art. Não tem ideia do que seja ascii-art? Bom, já viu aqueles desenhos feitos no CMD? Então, isso é definido como ascii-art! Exemplo: Passo a passo: Abra o gerador de ascii-art, coloque seu texto e escolha uma arte; Copie e cole em um bloco de notas junto com seu projeto; Crie uma função no seu programa para ler as strings no bloco de notas e imprimir no CMD. Função para ler arquivo e imprimir a arte: void ascii-art(){ FILE *arq; char txt[128]; int contador=0; if((arq=fopen("nome_bloco_notas.txt", "r"))==0){ puts("Erro"); }else{ while(fgets(txt, sizeof(txt), arq)!=NULL){ contador++; gotoxy(14,contador);printf("%s", txt); //gotoxy: Função da biblioteca <conio2.h>. Foi utilizada para centralizar a arte. } } }
  22. Alguém sabe me responder por que na terceira opção de "Banco de dados dos funcionários" na também terceira opção do menu de "Alterar os dados de um funcionários" quando vou alterar o número do usuário acima do 1 ele não faz a alteração? #include<stdlib.h> #include<stdio.h> #include<math.h> #include<conio.h> #include<locale.h> #include<string.h> #define tam 2 #define mtam 10 int qtdfuncionario = 0; int qtdmercadoria = 0; int Mercado = 0; struct Mercado{ int nFuncionario, estoque; char nome[30], item[50], cpf[11]; float valor, peso; }; // // Aqui os files // struct Mercado Smercado[tam]; void op1(int i); void op2(); void op3(); void op4(); void op5(); int main (void){ int menu1, x; setlocale(LC_ALL, "Portuguese"); char pause = 'n'; while(pause == 'n'){ printf(" >>Supermercado<< \n\n"); printf("Digite (1) para Cadastrar os funcionários. "); printf("\nDigite (2) para Cadastrar uma mercadoria. "); printf("\nDigite (3) para Banco de dados dos funcionários. "); printf("\nDigite (4) para Banco de dados das mercadorias. "); printf("\nDigite (3) para Sair\n"); scanf("%i", &menu1); switch(menu1){ case 1: if(qtdfuncionario < tam){ op1(qtdfuncionario); }else { printf("Quantidade maxima de funcionários. "); system("pause"); system("cls"); } break; case 2: if(qtdmercadoria < mtam ){ op2(); }else { printf("Quantidade maxima de mercadoria cadastrada. "); system("pause"); system("cls"); } break; case 3: if(qtdfuncionario){ op3(); }else { printf("Nenhum funcionário registrado. "); system("pause"); system("cls"); } break; case 4: if(qtdmercadoria){ op4(); }else { printf("Quantidade maxima de mercadoria cadastrada. "); system("pause"); system("cls"); } break; case 5: pause = 's'; break; default: printf("Opção inválida. por favor tente novamente."); system("pause"); system("cls"); } } printf("Programa finalizado!"); } void op1(int i){ system("cls"); printf(" >>Cadastro de funcionários<< \n\n"); printf("Digite o nome do funcionário: "); scanf("%s", &Smercado[i].nome); while(1){ printf("Digite o número do funcionário: "); scanf("%i", &Smercado[i].nFuncionario); if((Smercado[i].nFuncionario < 1) || (Smercado[i].nFuncionario > 20)) printf("\nOs números para registro são somente de 1 a 20. (POR ENQUANTO ESTÁ SO 2)\n"); else break; } while (2){ printf("Digite o CPF do funcionário: "); scanf("%s", &Smercado[i].cpf); system("cls"); if(strlen (Smercado[i].cpf) != 11) printf("\n\t\tCPF inválido ou não contém os 11 números. \n\t\tPorfavor digite novamente.\n\n"); else break; } qtdfuncionario++; } void op2(){ //Digite (2) para Cadastrar uma mercadoria. int i; char RESPOSTA, s, n; // s = Sim, n = Não system("cls"); printf(" >>Cadastro de Mercadoria<< \n\n"); printf("Digite o nome do Item: "); scanf("%s", &Smercado[i].item); printf("Digite a quantia no Estoque: "); scanf("%i", &Smercado[i].estoque); printf("Você deseja adicionar peso ao produto? (Digite 1 para Sim e 2 para Não) "); //Não consegui colocar em char 's' para sim e 'n' para não. scanf("%i", &RESPOSTA); if (RESPOSTA == 1 ){ printf("Digite o Peso do Item: "); scanf("%f", &Smercado[i].peso); printf("Digite o Valor do produto: "); scanf("%f", &Smercado[i].valor); } else if (RESPOSTA == 2){ printf("Digite o valor do produto: "); scanf("%f", &Smercado[i].valor); } system("cls"); qtdmercadoria++; } void op3(){ int i, menu, recb = 0, lista_nFuncionario; char pauseop3, RESP[3]; recb = qtdfuncionario; system("cls"); printf(" >>Registro de Funcionários<< \n\n"); printf("Digite (1) para visualizar o número total de funcionários cadastrados. "); printf("\nDigite (2) para visualizar o nome e seus números de cadastro. "); printf("\nDigite (3) para alterar os dados de um funcionário. "); printf("\nDigite (4) para excluir o registro de um ou de todos os funcionários. \n"); scanf("%i", &menu); switch(menu){ case 1: // Total de funcionários trabalhando printf("Total de funcionários: %i\n", recb); break; case 2: // Visualizar os seus números de cadastro e nome printf("\n\t Funcionários:\n"); for(i=0; i<qtdfuncionario; i++){ printf("\n %i - %s ",i, Smercado[i].nome); } break; case 3: // Registro de cadastro - Alterar system("cls"); if(!qtdfuncionario){ printf("Não existe nenhum funcionário cadastrado"); }else{ printf("\n\t\t\t >> Clientes cadastrados << \n"); printf("\t \n"); for(i=0; i<qtdfuncionario; i++){ printf("\t\t| Nº | Nome | CPF |\n"); printf("\t\t| %02i | %s | %s |\n", Smercado[i].nFuncionario, Smercado[i].nome, Smercado[i].cpf); } printf("\nInforme qual cliente deseja alterar: "); scanf("%i", &i); i--; printf("Digite o nome do funcionário: "); scanf("%s", &Smercado[i].nome); printf("Digite o número do funcionário: "); scanf("%i", &Smercado[i].nFuncionario); while (1){ printf("Digite o CPF do funcionário: "); scanf("%s", &Smercado[i].cpf); system("cls"); if(strlen (Smercado[i].cpf) != 11) printf("\n\t\tCPF inválido ou não contém os 11 números. \n\t\tPorfavor digite novamente.\n\n"); else break; } } } } void op4(){ } Sabendo que: (Não sei porque) 1 = 0 2 = 1 3 = 2 ... Eu coloquei "i--;" pra sempre diminuir 1. Se eu não colocar ele não altera nem o 1 número.
  23. Olá. Estou usando o codeBlocks e o MinGW e quero definir um tamanho para a tela do console para quando compilar e não deixar que o usuário redimensione o tamanho da tela, é possível fazer isso?
  24. Gente, eu to passando muita dificuldade pra entender strings em C, preciso fazer um código q eu dou entrada em 16 valores (q são tanto números, quanto letras), cada valor lido vai ter um resultado diferente, porém quando o próximo valor for zero ele tem q finalizar a execução e apenas executar os resultados respectivos dos valores já lidos. Na lógica que eu montei eu criei uma função pra tentar fazer isso sem ter q colocar uma sequencia de mil e um "if" e "else" porque são mais ou menos 20 valores diferentes que podem ser combinados com vários outros valores e isso é código dms pra digitar, por isso tentei fazer usando só uma função em q eu chamasse o código, passasse os parametros e via se daria certo, porém o código n funcionou, refiz a lógica já umas 6 vezes, em nenhum momento deu certo e a única vez q de forma ilusória pareceu dar mais certo foi essa: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <locale.h> char* leitor(char vl1[], char vl2[], char c1[], char resultado[]) { if(strcmp(vl1, c1)) //comparação entre duas strings, pra ver se o valor 1 recebido comparado ao valor q é respectivo ao resultado é esse, se não fosse ele simplesmente daria retorno nulo { if(strcmp(vl2, "0")) //comparação entre o próximo valor e o valor 0, se for igual ele executa a ação do valor 1, se { return resultado; } else { return 0; } } else { return 0; } } int main() { setlocale(LC_ALL, "Portuguese"); int c=0; char v[16][200]; printf("Digite os 16 valores: \n"); while(c<16) { c = ++c; printf("Bloco %i: ", c); gets(v[c]); } printf("Ações: %s", leitor(v[1], v[2], "1", "feliz")); return 0; } O código ta dando sempre como resultado nulo, e se por algum motivo eu troco o valor do parametro c1[] pra "10" e o zero sendo comparado com o vl2 pra "00" o resultado sempre é "feliz" independente da lógica ser certa ou n, me socorram, acredito q o problema seja com as strings, a forma q declarei elas ou qualquer coisa assim, agradeço desde já s2
  25. Boas, Eu sou muito novo na programação, por isso talvez estas questões sejam muito estupidas mas aqui ficam: 1º - Imaginando que faço uma estrutura de um cliente em que tem o nome, numero telemovel e a idade. Coloco os dados, mas por acaso mais tarde reparo que me enganei no nº telemóvel e pretendo alterar. Como faço? 2º - Pretendo criar uma Queue/Fila/Lista de espera. Já vi alguns tutoriais na internet, mas não consegui encontrar nenhum que explicasse como eliminar um componente que não seja o 1º ou o ultimo. Por exemplo, 5 pessoas na fila e quero remover o 3º. Cumprimentos,

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×